*, ::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 / 0.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 / 0.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:  ;
}/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*//*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box; /* 1 */
  border-width: 0; /* 2 */
  border-style: solid; /* 2 */
  border-color: #e5e7eb; /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
5. Use the user's configured `sans` font-feature-settings by default.
6. Use the user's configured `sans` font-variation-settings by default.
7. Disable tap highlights on iOS
*/

html,
:host {
  line-height: 1.5; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  font-family: var(--font-body); /* 4 */
  font-feature-settings: normal; /* 5 */
  font-variation-settings: normal; /* 6 */
  -webkit-tap-highlight-color: transparent; /* 7 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0; /* 1 */
  line-height: inherit; /* 2 */
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0; /* 1 */
  color: inherit; /* 2 */
  border-top-width: 1px; /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font-family by default.
2. Use the user's configured `mono` font-feature-settings by default.
3. Use the user's configured `mono` font-variation-settings by default.
4. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; /* 1 */
  font-feature-settings: normal; /* 2 */
  font-variation-settings: normal; /* 3 */
  font-size: 1em; /* 4 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0; /* 1 */
  border-color: inherit; /* 2 */
  border-collapse: collapse; /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-feature-settings: inherit; /* 1 */
  font-variation-settings: inherit; /* 1 */
  font-size: 100%; /* 1 */
  font-weight: inherit; /* 1 */
  line-height: inherit; /* 1 */
  letter-spacing: inherit; /* 1 */
  color: inherit; /* 1 */
  margin: 0; /* 2 */
  padding: 0; /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
input:where([type='button']),
input:where([type='reset']),
input:where([type='submit']) {
  -webkit-appearance: button; /* 1 */
  background-color: transparent; /* 2 */
  background-image: none; /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

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;
}

/*
Reset default styling for dialogs.
*/
dialog {
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder, textarea::-moz-placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1; /* 1 */
  color: #9ca3af; /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role="button"] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/
:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

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

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

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

/* Make elements with the HTML hidden attribute stay hidden by default */
[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}
.\!container {
  width: 100% !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 1rem !important;
  padding-left: 1rem !important;
}
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 1rem;
  padding-left: 1rem;
}
@media (min-width: 100%) {

  .\!container {
    max-width: 100% !important;
  }

  .container {
    max-width: 100%;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
.pointer-events-none {
  pointer-events: none;
}
.visible {
  visibility: visible;
}
.invisible {
  visibility: hidden;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.sticky {
  position: sticky;
}
.inset-0 {
  inset: 0px;
}
.inset-y-0 {
  top: 0px;
  bottom: 0px;
}
.-bottom-4 {
  bottom: -1rem;
}
.-left-4 {
  left: -1rem;
}
.-right-4 {
  right: -1rem;
}
.-top-4 {
  top: -1rem;
}
.-top-\[9999px\] {
  top: -9999px;
}
.bottom-0 {
  bottom: 0px;
}
.bottom-2\.5 {
  bottom: 0.625rem;
}
.bottom-20 {
  bottom: 5rem;
}
.bottom-3 {
  bottom: 0.75rem;
}
.bottom-4 {
  bottom: 1rem;
}
.bottom-8 {
  bottom: 2rem;
}
.left-0 {
  left: 0px;
}
.left-2\.5 {
  left: 0.625rem;
}
.left-3 {
  left: 0.75rem;
}
.left-4 {
  left: 1rem;
}
.left-5 {
  left: 1.25rem;
}
.right-0 {
  right: 0px;
}
.right-2\.5 {
  right: 0.625rem;
}
.right-3 {
  right: 0.75rem;
}
.right-4 {
  right: 1rem;
}
.right-8 {
  right: 2rem;
}
.top-0 {
  top: 0px;
}
.top-1\/2 {
  top: 50%;
}
.top-2\.5 {
  top: 0.625rem;
}
.top-24 {
  top: 6rem;
}
.top-3 {
  top: 0.75rem;
}
.top-4 {
  top: 1rem;
}
.top-5 {
  top: 1.25rem;
}
.top-\[33px\] {
  top: 33px;
}
.top-full {
  top: 100%;
}
.z-0 {
  z-index: 0;
}
.z-10 {
  z-index: 10;
}
.z-20 {
  z-index: 20;
}
.z-50 {
  z-index: 50;
}
.z-\[100\] {
  z-index: 100;
}
.z-\[60\] {
  z-index: 60;
}
.z-\[70\] {
  z-index: 70;
}
.col-span-full {
  grid-column: 1 / -1;
}
.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.mx-1\.5 {
  margin-left: 0.375rem;
  margin-right: 0.375rem;
}
.mx-auto {
  margin-left: auto;
  margin-right: auto;
}
.\!mb-0 {
  margin-bottom: 0px !important;
}
.\!mb-1 {
  margin-bottom: 0.25rem !important;
}
.\!mb-1\.5 {
  margin-bottom: 0.375rem !important;
}
.\!mb-2 {
  margin-bottom: 0.5rem !important;
}
.-mt-1 {
  margin-top: -0.25rem;
}
.-mt-16 {
  margin-top: -4rem;
}
.-mt-2 {
  margin-top: -0.5rem;
}
.-mt-8 {
  margin-top: -2rem;
}
.mb-0\.5 {
  margin-bottom: 0.125rem;
}
.mb-1 {
  margin-bottom: 0.25rem;
}
.mb-1\.5 {
  margin-bottom: 0.375rem;
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.mb-14 {
  margin-bottom: 3.5rem;
}
.mb-2 {
  margin-bottom: 0.5rem;
}
.mb-2\.5 {
  margin-bottom: 0.625rem;
}
.mb-3 {
  margin-bottom: 0.75rem;
}
.mb-4 {
  margin-bottom: 1rem;
}
.mb-5 {
  margin-bottom: 1.25rem;
}
.mb-6 {
  margin-bottom: 1.5rem;
}
.mb-8 {
  margin-bottom: 2rem;
}
.ml-0\.5 {
  margin-left: 0.125rem;
}
.ml-10 {
  margin-left: 2.5rem;
}
.ml-3 {
  margin-left: 0.75rem;
}
.ml-auto {
  margin-left: auto;
}
.mr-0\.5 {
  margin-right: 0.125rem;
}
.mr-1 {
  margin-right: 0.25rem;
}
.mr-auto {
  margin-right: auto;
}
.mt-0 {
  margin-top: 0px;
}
.mt-0\.5 {
  margin-top: 0.125rem;
}
.mt-1 {
  margin-top: 0.25rem;
}
.mt-1\.5 {
  margin-top: 0.375rem;
}
.mt-10 {
  margin-top: 2.5rem;
}
.mt-12 {
  margin-top: 3rem;
}
.mt-14 {
  margin-top: 3.5rem;
}
.mt-16 {
  margin-top: 4rem;
}
.mt-2 {
  margin-top: 0.5rem;
}
.mt-2\.5 {
  margin-top: 0.625rem;
}
.mt-20 {
  margin-top: 5rem;
}
.mt-3 {
  margin-top: 0.75rem;
}
.mt-4 {
  margin-top: 1rem;
}
.mt-5 {
  margin-top: 1.25rem;
}
.mt-6 {
  margin-top: 1.5rem;
}
.mt-7 {
  margin-top: 1.75rem;
}
.mt-8 {
  margin-top: 2rem;
}
.mt-9 {
  margin-top: 2.25rem;
}
.mt-auto {
  margin-top: auto;
}
.line-clamp-1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.line-clamp-2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.line-clamp-3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}
.table {
  display: table;
}
.\!grid {
  display: grid !important;
}
.grid {
  display: grid;
}
.hidden {
  display: none;
}
.aspect-\[16\/9\] {
  aspect-ratio: 16/9;
}
.aspect-\[4\/3\] {
  aspect-ratio: 4/3;
}
.aspect-\[4\/5\] {
  aspect-ratio: 4/5;
}
.aspect-video {
  aspect-ratio: 16 / 9;
}
.\!h-11 {
  height: 2.75rem !important;
}
.\!h-auto {
  height: auto !important;
}
.h-1 {
  height: 0.25rem;
}
.h-1\.5 {
  height: 0.375rem;
}
.h-10 {
  height: 2.5rem;
}
.h-11 {
  height: 2.75rem;
}
.h-12 {
  height: 3rem;
}
.h-14 {
  height: 3.5rem;
}
.h-16 {
  height: 4rem;
}
.h-20 {
  height: 5rem;
}
.h-24 {
  height: 6rem;
}
.h-3\.5 {
  height: 0.875rem;
}
.h-4 {
  height: 1rem;
}
.h-5 {
  height: 1.25rem;
}
.h-52 {
  height: 13rem;
}
.h-56 {
  height: 14rem;
}
.h-6 {
  height: 1.5rem;
}
.h-7 {
  height: 1.75rem;
}
.h-8 {
  height: 2rem;
}
.h-9 {
  height: 2.25rem;
}
.h-\[280px\] {
  height: 280px;
}
.h-\[2px\] {
  height: 2px;
}
.h-\[31px\] {
  height: 31px;
}
.h-\[340px\] {
  height: 340px;
}
.h-\[56px\] {
  height: 56px;
}
.h-\[60px\] {
  height: 60px;
}
.h-\[70vh\] {
  height: 70vh;
}
.h-\[76px\] {
  height: 76px;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.h-px {
  height: 1px;
}
.max-h-24 {
  max-height: 6rem;
}
.max-h-\[520px\] {
  max-height: 520px;
}
.max-h-\[70vh\] {
  max-height: 70vh;
}
.max-h-\[85vh\] {
  max-height: 85vh;
}
.max-h-\[86vh\] {
  max-height: 86vh;
}
.max-h-\[calc\(100dvh-56px\)\] {
  max-height: calc(100dvh - 56px);
}
.max-h-\[calc\(100vh-7rem\)\] {
  max-height: calc(100vh - 7rem);
}
.min-h-0 {
  min-height: 0px;
}
.min-h-\[220px\] {
  min-height: 220px;
}
.min-h-\[280px\] {
  min-height: 280px;
}
.min-h-\[28px\] {
  min-height: 28px;
}
.min-h-\[3\.4em\] {
  min-height: 3.4em;
}
.min-h-\[320px\] {
  min-height: 320px;
}
.min-h-\[4\.25rem\] {
  min-height: 4.25rem;
}
.min-h-\[4\.5rem\] {
  min-height: 4.5rem;
}
.min-h-\[40px\] {
  min-height: 40px;
}
.min-h-\[44px\] {
  min-height: 44px;
}
.min-h-\[560px\] {
  min-height: 560px;
}
.min-h-\[60vh\] {
  min-height: 60vh;
}
.min-h-\[92vh\] {
  min-height: 92vh;
}
.min-h-screen {
  min-height: 100vh;
}
.\!w-auto {
  width: auto !important;
}
.w-0 {
  width: 0px;
}
.w-1 {
  width: 0.25rem;
}
.w-1\.5 {
  width: 0.375rem;
}
.w-10 {
  width: 2.5rem;
}
.w-11 {
  width: 2.75rem;
}
.w-12 {
  width: 3rem;
}
.w-14 {
  width: 3.5rem;
}
.w-16 {
  width: 4rem;
}
.w-2 {
  width: 0.5rem;
}
.w-20 {
  width: 5rem;
}
.w-24 {
  width: 6rem;
}
.w-28 {
  width: 7rem;
}
.w-3\.5 {
  width: 0.875rem;
}
.w-4 {
  width: 1rem;
}
.w-5 {
  width: 1.25rem;
}
.w-6 {
  width: 1.5rem;
}
.w-64 {
  width: 16rem;
}
.w-7 {
  width: 1.75rem;
}
.w-72 {
  width: 18rem;
}
.w-8 {
  width: 2rem;
}
.w-80 {
  width: 20rem;
}
.w-9 {
  width: 2.25rem;
}
.w-\[270px\] {
  width: 270px;
}
.w-\[88px\] {
  width: 88px;
}
.w-\[calc\(100vw-2rem\)\] {
  width: calc(100vw - 2rem);
}
.w-full {
  width: 100%;
}
.w-max {
  width: -moz-max-content;
  width: max-content;
}
.w-px {
  width: 1px;
}
.min-w-0 {
  min-width: 0px;
}
.min-w-\[148px\] {
  min-width: 148px;
}
.min-w-\[18rem\] {
  min-width: 18rem;
}
.min-w-\[20rem\] {
  min-width: 20rem;
}
.max-w-2xl {
  max-width: 42rem;
}
.max-w-3xl {
  max-width: 48rem;
}
.max-w-4xl {
  max-width: 56rem;
}
.max-w-\[1400px\] {
  max-width: 1400px;
}
.max-w-\[180px\] {
  max-width: 180px;
}
.max-w-\[22rem\] {
  max-width: 22rem;
}
.max-w-\[380px\] {
  max-width: 380px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[90\%\] {
  max-width: 90%;
}
.max-w-\[92vw\] {
  max-width: 92vw;
}
.max-w-full {
  max-width: 100%;
}
.max-w-lg {
  max-width: 32rem;
}
.max-w-md {
  max-width: 28rem;
}
.max-w-none {
  max-width: none;
}
.max-w-sm {
  max-width: 24rem;
}
.max-w-xl {
  max-width: 36rem;
}
.max-w-xs {
  max-width: 20rem;
}
.flex-1 {
  flex: 1 1 0%;
}
.flex-shrink-0 {
  flex-shrink: 0;
}
.shrink-0 {
  flex-shrink: 0;
}
.grow {
  flex-grow: 1;
}
.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-0 {
  --tw-translate-y: 0px;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-10 {
  --tw-translate-y: 2.5rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.translate-y-8 {
  --tw-translate-y: 2rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.scale-100 {
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.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)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
@keyframes spin {

  to {
    transform: rotate(360deg);
  }
}
.animate-spin {
  animation: spin 1s linear infinite;
}
.cursor-default {
  cursor: default;
}
.cursor-grab {
  cursor: grab;
}
.cursor-pointer {
  cursor: pointer;
}
.touch-manipulation {
  touch-action: manipulation;
}
.select-none {
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.resize-none {
  resize: none;
}
.resize-y {
  resize: vertical;
}
.snap-x {
  scroll-snap-type: x var(--tw-scroll-snap-strictness);
}
.snap-mandatory {
  --tw-scroll-snap-strictness: mandatory;
}
.snap-start {
  scroll-snap-align: start;
}
.list-none {
  list-style-type: none;
}
.columns-2 {
  -moz-columns: 2;
       columns: 2;
}
.break-inside-avoid {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
}
.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.flex-col {
  flex-direction: column;
}
.flex-wrap {
  flex-wrap: wrap;
}
.content-stretch {
  align-content: stretch;
}
.items-start {
  align-items: flex-start;
}
.items-end {
  align-items: flex-end;
}
.items-center {
  align-items: center;
}
.items-baseline {
  align-items: baseline;
}
.items-stretch {
  align-items: stretch;
}
.justify-start {
  justify-content: flex-start;
}
.justify-end {
  justify-content: flex-end;
}
.justify-center {
  justify-content: center;
}
.justify-between {
  justify-content: space-between;
}
.gap-0 {
  gap: 0px;
}
.gap-0\.5 {
  gap: 0.125rem;
}
.gap-1 {
  gap: 0.25rem;
}
.gap-1\.5 {
  gap: 0.375rem;
}
.gap-10 {
  gap: 2.5rem;
}
.gap-14 {
  gap: 3.5rem;
}
.gap-2 {
  gap: 0.5rem;
}
.gap-2\.5 {
  gap: 0.625rem;
}
.gap-3 {
  gap: 0.75rem;
}
.gap-4 {
  gap: 1rem;
}
.gap-5 {
  gap: 1.25rem;
}
.gap-6 {
  gap: 1.5rem;
}
.gap-8 {
  gap: 2rem;
}
.gap-9 {
  gap: 2.25rem;
}
.gap-px {
  gap: 1px;
}
.gap-x-4 {
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}
.gap-x-5 {
  -moz-column-gap: 1.25rem;
       column-gap: 1.25rem;
}
.gap-x-6 {
  -moz-column-gap: 1.5rem;
       column-gap: 1.5rem;
}
.gap-y-1 {
  row-gap: 0.25rem;
}
.gap-y-2 {
  row-gap: 0.5rem;
}
.space-y-0\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.125rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.125rem * var(--tw-space-y-reverse));
}
.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));
}
.space-y-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));
}
.space-y-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.5rem * var(--tw-space-y-reverse));
}
.space-y-2\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.625rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.625rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));
}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(0.875rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(0.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-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));
}
.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}
.divide-\[\#dcd8cc\] > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(220 216 204 / var(--tw-divide-opacity, 1));
}
.divide-\[\#e5e5e5\] > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-divide-opacity, 1));
}
.self-start {
  align-self: flex-start;
}
.self-stretch {
  align-self: stretch;
}
.overflow-auto {
  overflow: auto;
}
.overflow-hidden {
  overflow: hidden;
}
.overflow-x-auto {
  overflow-x: auto;
}
.overflow-y-auto {
  overflow-y: auto;
}
.overscroll-contain {
  overscroll-behavior: contain;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.whitespace-nowrap {
  white-space: nowrap;
}
.whitespace-pre-line {
  white-space: pre-line;
}
.whitespace-pre-wrap {
  white-space: pre-wrap;
}
.break-all {
  word-break: break-all;
}
.\!rounded-none {
  border-radius: 0px !important;
}
.rounded {
  border-radius: 0.25rem;
}
.rounded-2xl {
  border-radius: 1rem;
}
.rounded-\[1\.35rem\] {
  border-radius: 1.35rem;
}
.rounded-full {
  border-radius: 9999px;
}
.rounded-lg {
  border-radius: 12px;
}
.rounded-md {
  border-radius: 8px;
}
.rounded-sm {
  border-radius: 0.125rem;
}
.rounded-xl {
  border-radius: 0.75rem;
}
.rounded-l-2xl {
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
}
.rounded-r-xl {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}
.border {
  border-width: 1px;
}
.border-0 {
  border-width: 0px;
}
.border-2 {
  border-width: 2px;
}
.border-x-0 {
  border-left-width: 0px;
  border-right-width: 0px;
}
.border-y {
  border-top-width: 1px;
  border-bottom-width: 1px;
}
.border-b {
  border-bottom-width: 1px;
}
.border-l {
  border-left-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-dashed {
  border-style: dashed;
}
.\!border-primary-100 {
  --tw-border-opacity: 1 !important;
  border-color: oklch(var(--primary-100) / var(--tw-border-opacity, 1)) !important;
}
.\!border-primary-100\/80 {
  border-color: oklch(var(--primary-100) / 0.8) !important;
}
.\!border-primary-200 {
  --tw-border-opacity: 1 !important;
  border-color: oklch(var(--primary-200) / var(--tw-border-opacity, 1)) !important;
}
.border-\[\#0a1158\] {
  --tw-border-opacity: 1;
  border-color: rgb(10 17 88 / var(--tw-border-opacity, 1));
}
.border-\[\#0a1158\]\/15 {
  border-color: rgb(10 17 88 / 0.15);
}
.border-\[\#12182a\]\/30 {
  border-color: rgb(18 24 42 / 0.3);
}
.border-\[\#c9a04e\]\/50 {
  border-color: rgb(201 160 78 / 0.5);
}
.border-\[\#c9a04e\]\/60 {
  border-color: rgb(201 160 78 / 0.6);
}
.border-\[\#dcd8cc\] {
  --tw-border-opacity: 1;
  border-color: rgb(220 216 204 / var(--tw-border-opacity, 1));
}
.border-\[\#e5e5e5\] {
  --tw-border-opacity: 1;
  border-color: rgb(229 229 229 / var(--tw-border-opacity, 1));
}
.border-\[\#e5e5e5\]\/60 {
  border-color: rgb(229 229 229 / 0.6);
}
.border-\[\#e5e5e5\]\/80 {
  border-color: rgb(229 229 229 / 0.8);
}
.border-\[\#ffd600\] {
  --tw-border-opacity: 1;
  border-color: rgb(255 214 0 / var(--tw-border-opacity, 1));
}
.border-\[\#ffd600\]\/35 {
  border-color: rgb(255 214 0 / 0.35);
}
.border-accent-200 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--accent-200) / var(--tw-border-opacity, 1));
}
.border-accent-200\/80 {
  border-color: oklch(var(--accent-200) / 0.8);
}
.border-background-200 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--background-200) / var(--tw-border-opacity, 1));
}
.border-background-200\/80 {
  border-color: oklch(var(--background-200) / 0.8);
}
.border-background-300 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--background-300) / var(--tw-border-opacity, 1));
}
.border-background-50\/30 {
  border-color: oklch(var(--background-50) / 0.3);
}
.border-green-200 {
  --tw-border-opacity: 1;
  border-color: rgb(187 247 208 / var(--tw-border-opacity, 1));
}
.border-green-200\/80 {
  border-color: rgb(187 247 208 / 0.8);
}
.border-green-500 {
  --tw-border-opacity: 1;
  border-color: rgb(34 197 94 / var(--tw-border-opacity, 1));
}
.border-primary-100 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-100) / var(--tw-border-opacity, 1));
}
.border-primary-100\/80 {
  border-color: oklch(var(--primary-100) / 0.8);
}
.border-primary-200 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-200) / var(--tw-border-opacity, 1));
}
.border-primary-300 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-300) / var(--tw-border-opacity, 1));
}
.border-red-200\/80 {
  border-color: rgb(254 202 202 / 0.8);
}
.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgb(239 68 68 / var(--tw-border-opacity, 1));
}
.border-secondary-200 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--secondary-200) / var(--tw-border-opacity, 1));
}
.border-secondary-200\/80 {
  border-color: oklch(var(--secondary-200) / 0.8);
}
.border-secondary-300 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--secondary-300) / var(--tw-border-opacity, 1));
}
.border-slate-200 {
  --tw-border-opacity: 1;
  border-color: rgb(226 232 240 / var(--tw-border-opacity, 1));
}
.border-transparent {
  border-color: transparent;
}
.border-white\/10 {
  border-color: rgb(255 255 255 / 0.1);
}
.border-white\/15 {
  border-color: rgb(255 255 255 / 0.15);
}
.border-white\/20 {
  border-color: rgb(255 255 255 / 0.2);
}
.border-white\/25 {
  border-color: rgb(255 255 255 / 0.25);
}
.border-b-primary-500 {
  --tw-border-opacity: 1;
  border-bottom-color: oklch(var(--primary-500) / var(--tw-border-opacity, 1));
}
.border-t-\[\#0a1158\] {
  --tw-border-opacity: 1;
  border-top-color: rgb(10 17 88 / var(--tw-border-opacity, 1));
}
.border-t-primary-500 {
  --tw-border-opacity: 1;
  border-top-color: oklch(var(--primary-500) / var(--tw-border-opacity, 1));
}
.\!bg-primary-100 {
  --tw-bg-opacity: 1 !important;
  background-color: oklch(var(--primary-100) / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-primary-50 {
  --tw-bg-opacity: 1 !important;
  background-color: oklch(var(--primary-50) / var(--tw-bg-opacity, 1)) !important;
}
.\!bg-primary-50\/60 {
  background-color: oklch(var(--primary-50) / 0.6) !important;
}
.\!bg-primary-50\/80 {
  background-color: oklch(var(--primary-50) / 0.8) !important;
}
.bg-\[\#050710\] {
  --tw-bg-opacity: 1;
  background-color: rgb(5 7 16 / var(--tw-bg-opacity, 1));
}
.bg-\[\#070d3d\] {
  --tw-bg-opacity: 1;
  background-color: rgb(7 13 61 / var(--tw-bg-opacity, 1));
}
.bg-\[\#080b14\] {
  --tw-bg-opacity: 1;
  background-color: rgb(8 11 20 / var(--tw-bg-opacity, 1));
}
.bg-\[\#080b14\]\/0 {
  background-color: rgb(8 11 20 / 0);
}
.bg-\[\#080b14\]\/90 {
  background-color: rgb(8 11 20 / 0.9);
}
.bg-\[\#0a1158\] {
  --tw-bg-opacity: 1;
  background-color: rgb(10 17 88 / var(--tw-bg-opacity, 1));
}
.bg-\[\#0a1158\]\/10 {
  background-color: rgb(10 17 88 / 0.1);
}
.bg-\[\#0a1158\]\/90 {
  background-color: rgb(10 17 88 / 0.9);
}
.bg-\[\#0a1158\]\/\[0\.06\] {
  background-color: rgb(10 17 88 / 0.06);
}
.bg-\[\#12182a\] {
  --tw-bg-opacity: 1;
  background-color: rgb(18 24 42 / var(--tw-bg-opacity, 1));
}
.bg-\[\#1c9c8e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(28 156 142 / var(--tw-bg-opacity, 1));
}
.bg-\[\#340F6E\]\/80 {
  background-color: rgb(52 15 110 / 0.8);
}
.bg-\[\#c9a04e\] {
  --tw-bg-opacity: 1;
  background-color: rgb(201 160 78 / var(--tw-bg-opacity, 1));
}
.bg-\[\#dcd8cc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(220 216 204 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e3e0d8\] {
  --tw-bg-opacity: 1;
  background-color: rgb(227 224 216 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e5e5e5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(229 229 229 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e8eaf5\] {
  --tw-bg-opacity: 1;
  background-color: rgb(232 234 245 / var(--tw-bg-opacity, 1));
}
.bg-\[\#e8eaf5\]\/60 {
  background-color: rgb(232 234 245 / 0.6);
}
.bg-\[\#eee\] {
  --tw-bg-opacity: 1;
  background-color: rgb(238 238 238 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f3f1ec\] {
  --tw-bg-opacity: 1;
  background-color: rgb(243 241 236 / var(--tw-bg-opacity, 1));
}
.bg-\[\#f7f8fc\] {
  --tw-bg-opacity: 1;
  background-color: rgb(247 248 252 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ffd600\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 214 0 / var(--tw-bg-opacity, 1));
}
.bg-\[\#ffd600\]\/10 {
  background-color: rgb(255 214 0 / 0.1);
}
.bg-\[\#ffd600\]\/15 {
  background-color: rgb(255 214 0 / 0.15);
}
.bg-\[\#ffffff\] {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-accent-100 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--accent-100) / var(--tw-bg-opacity, 1));
}
.bg-accent-400 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--accent-400) / var(--tw-bg-opacity, 1));
}
.bg-accent-50 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--accent-50) / var(--tw-bg-opacity, 1));
}
.bg-background-100 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-100) / var(--tw-bg-opacity, 1));
}
.bg-background-200 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-200) / var(--tw-bg-opacity, 1));
}
.bg-background-300 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-300) / var(--tw-bg-opacity, 1));
}
.bg-background-50 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-50) / var(--tw-bg-opacity, 1));
}
.bg-black\/20 {
  background-color: rgb(0 0 0 / 0.2);
}
.bg-black\/40 {
  background-color: rgb(0 0 0 / 0.4);
}
.bg-blue-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 246 255 / var(--tw-bg-opacity, 1));
}
.bg-gray-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1));
}
.bg-green-100 {
  --tw-bg-opacity: 1;
  background-color: rgb(220 252 231 / var(--tw-bg-opacity, 1));
}
.bg-green-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
}
.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
}
.bg-pink-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(253 242 248 / var(--tw-bg-opacity, 1));
}
.bg-primary-100 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-100) / var(--tw-bg-opacity, 1));
}
.bg-primary-50 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-50) / var(--tw-bg-opacity, 1));
}
.bg-primary-50\/40 {
  background-color: oklch(var(--primary-50) / 0.4);
}
.bg-primary-50\/80 {
  background-color: oklch(var(--primary-50) / 0.8);
}
.bg-primary-50\/90 {
  background-color: oklch(var(--primary-50) / 0.9);
}
.bg-primary-500 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-500) / var(--tw-bg-opacity, 1));
}
.bg-primary-950 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-950) / var(--tw-bg-opacity, 1));
}
.bg-primary-950\/90 {
  background-color: oklch(var(--primary-950) / 0.9);
}
.bg-red-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(254 242 242 / var(--tw-bg-opacity, 1));
}
.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(239 68 68 / var(--tw-bg-opacity, 1));
}
.bg-secondary-100 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--secondary-100) / var(--tw-bg-opacity, 1));
}
.bg-secondary-50 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--secondary-50) / var(--tw-bg-opacity, 1));
}
.bg-secondary-50\/50 {
  background-color: oklch(var(--secondary-50) / 0.5);
}
.bg-sky-50 {
  --tw-bg-opacity: 1;
  background-color: rgb(240 249 255 / var(--tw-bg-opacity, 1));
}
.bg-transparent {
  background-color: transparent;
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.bg-white\/10 {
  background-color: rgb(255 255 255 / 0.1);
}
.bg-white\/15 {
  background-color: rgb(255 255 255 / 0.15);
}
.bg-white\/5 {
  background-color: rgb(255 255 255 / 0.05);
}
.bg-white\/50 {
  background-color: rgb(255 255 255 / 0.5);
}
.bg-white\/70 {
  background-color: rgb(255 255 255 / 0.7);
}
.bg-white\/75 {
  background-color: rgb(255 255 255 / 0.75);
}
.bg-white\/80 {
  background-color: rgb(255 255 255 / 0.8);
}
.bg-white\/85 {
  background-color: rgb(255 255 255 / 0.85);
}
.bg-white\/90 {
  background-color: rgb(255 255 255 / 0.9);
}
.bg-white\/95 {
  background-color: rgb(255 255 255 / 0.95);
}
.bg-white\/\[0\.03\] {
  background-color: rgb(255 255 255 / 0.03);
}
.bg-white\/\[0\.06\] {
  background-color: rgb(255 255 255 / 0.06);
}
.\!bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops)) !important;
}
.bg-gradient-to-b {
  background-image: linear-gradient(to bottom, var(--tw-gradient-stops));
}
.bg-gradient-to-br {
  background-image: linear-gradient(to bottom right, var(--tw-gradient-stops));
}
.bg-gradient-to-l {
  background-image: linear-gradient(to left, 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));
}
.from-\[\#050710\] {
  --tw-gradient-from: #050710 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 7 16 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#050710\]\/95 {
  --tw-gradient-from: rgb(5 7 16 / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(5 7 16 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#080b14\] {
  --tw-gradient-from: #080b14 var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(8 11 20 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-\[\#0a1158\]\/70 {
  --tw-gradient-from: rgb(10 17 88 / 0.7) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(10 17 88 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-black\/85 {
  --tw-gradient-from: rgb(0 0 0 / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-500 {
  --tw-gradient-from: oklch(var(--primary-500) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: oklch(var(--primary-500) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-600 {
  --tw-gradient-from: oklch(var(--primary-600) / 1) var(--tw-gradient-from-position);
  --tw-gradient-to: oklch(var(--primary-600) / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-950\/80 {
  --tw-gradient-from: oklch(var(--primary-950) / 0.8) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-950\/85 {
  --tw-gradient-from: oklch(var(--primary-950) / 0.85) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-primary-950\/95 {
  --tw-gradient-from: oklch(var(--primary-950) / 0.95) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.from-white\/60 {
  --tw-gradient-from: rgb(255 255 255 / 0.6) var(--tw-gradient-from-position);
  --tw-gradient-to: rgb(255 255 255 / 0) var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.via-\[\#080b14\]\/40 {
  --tw-gradient-to: rgb(8 11 20 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(8 11 20 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-\[\#080b14\]\/70 {
  --tw-gradient-to: rgb(8 11 20 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(8 11 20 / 0.7) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-black\/40 {
  --tw-gradient-to: rgb(0 0 0 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), rgb(0 0 0 / 0.4) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary-950\/30 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), oklch(var(--primary-950) / 0.3) var(--tw-gradient-via-position), var(--tw-gradient-to);
}
.via-primary-950\/60 {
  --tw-gradient-to: rgb(255 255 255 / 0)  var(--tw-gradient-to-position);
  --tw-gradient-stops: var(--tw-gradient-from), oklch(var(--primary-950) / 0.6) 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);
}
.to-\[\#080b14\]\/20 {
  --tw-gradient-to: rgb(8 11 20 / 0.2) var(--tw-gradient-to-position);
}
.to-\[\#080b14\]\/30 {
  --tw-gradient-to: rgb(8 11 20 / 0.3) var(--tw-gradient-to-position);
}
.to-black\/10 {
  --tw-gradient-to: rgb(0 0 0 / 0.1) var(--tw-gradient-to-position);
}
.to-primary-700 {
  --tw-gradient-to: oklch(var(--primary-700) / 1) var(--tw-gradient-to-position);
}
.to-primary-800 {
  --tw-gradient-to: oklch(var(--primary-800) / 1) var(--tw-gradient-to-position);
}
.to-primary-950\/20 {
  --tw-gradient-to: oklch(var(--primary-950) / 0.2) var(--tw-gradient-to-position);
}
.to-transparent {
  --tw-gradient-to: transparent var(--tw-gradient-to-position);
}
.object-contain {
  -o-object-fit: contain;
     object-fit: contain;
}
.object-cover {
  -o-object-fit: cover;
     object-fit: cover;
}
.object-\[center_12\%\] {
  -o-object-position: center 12%;
     object-position: center 12%;
}
.object-center {
  -o-object-position: center;
     object-position: center;
}
.object-top {
  -o-object-position: top;
     object-position: top;
}
.p-1 {
  padding: 0.25rem;
}
.p-2 {
  padding: 0.5rem;
}
.p-2\.5 {
  padding: 0.625rem;
}
.p-3 {
  padding: 0.75rem;
}
.p-3\.5 {
  padding: 0.875rem;
}
.p-4 {
  padding: 1rem;
}
.p-5 {
  padding: 1.25rem;
}
.p-6 {
  padding: 1.5rem;
}
.p-8 {
  padding: 2rem;
}
.\!px-2\.5 {
  padding-left: 0.625rem !important;
  padding-right: 0.625rem !important;
}
.\!px-4 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}
.\!py-2 {
  padding-top: 0.5rem !important;
  padding-bottom: 0.5rem !important;
}
.px-1 {
  padding-left: 0.25rem;
  padding-right: 0.25rem;
}
.px-2 {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.px-2\.5 {
  padding-left: 0.625rem;
  padding-right: 0.625rem;
}
.px-3 {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.px-3\.5 {
  padding-left: 0.875rem;
  padding-right: 0.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: 0.125rem;
  padding-bottom: 0.125rem;
}
.py-1 {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
}
.py-1\.5 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}
.py-10 {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}
.py-16 {
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}
.py-2\.5 {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
}
.py-20 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
.py-24 {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.py-28 {
  padding-top: 7rem;
  padding-bottom: 7rem;
}
.py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}
.py-3\.5 {
  padding-top: 0.875rem;
  padding-bottom: 0.875rem;
}
.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}
.py-5 {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}
.py-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}
.py-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.\!pt-3 {
  padding-top: 0.75rem !important;
}
.pb-0 {
  padding-bottom: 0px;
}
.pb-1 {
  padding-bottom: 0.25rem;
}
.pb-10 {
  padding-bottom: 2.5rem;
}
.pb-16 {
  padding-bottom: 4rem;
}
.pb-2 {
  padding-bottom: 0.5rem;
}
.pb-2\.5 {
  padding-bottom: 0.625rem;
}
.pb-20 {
  padding-bottom: 5rem;
}
.pb-3 {
  padding-bottom: 0.75rem;
}
.pb-3\.5 {
  padding-bottom: 0.875rem;
}
.pb-4 {
  padding-bottom: 1rem;
}
.pb-5 {
  padding-bottom: 1.25rem;
}
.pb-6 {
  padding-bottom: 1.5rem;
}
.pb-8 {
  padding-bottom: 2rem;
}
.pl-11 {
  padding-left: 2.75rem;
}
.pl-2 {
  padding-left: 0.5rem;
}
.pl-2\.5 {
  padding-left: 0.625rem;
}
.pl-3 {
  padding-left: 0.75rem;
}
.pl-4 {
  padding-left: 1rem;
}
.pl-6 {
  padding-left: 1.5rem;
}
.pr-2 {
  padding-right: 0.5rem;
}
.pr-4 {
  padding-right: 1rem;
}
.pt-0 {
  padding-top: 0px;
}
.pt-0\.5 {
  padding-top: 0.125rem;
}
.pt-1 {
  padding-top: 0.25rem;
}
.pt-2 {
  padding-top: 0.5rem;
}
.pt-2\.5 {
  padding-top: 0.625rem;
}
.pt-20 {
  padding-top: 5rem;
}
.pt-24 {
  padding-top: 6rem;
}
.pt-3 {
  padding-top: 0.75rem;
}
.pt-3\.5 {
  padding-top: 0.875rem;
}
.pt-4 {
  padding-top: 1rem;
}
.pt-40 {
  padding-top: 10rem;
}
.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;
}
.text-right {
  text-align: right;
}
.align-top {
  vertical-align: top;
}
.font-\[\'Inter\'\] {
  font-family: 'Inter';
}
.font-heading {
  font-family: var(--font-display);
}
.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.\!text-sm {
  font-size: 0.875rem !important;
  line-height: 1.25rem !important;
}
.\!text-xs {
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}
.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-5xl {
  font-size: 3rem;
  line-height: 1;
}
.text-\[0\.65rem\] {
  font-size: 0.65rem;
}
.text-\[0\.75rem\] {
  font-size: 0.75rem;
}
.text-\[0\.7rem\] {
  font-size: 0.7rem;
}
.text-\[0\.8125rem\] {
  font-size: 0.8125rem;
}
.text-\[10px\] {
  font-size: 10px;
}
.text-\[11px\] {
  font-size: 11px;
}
.text-\[12px\] {
  font-size: 12px;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[13vw\] {
  font-size: 13vw;
}
.text-\[15px\] {
  font-size: 15px;
}
.text-\[6px\] {
  font-size: 6px;
}
.text-\[8rem\] {
  font-size: 8rem;
}
.text-\[clamp\(1\.35rem\2c 2\.5vw\2c 1\.85rem\)\] {
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
}
.text-\[clamp\(1\.45rem\2c 3vw\2c 2\.15rem\)\] {
  font-size: clamp(1.45rem, 3vw, 2.15rem);
}
.text-\[clamp\(1\.5rem\2c 2\.8vw\2c 2\.2rem\)\] {
  font-size: clamp(1.5rem, 2.8vw, 2.2rem);
}
.text-\[clamp\(1\.85rem\2c 3\.6vw\2c 3rem\)\] {
  font-size: clamp(1.85rem, 3.6vw, 3rem);
}
.text-base {
  font-size: 1rem;
  line-height: 1.5rem;
}
.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}
.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}
.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}
.text-xs {
  font-size: 0.75rem;
  line-height: 1rem;
}
.font-bold {
  font-weight: 700;
}
.font-extrabold {
  font-weight: 800;
}
.font-medium {
  font-weight: 500;
}
.font-semibold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.italic {
  font-style: italic;
}
.tabular-nums {
  --tw-numeric-spacing: tabular-nums;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}
.\!leading-snug {
  line-height: 1.375 !important;
}
.leading-\[0\.95\] {
  line-height: 0.95;
}
.leading-\[1\.08\] {
  line-height: 1.08;
}
.leading-\[1\.15\] {
  line-height: 1.15;
}
.leading-\[1\.1\] {
  line-height: 1.1;
}
.leading-none {
  line-height: 1;
}
.leading-relaxed {
  line-height: 1.625;
}
.leading-snug {
  line-height: 1.375;
}
.leading-tight {
  line-height: 1.25;
}
.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.tracking-\[0\.14em\] {
  letter-spacing: 0.14em;
}
.tracking-\[0\.1em\] {
  letter-spacing: 0.1em;
}
.tracking-\[0\.2em\] {
  letter-spacing: 0.2em;
}
.tracking-\[0\.3em\] {
  letter-spacing: 0.3em;
}
.tracking-normal {
  letter-spacing: 0em;
}
.tracking-tight {
  letter-spacing: -0.025em;
}
.tracking-wide {
  letter-spacing: 0.025em;
}
.tracking-wider {
  letter-spacing: 0.05em;
}
.tracking-widest {
  letter-spacing: 0.1em;
}
.\!text-\[\#ffd600\] {
  --tw-text-opacity: 1 !important;
  color: rgb(255 214 0 / var(--tw-text-opacity, 1)) !important;
}
.\!text-primary-800 {
  --tw-text-opacity: 1 !important;
  color: oklch(var(--primary-800) / var(--tw-text-opacity, 1)) !important;
}
.\!text-secondary-300 {
  --tw-text-opacity: 1 !important;
  color: oklch(var(--secondary-300) / var(--tw-text-opacity, 1)) !important;
}
.\!text-white {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}
.\!text-white\/85 {
  color: rgb(255 255 255 / 0.85) !important;
}
.text-\[\#0a0a0a\] {
  --tw-text-opacity: 1;
  color: rgb(10 10 10 / var(--tw-text-opacity, 1));
}
.text-\[\#0a1158\] {
  --tw-text-opacity: 1;
  color: rgb(10 17 88 / var(--tw-text-opacity, 1));
}
.text-\[\#0a1158\]\/25 {
  color: rgb(10 17 88 / 0.25);
}
.text-\[\#0a1158\]\/45 {
  color: rgb(10 17 88 / 0.45);
}
.text-\[\#12182a\] {
  --tw-text-opacity: 1;
  color: rgb(18 24 42 / var(--tw-text-opacity, 1));
}
.text-\[\#1c9c8e\] {
  --tw-text-opacity: 1;
  color: rgb(28 156 142 / var(--tw-text-opacity, 1));
}
.text-\[\#333333\] {
  --tw-text-opacity: 1;
  color: rgb(51 51 51 / var(--tw-text-opacity, 1));
}
.text-\[\#3a3f4b\] {
  --tw-text-opacity: 1;
  color: rgb(58 63 75 / var(--tw-text-opacity, 1));
}
.text-\[\#444444\] {
  --tw-text-opacity: 1;
  color: rgb(68 68 68 / var(--tw-text-opacity, 1));
}
.text-\[\#555555\] {
  --tw-text-opacity: 1;
  color: rgb(85 85 85 / var(--tw-text-opacity, 1));
}
.text-\[\#5b6270\] {
  --tw-text-opacity: 1;
  color: rgb(91 98 112 / var(--tw-text-opacity, 1));
}
.text-\[\#8a6a2c\] {
  --tw-text-opacity: 1;
  color: rgb(138 106 44 / var(--tw-text-opacity, 1));
}
.text-\[\#8a8f9a\] {
  --tw-text-opacity: 1;
  color: rgb(138 143 154 / var(--tw-text-opacity, 1));
}
.text-\[\#9096a3\] {
  --tw-text-opacity: 1;
  color: rgb(144 150 163 / var(--tw-text-opacity, 1));
}
.text-\[\#c9a04e\] {
  --tw-text-opacity: 1;
  color: rgb(201 160 78 / var(--tw-text-opacity, 1));
}
.text-\[\#ccc\] {
  --tw-text-opacity: 1;
  color: rgb(204 204 204 / var(--tw-text-opacity, 1));
}
.text-\[\#cfd3dd\] {
  --tw-text-opacity: 1;
  color: rgb(207 211 221 / var(--tw-text-opacity, 1));
}
.text-\[\#f7f6f3\] {
  --tw-text-opacity: 1;
  color: rgb(247 246 243 / var(--tw-text-opacity, 1));
}
.text-\[\#ffd600\] {
  --tw-text-opacity: 1;
  color: rgb(255 214 0 / var(--tw-text-opacity, 1));
}
.text-accent-600 {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-600) / var(--tw-text-opacity, 1));
}
.text-accent-700 {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-700) / var(--tw-text-opacity, 1));
}
.text-accent-800 {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-800) / var(--tw-text-opacity, 1));
}
.text-accent-900 {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-900) / var(--tw-text-opacity, 1));
}
.text-background-50 {
  --tw-text-opacity: 1;
  color: oklch(var(--background-50) / var(--tw-text-opacity, 1));
}
.text-background-50\/55 {
  color: oklch(var(--background-50) / 0.55);
}
.text-background-50\/70 {
  color: oklch(var(--background-50) / 0.7);
}
.text-background-50\/90 {
  color: oklch(var(--background-50) / 0.9);
}
.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgb(37 99 235 / var(--tw-text-opacity, 1));
}
.text-foreground-300 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-300) / var(--tw-text-opacity, 1));
}
.text-foreground-400 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-400) / var(--tw-text-opacity, 1));
}
.text-foreground-500 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-500) / var(--tw-text-opacity, 1));
}
.text-foreground-600 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-600) / var(--tw-text-opacity, 1));
}
.text-foreground-700 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-700) / var(--tw-text-opacity, 1));
}
.text-foreground-800 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-800) / var(--tw-text-opacity, 1));
}
.text-foreground-900 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-900) / var(--tw-text-opacity, 1));
}
.text-foreground-950 {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-950) / var(--tw-text-opacity, 1));
}
.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
.text-green-600 {
  --tw-text-opacity: 1;
  color: rgb(22 163 74 / var(--tw-text-opacity, 1));
}
.text-green-700 {
  --tw-text-opacity: 1;
  color: rgb(21 128 61 / var(--tw-text-opacity, 1));
}
.text-green-800 {
  --tw-text-opacity: 1;
  color: rgb(22 101 52 / var(--tw-text-opacity, 1));
}
.text-pink-600 {
  --tw-text-opacity: 1;
  color: rgb(219 39 119 / var(--tw-text-opacity, 1));
}
.text-primary-400 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-400) / var(--tw-text-opacity, 1));
}
.text-primary-500 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-500) / var(--tw-text-opacity, 1));
}
.text-primary-500\/10 {
  color: oklch(var(--primary-500) / 0.1);
}
.text-primary-600 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-600) / var(--tw-text-opacity, 1));
}
.text-primary-700 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-700) / var(--tw-text-opacity, 1));
}
.text-primary-800 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-800) / var(--tw-text-opacity, 1));
}
.text-primary-950 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-950) / var(--tw-text-opacity, 1));
}
.text-red-500 {
  --tw-text-opacity: 1;
  color: rgb(239 68 68 / var(--tw-text-opacity, 1));
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.text-red-800 {
  --tw-text-opacity: 1;
  color: rgb(153 27 27 / var(--tw-text-opacity, 1));
}
.text-secondary-300 {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-300) / var(--tw-text-opacity, 1));
}
.text-secondary-400 {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-400) / var(--tw-text-opacity, 1));
}
.text-secondary-600 {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-600) / var(--tw-text-opacity, 1));
}
.text-secondary-700 {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-700) / var(--tw-text-opacity, 1));
}
.text-secondary-800 {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-800) / var(--tw-text-opacity, 1));
}
.text-sky-600 {
  --tw-text-opacity: 1;
  color: rgb(2 132 199 / var(--tw-text-opacity, 1));
}
.text-slate-300 {
  --tw-text-opacity: 1;
  color: rgb(203 213 225 / var(--tw-text-opacity, 1));
}
.text-slate-400 {
  --tw-text-opacity: 1;
  color: rgb(148 163 184 / var(--tw-text-opacity, 1));
}
.text-slate-500 {
  --tw-text-opacity: 1;
  color: rgb(100 116 139 / var(--tw-text-opacity, 1));
}
.text-slate-600 {
  --tw-text-opacity: 1;
  color: rgb(71 85 105 / var(--tw-text-opacity, 1));
}
.text-slate-900 {
  --tw-text-opacity: 1;
  color: rgb(15 23 42 / var(--tw-text-opacity, 1));
}
.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}
.text-white\/35 {
  color: rgb(255 255 255 / 0.35);
}
.text-white\/40 {
  color: rgb(255 255 255 / 0.4);
}
.text-white\/45 {
  color: rgb(255 255 255 / 0.45);
}
.text-white\/50 {
  color: rgb(255 255 255 / 0.5);
}
.text-white\/60 {
  color: rgb(255 255 255 / 0.6);
}
.text-white\/65 {
  color: rgb(255 255 255 / 0.65);
}
.text-white\/70 {
  color: rgb(255 255 255 / 0.7);
}
.text-white\/75 {
  color: rgb(255 255 255 / 0.75);
}
.text-white\/80 {
  color: rgb(255 255 255 / 0.8);
}
.text-white\/90 {
  color: rgb(255 255 255 / 0.9);
}
.underline {
  text-decoration-line: underline;
}
.underline-offset-2 {
  text-underline-offset: 2px;
}
.opacity-0 {
  opacity: 0;
}
.opacity-100 {
  opacity: 1;
}
.opacity-30 {
  opacity: 0.3;
}
.opacity-40 {
  opacity: 0.4;
}
.opacity-50 {
  opacity: 0.5;
}
.opacity-60 {
  opacity: 0.6;
}
.opacity-70 {
  opacity: 0.7;
}
.opacity-80 {
  opacity: 0.8;
}
.opacity-85 {
  opacity: 0.85;
}
.opacity-\[0\.04\] {
  opacity: 0.04;
}
.opacity-\[0\.05\] {
  opacity: 0.05;
}
.mix-blend-overlay {
  mix-blend-mode: overlay;
}
.shadow-2xl {
  --tw-shadow: 0 25px 50px -12px rgb(0 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_12px_30px_-12px_rgba\(10\2c 17\2c 88\2c 0\.35\)\] {
  --tw-shadow: 0 12px 30px -12px rgba(10,17,88,0.35);
  --tw-shadow-colored: 0 12px 30px -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_12px_32px_rgba\(10\2c 17\2c 88\2c 0\.35\)\] {
  --tw-shadow: 0 12px 32px rgba(10,17,88,0.35);
  --tw-shadow-colored: 0 12px 32px 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_12px_36px_rgba\(10\2c 17\2c 88\2c 0\.08\)\] {
  --tw-shadow: 0 12px 36px rgba(10,17,88,0.08);
  --tw-shadow-colored: 0 12px 36px 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_12px_40px_rgba\(15\2c 23\2c 42\2c 0\.06\)\] {
  --tw-shadow: 0 12px 40px rgba(15,23,42,0.06);
  --tw-shadow-colored: 0 12px 40px 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_16px_40px_rgba\(20\2c 24\2c 40\2c 0\.1\)\] {
  --tw-shadow: 0 16px 40px rgba(20,24,40,0.1);
  --tw-shadow-colored: 0 16px 40px 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_20px_50px_-24px_rgba\(14\2c 26\2c 43\2c 0\.15\)\] {
  --tw-shadow: 0 20px 50px -24px rgba(14,26,43,0.15);
  --tw-shadow-colored: 0 20px 50px -24px 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_30px_60px_-20px_rgba\(0\2c 0\2c 0\2c 0\.5\)\] {
  --tw-shadow: 0 30px 60px -20px rgba(0,0,0,0.5);
  --tw-shadow-colored: 0 30px 60px -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-\[0_30px_60px_-20px_rgba\(8\2c 11\2c 20\2c 0\.35\)\] {
  --tw-shadow: 0 30px 60px -20px rgba(8,11,20,0.35);
  --tw-shadow-colored: 0 30px 60px -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-\[0_6px_16px_rgba\(10\2c 17\2c 88\2c 0\.28\)\] {
  --tw-shadow: 0 6px 16px rgba(10,17,88,0.28);
  --tw-shadow-colored: 0 6px 16px 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_6px_20px_rgba\(10\2c 17\2c 88\2c 0\.05\)\] {
  --tw-shadow: 0 6px 20px rgba(10,17,88,0.05);
  --tw-shadow-colored: 0 6px 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-\[0_8px_20px_rgba\(10\2c 17\2c 88\2c 0\.25\)\] {
  --tw-shadow: 0 8px 20px rgba(10,17,88,0.25);
  --tw-shadow-colored: 0 8px 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-\[0_8px_30px_rgba\(0\2c 0\2c 0\2c 0\.3\)\] {
  --tw-shadow: 0 8px 30px rgba(0,0,0,0.3);
  --tw-shadow-colored: 0 8px 30px 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 / 0.1), 0 4px 6px -4px rgb(0 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 / 0.1), 0 2px 4px -2px rgb(0 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-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 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 / 0.1), 0 8px 10px -6px rgb(0 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-primary-500\/25 {
  --tw-shadow-color: oklch(var(--primary-500) / 0.25);
  --tw-shadow: var(--tw-shadow-colored);
}
.ring {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-2 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-4 {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.ring-\[\#ffd600\]\/80 {
  --tw-ring-color: rgb(255 214 0 / 0.8);
}
.ring-primary-500\/10 {
  --tw-ring-color: oklch(var(--primary-500) / 0.1);
}
.contrast-125 {
  --tw-contrast: contrast(1.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-sm {
  --tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / 0.05));
  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);
}
.grayscale {
  --tw-grayscale: grayscale(100%);
  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);
}
.grayscale-\[30\%\] {
  --tw-grayscale: grayscale(30%);
  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);
}
.invert {
  --tw-invert: invert(100%);
  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-md {
  --tw-backdrop-blur: blur(12px);
  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-sm {
  --tw-backdrop-blur: blur(4px);
  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-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-colors {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.duration-1000 {
  transition-duration: 1000ms;
}
.duration-200 {
  transition-duration: 200ms;
}
.duration-300 {
  transition-duration: 300ms;
}
.duration-500 {
  transition-duration: 500ms;
}
.duration-700 {
  transition-duration: 700ms;
}
.duration-\[1400ms\] {
  transition-duration: 1400ms;
}
.ease-out {
  transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
}
.\[scrollbar-width\:none\] {
  scrollbar-width: none;
}

:root {
  /* FJSTI logo palette — faqat ko'k / sariq + qora / oq */
  --brand-navy: #0a1158;
  --brand-yellow: #ffd600;
  --brand-black: #0a0a0a;
  --brand-white: #ffffff;

  /* Primary = logo navy */
  --primary-50: 0.97 0.015 270;
  --primary-100: 0.93 0.03 270;
  --primary-200: 0.82 0.05 270;
  --primary-300: 0.62 0.08 270;
  --primary-400: 0.42 0.1 270;
  --primary-500: 0.28 0.1 270;
  --primary-600: 0.24 0.1 270;
  --primary-700: 0.2 0.09 270;
  --primary-800: 0.17 0.08 270;
  --primary-900: 0.14 0.07 270;
  --primary-950: 0.12 0.06 270;

  /* Secondary = logo yellow */
  --secondary-50: 0.99 0.03 100;
  --secondary-100: 0.97 0.06 100;
  --secondary-200: 0.94 0.12 100;
  --secondary-300: 0.92 0.15 100;
  --secondary-400: 0.9 0.17 100;
  --secondary-500: 0.88 0.18 100;
  --secondary-600: 0.78 0.16 100;
  --secondary-700: 0.62 0.13 100;
  --secondary-800: 0.45 0.09 100;
  --secondary-900: 0.32 0.06 100;
  --secondary-950: 0.22 0.04 100;

  --accent-50: 0.97 0.015 270;
  --accent-100: 0.93 0.03 270;
  --accent-200: 0.82 0.05 270;
  --accent-300: 0.62 0.08 270;
  --accent-400: 0.42 0.1 270;
  --accent-500: 0.28 0.1 270;
  --accent-600: 0.24 0.1 270;
  --accent-700: 0.2 0.09 270;
  --accent-800: 0.17 0.08 270;
  --accent-900: 0.14 0.07 270;
  --accent-950: 0.12 0.06 270;

  /* Oq fon */
  --background-50: 1 0 0;
  --background-100: 0.985 0.002 270;
  --background-200: 0.95 0.008 270;
  --background-300: 0.9 0.012 270;
  --background-400: 0.8 0.015 270;
  --background-500: 0.65 0.015 270;
  --background-600: 0.5 0.02 270;
  --background-700: 0.35 0.03 270;
  --background-800: 0.22 0.04 270;
  --background-900: 0.15 0.05 270;
  --background-950: 0.12 0.06 270;

  /* Qora matn */
  --foreground-50: 0.98 0 0;
  --foreground-100: 0.94 0 0;
  --foreground-200: 0.86 0 0;
  --foreground-300: 0.7 0 0;
  --foreground-400: 0.52 0 0;
  --foreground-500: 0.4 0 0;
  --foreground-600: 0.3 0 0;
  --foreground-700: 0.2 0 0;
  --foreground-800: 0.12 0 0;
  --foreground-900: 0.08 0 0;
  --foreground-950: 0.05 0 0;

  /* Modern sans — Manrope (sarlavha) + Source Sans 3 (matn) */
  --font-display: "Manrope", system-ui, sans-serif;
  --font-heading: "Manrope", system-ui, sans-serif;
  --font-body: "Source Sans 3", system-ui, sans-serif;
  --font-label: "Manrope", system-ui, sans-serif;
}

html {
  scroll-behavior: smooth;
  color-scheme: light;
  width: 100%;
  overflow-x: hidden;
  overflow-anchor: none;
  background: #f7f8fc;
}

body {
  font-family: var(--font-body);
  color: oklch(var(--foreground-800));
  background-color: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  line-height: 1.65;
  width: 100%;
  margin: 0;
  overflow-x: hidden;
}

@media (min-width: 768px) {
  body {
    font-size: 17px;
    line-height: 1.7;
  }
}

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

#root {
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background: transparent;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  letter-spacing: -0.02em;
  font-weight: 600;
  color: inherit;
  line-height: 1.15;
}

.prose-dark h1,
.prose-dark h2,
.prose-dark h3,
.prose-dark h4,
.prose-light h1,
.prose-light h2,
.prose-light h3,
.prose-light h4 {
  color: inherit;
}

.scrollbar-thin {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.scrollbar-thin::-webkit-scrollbar {
  display: none;
}

.hp-field-x9 {
  position: absolute;
  left: -9999px;
  top: -9999px;
  opacity: 0;
  pointer-events: none;
}

::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: oklch(var(--background-100));
}
::-webkit-scrollbar-thumb {
  background: oklch(var(--primary-300));
  border-radius: 4px;
}

@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

.animate-marquee {
  animation: marquee 32s linear infinite;
}

.animate-marquee:hover {
  animation-play-state: paused;
}

@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-in-up {
  animation: fade-in-up 0.9s var(--ease-out, cubic-bezier(0.22, 1, 0.36, 1)) both;
}

.file\:mr-3::file-selector-button {
  margin-right: 0.75rem;
}

.file\:rounded-xl::file-selector-button {
  border-radius: 0.75rem;
}

.file\:border-0::file-selector-button {
  border-width: 0px;
}

.file\:bg-primary-50::file-selector-button {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-50) / var(--tw-bg-opacity, 1));
}

.file\:px-4::file-selector-button {
  padding-left: 1rem;
  padding-right: 1rem;
}

.file\:py-2::file-selector-button {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.file\:text-sm::file-selector-button {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.file\:text-primary-700::file-selector-button {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-700) / var(--tw-text-opacity, 1));
}

.placeholder\:text-\[\#555555\]::-moz-placeholder {
  --tw-text-opacity: 1;
  color: rgb(85 85 85 / var(--tw-text-opacity, 1));
}

.placeholder\:text-\[\#555555\]::placeholder {
  --tw-text-opacity: 1;
  color: rgb(85 85 85 / var(--tw-text-opacity, 1));
}

.first\:pl-0:first-child {
  padding-left: 0px;
}

.first\:pt-0:first-child {
  padding-top: 0px;
}

.last\:border-0:last-child {
  border-width: 0px;
}

.hover\:-translate-y-0\.5:hover {
  --tw-translate-y: -0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:-translate-y-1:hover {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.hover\:border-\[\#12182a\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(18 24 42 / var(--tw-border-opacity, 1));
}

.hover\:border-\[\#c9a04e\]\/50:hover {
  border-color: rgb(201 160 78 / 0.5);
}

.hover\:border-\[\#c9a04e\]\/60:hover {
  border-color: rgb(201 160 78 / 0.6);
}

.hover\:border-\[\#ffd600\]:hover {
  --tw-border-opacity: 1;
  border-color: rgb(255 214 0 / var(--tw-border-opacity, 1));
}

.hover\:border-primary-200:hover {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-200) / var(--tw-border-opacity, 1));
}

.hover\:border-primary-300:hover {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-300) / var(--tw-border-opacity, 1));
}

.hover\:border-primary-400:hover {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-400) / var(--tw-border-opacity, 1));
}

.hover\:border-white\/50:hover {
  border-color: rgb(255 255 255 / 0.5);
}

.hover\:\!bg-primary-100:hover {
  --tw-bg-opacity: 1 !important;
  background-color: oklch(var(--primary-100) / var(--tw-bg-opacity, 1)) !important;
}

.hover\:bg-\[\#060a3d\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(6 10 61 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#0a1158\]\/15:hover {
  background-color: rgb(10 17 88 / 0.15);
}

.hover\:bg-\[\#17877b\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(23 135 123 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#e6c200\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(230 194 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#f0f4ff\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(240 244 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-\[\#ffd600\]:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 214 0 / var(--tw-bg-opacity, 1));
}

.hover\:bg-accent-50:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--accent-50) / var(--tw-bg-opacity, 1));
}

.hover\:bg-background-100:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-100) / var(--tw-bg-opacity, 1));
}

.hover\:bg-background-100\/80:hover {
  background-color: oklch(var(--background-100) / 0.8);
}

.hover\:bg-background-200:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-200) / var(--tw-bg-opacity, 1));
}

.hover\:bg-background-50:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--background-50) / var(--tw-bg-opacity, 1));
}

.hover\:bg-background-50\/10:hover {
  background-color: oklch(var(--background-50) / 0.1);
}

.hover\:bg-blue-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(219 234 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-200:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(229 231 235 / var(--tw-bg-opacity, 1));
}

.hover\:bg-pink-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(252 231 243 / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-100:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-100) / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-50:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-50) / var(--tw-bg-opacity, 1));
}

.hover\:bg-primary-50\/40:hover {
  background-color: oklch(var(--primary-50) / 0.4);
}

.hover\:bg-primary-50\/70:hover {
  background-color: oklch(var(--primary-50) / 0.7);
}

.hover\:bg-primary-600:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-600) / var(--tw-bg-opacity, 1));
}

.hover\:bg-red-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(254 226 226 / var(--tw-bg-opacity, 1));
}

.hover\:bg-secondary-100:hover {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--secondary-100) / var(--tw-bg-opacity, 1));
}

.hover\:bg-sky-100:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(224 242 254 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}

.hover\:bg-white\/10:hover {
  background-color: rgb(255 255 255 / 0.1);
}

.hover\:bg-white\/20:hover {
  background-color: rgb(255 255 255 / 0.2);
}

.hover\:bg-white\/5:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:bg-white\/90:hover {
  background-color: rgb(255 255 255 / 0.9);
}

.hover\:bg-white\/\[0\.03\]:hover {
  background-color: rgb(255 255 255 / 0.03);
}

.hover\:bg-white\/\[0\.04\]:hover {
  background-color: rgb(255 255 255 / 0.04);
}

.hover\:bg-white\/\[0\.05\]:hover {
  background-color: rgb(255 255 255 / 0.05);
}

.hover\:pl-3:hover {
  padding-left: 0.75rem;
}

.hover\:\!text-white:hover {
  --tw-text-opacity: 1 !important;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1)) !important;
}

.hover\:text-\[\#060a3d\]:hover {
  --tw-text-opacity: 1;
  color: rgb(6 10 61 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#0a1158\]:hover {
  --tw-text-opacity: 1;
  color: rgb(10 17 88 / var(--tw-text-opacity, 1));
}

.hover\:text-\[\#ffd600\]:hover {
  --tw-text-opacity: 1;
  color: rgb(255 214 0 / var(--tw-text-opacity, 1));
}

.hover\:text-accent-400:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-400) / var(--tw-text-opacity, 1));
}

.hover\:text-accent-600:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-600) / var(--tw-text-opacity, 1));
}

.hover\:text-accent-800:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--accent-800) / var(--tw-text-opacity, 1));
}

.hover\:text-foreground-900:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--foreground-900) / var(--tw-text-opacity, 1));
}

.hover\:text-primary-600:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-600) / var(--tw-text-opacity, 1));
}

.hover\:text-primary-700:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-700) / var(--tw-text-opacity, 1));
}

.hover\:text-primary-800:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-800) / var(--tw-text-opacity, 1));
}

.hover\:text-primary-900:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-900) / var(--tw-text-opacity, 1));
}

.hover\:text-secondary-700:hover {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-700) / var(--tw-text-opacity, 1));
}

.hover\:text-slate-800:hover {
  --tw-text-opacity: 1;
  color: rgb(30 41 59 / var(--tw-text-opacity, 1));
}

.hover\:text-white:hover {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  text-decoration-line: underline;
}

.hover\:opacity-90:hover {
  opacity: 0.9;
}

.hover\:shadow-\[0_10px_28px_rgba\(10\2c 17\2c 88\2c 0\.08\)\]:hover {
  --tw-shadow: 0 10px 28px rgba(10,17,88,0.08);
  --tw-shadow-colored: 0 10px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-\[0_10px_28px_rgba\(10\2c 17\2c 88\2c 0\.1\)\]:hover {
  --tw-shadow: 0 10px 28px rgba(10,17,88,0.1);
  --tw-shadow-colored: 0 10px 28px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:shadow-lg:hover {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 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);
}

.hover\:shadow-md:hover {
  --tw-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 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);
}

.hover\:shadow-sm:hover {
  --tw-shadow: 0 1px 2px 0 rgb(0 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);
}

.focus\:border-\[\#0a1158\]:focus {
  --tw-border-opacity: 1;
  border-color: rgb(10 17 88 / var(--tw-border-opacity, 1));
}

.focus\:border-primary-300:focus {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-300) / var(--tw-border-opacity, 1));
}

.focus\:border-primary-500:focus {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-500) / var(--tw-border-opacity, 1));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-4:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-\[\#0a1158\]\/15:focus {
  --tw-ring-color: rgb(10 17 88 / 0.15);
}

.focus\:ring-primary-100\/50:focus {
  --tw-ring-color: oklch(var(--primary-100) / 0.5);
}

.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}

.disabled\:cursor-wait:disabled {
  cursor: wait;
}

.disabled\:opacity-40:disabled {
  opacity: 0.4;
}

.disabled\:opacity-50:disabled {
  opacity: 0.5;
}

.disabled\:opacity-60:disabled {
  opacity: 0.6;
}

.group\/inner[open] .group-open\/inner\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group[open] .group-open\:rotate-180 {
  --tw-rotate: 180deg;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:flex {
  display: flex;
}

.group:hover .group-hover\:-translate-y-1 {
  --tw-translate-y: -0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-0\.5 {
  --tw-translate-x: 0.125rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:translate-x-1 {
  --tw-translate-x: 0.25rem;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(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)) skewX(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)) skewX(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\.03\] {
  --tw-scale-x: 1.03;
  --tw-scale-y: 1.03;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.group:hover .group-hover\:border-primary-500 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--primary-500) / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:border-secondary-500 {
  --tw-border-opacity: 1;
  border-color: oklch(var(--secondary-500) / var(--tw-border-opacity, 1));
}

.group:hover .group-hover\:bg-\[\#080b14\]\/30 {
  background-color: rgb(8 11 20 / 0.3);
}

.group:hover .group-hover\:bg-\[\#ffd600\]\/25 {
  background-color: rgb(255 214 0 / 0.25);
}

.group:hover .group-hover\:bg-primary-50 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-50) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-primary-500 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-500) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-primary-600 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-600) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-primary-700 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--primary-700) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:bg-secondary-50 {
  --tw-bg-opacity: 1;
  background-color: oklch(var(--secondary-50) / var(--tw-bg-opacity, 1));
}

.group:hover .group-hover\:text-\[\#0a1158\] {
  --tw-text-opacity: 1;
  color: rgb(10 17 88 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-\[\#0a1158\]\/45 {
  color: rgb(10 17 88 / 0.45);
}

.group:hover .group-hover\:text-\[\#8a6a2c\] {
  --tw-text-opacity: 1;
  color: rgb(138 106 44 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-\[\#c9a04e\] {
  --tw-text-opacity: 1;
  color: rgb(201 160 78 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-\[\#ffd600\] {
  --tw-text-opacity: 1;
  color: rgb(255 214 0 / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-background-50 {
  --tw-text-opacity: 1;
  color: oklch(var(--background-50) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-primary-600 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-600) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-primary-700 {
  --tw-text-opacity: 1;
  color: oklch(var(--primary-700) / var(--tw-text-opacity, 1));
}

.group:hover .group-hover\:text-secondary-700 {
  --tw-text-opacity: 1;
  color: oklch(var(--secondary-700) / 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;
}

.group:hover .group-hover\:grayscale-0 {
  --tw-grayscale: grayscale(0);
  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);
}

@media (min-width: 640px) {

  .sm\:mt-1 {
    margin-top: 0.25rem;
  }

  .sm\:inline {
    display: inline;
  }

  .sm\:h-11 {
    height: 2.75rem;
  }

  .sm\:min-h-\[260px\] {
    min-height: 260px;
  }

  .sm\:min-h-\[320px\] {
    min-height: 320px;
  }

  .sm\:w-11 {
    width: 2.75rem;
  }

  .sm\:w-auto {
    width: auto;
  }

  .sm\:flex-none {
    flex: none;
  }

  .sm\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .sm\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sm\:grid-cols-\[5rem_1fr_auto\] {
    grid-template-columns: 5rem 1fr auto;
  }

  .sm\:flex-row {
    flex-direction: row;
  }

  .sm\:flex-col {
    flex-direction: column;
  }

  .sm\:items-start {
    align-items: flex-start;
  }

  .sm\:items-end {
    align-items: flex-end;
  }

  .sm\:items-center {
    align-items: center;
  }

  .sm\:justify-end {
    justify-content: flex-end;
  }

  .sm\:justify-between {
    justify-content: space-between;
  }

  .sm\:gap-0 {
    gap: 0px;
  }

  .sm\:gap-2\.5 {
    gap: 0.625rem;
  }

  .sm\:gap-3 {
    gap: 0.75rem;
  }

  .sm\:gap-4 {
    gap: 1rem;
  }

  .sm\:gap-6 {
    gap: 1.5rem;
  }

  .sm\:gap-8 {
    gap: 2rem;
  }

  .sm\:divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  .sm\:divide-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  .sm\:self-auto {
    align-self: auto;
  }

  .sm\:border-r {
    border-right-width: 1px;
  }

  .sm\:px-4 {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .sm\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  .sm\:pb-10 {
    padding-bottom: 2.5rem;
  }

  .sm\:pb-4 {
    padding-bottom: 1rem;
  }

  .sm\:pb-6 {
    padding-bottom: 1.5rem;
  }

  .sm\:pt-5 {
    padding-top: 1.25rem;
  }

  .sm\:pt-8 {
    padding-top: 2rem;
  }

  .sm\:text-right {
    text-align: right;
  }

  .sm\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }
}

@media (min-width: 768px) {

  .md\:top-\[29px\] {
    top: 29px;
  }

  .md\:-mt-20 {
    margin-top: -5rem;
  }

  .md\:mb-6 {
    margin-bottom: 1.5rem;
  }

  .md\:flex {
    display: flex;
  }

  .md\:inline-flex {
    display: inline-flex;
  }

  .md\:h-12 {
    height: 3rem;
  }

  .md\:h-72 {
    height: 18rem;
  }

  .md\:h-\[320px\] {
    height: 320px;
  }

  .md\:h-\[440px\] {
    height: 440px;
  }

  .md\:h-\[64px\] {
    height: 64px;
  }

  .md\:min-h-\[380px\] {
    min-height: 380px;
  }

  .md\:w-12 {
    width: 3rem;
  }

  .md\:w-14 {
    width: 3.5rem;
  }

  .md\:w-\[300px\] {
    width: 300px;
  }

  .md\:columns-3 {
    -moz-columns: 3;
         columns: 3;
  }

  .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\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .md\:flex-row {
    flex-direction: row;
  }

  .md\:items-end {
    align-items: flex-end;
  }

  .md\:justify-between {
    justify-content: space-between;
  }

  .md\:gap-10 {
    gap: 2.5rem;
  }

  .md\:gap-3 {
    gap: 0.75rem;
  }

  .md\:gap-4 {
    gap: 1rem;
  }

  .md\:gap-5 {
    gap: 1.25rem;
  }

  .md\:space-y-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
  }

  .md\:divide-x > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-x-reverse: 0;
    border-right-width: calc(1px * var(--tw-divide-x-reverse));
    border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse)));
  }

  .md\:divide-y-0 > :not([hidden]) ~ :not([hidden]) {
    --tw-divide-y-reverse: 0;
    border-top-width: calc(0px * calc(1 - var(--tw-divide-y-reverse)));
    border-bottom-width: calc(0px * var(--tw-divide-y-reverse));
  }

  .md\:self-auto {
    align-self: auto;
  }

  .md\:border-r {
    border-right-width: 1px;
  }

  .md\:p-10 {
    padding: 2.5rem;
  }

  .md\:p-4 {
    padding: 1rem;
  }

  .md\:p-5 {
    padding: 1.25rem;
  }

  .md\:p-6 {
    padding: 1.5rem;
  }

  .md\:p-7 {
    padding: 1.75rem;
  }

  .md\:p-8 {
    padding: 2rem;
  }

  .md\:px-10 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }

  .md\:px-3\.5 {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }

  .md\:px-6 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }

  .md\:px-7 {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }

  .md\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .md\:py-0 {
    padding-top: 0px;
    padding-bottom: 0px;
  }

  .md\:py-28 {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }

  .md\:py-32 {
    padding-top: 8rem;
    padding-bottom: 8rem;
  }

  .md\:py-5 {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .md\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .md\:py-7 {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
  }

  .md\:py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .md\:\!pt-4 {
    padding-top: 1rem !important;
  }

  .md\:pb-10 {
    padding-bottom: 2.5rem;
  }

  .md\:pb-14 {
    padding-bottom: 3.5rem;
  }

  .md\:pb-20 {
    padding-bottom: 5rem;
  }

  .md\:pb-28 {
    padding-bottom: 7rem;
  }

  .md\:pb-3 {
    padding-bottom: 0.75rem;
  }

  .md\:pb-5 {
    padding-bottom: 1.25rem;
  }

  .md\:pb-6 {
    padding-bottom: 1.5rem;
  }

  .md\:pb-7 {
    padding-bottom: 1.75rem;
  }

  .md\:pb-8 {
    padding-bottom: 2rem;
  }

  .md\:pl-8 {
    padding-left: 2rem;
  }

  .md\:pt-10 {
    padding-top: 2.5rem;
  }

  .md\:pt-12 {
    padding-top: 3rem;
  }

  .md\:pt-28 {
    padding-top: 7rem;
  }

  .md\:pt-4 {
    padding-top: 1rem;
  }

  .md\:pt-6 {
    padding-top: 1.5rem;
  }

  .md\:pt-7 {
    padding-top: 1.75rem;
  }

  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  }

  .md\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }

  .md\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }

  .md\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  }

  .md\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }

  .md\:text-\[0\.9375rem\] {
    font-size: 0.9375rem;
  }

  .md\:text-\[0\.95rem\] {
    font-size: 0.95rem;
  }

  .md\:text-\[0\.98rem\] {
    font-size: 0.98rem;
  }

  .md\:text-\[10rem\] {
    font-size: 10rem;
  }

  .md\:text-\[11px\] {
    font-size: 11px;
  }

  .md\:text-base {
    font-size: 1rem;
    line-height: 1.5rem;
  }

  .md\:text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem;
  }

  .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }

  .md\:text-xl {
    font-size: 1.25rem;
    line-height: 1.75rem;
  }

  .md\:text-xs {
    font-size: 0.75rem;
    line-height: 1rem;
  }
}

@media (min-width: 1024px) {

  .lg\:sticky {
    position: sticky;
  }

  .lg\:top-24 {
    top: 6rem;
  }

  .lg\:col-span-2 {
    grid-column: span 2 / span 2;
  }

  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }

  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }

  .lg\:col-span-5 {
    grid-column: span 5 / span 5;
  }

  .lg\:col-span-7 {
    grid-column: span 7 / span 7;
  }

  .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }

  .lg\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: flex;
  }

  .lg\:\!hidden {
    display: none !important;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:min-h-\[320px\] {
    min-height: 320px;
  }

  .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\:grid-cols-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .lg\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .lg\:grid-cols-\[1fr_minmax\(0\2c 440px\)\] {
    grid-template-columns: 1fr minmax(0,440px);
  }

  .lg\:grid-cols-\[minmax\(0\2c 420px\)_1fr\] {
    grid-template-columns: minmax(0,420px) 1fr;
  }

  .lg\:items-start {
    align-items: flex-start;
  }

  .lg\:items-stretch {
    align-items: stretch;
  }

  .lg\:gap-10 {
    gap: 2.5rem;
  }

  .lg\:gap-16 {
    gap: 4rem;
  }

  .lg\:gap-20 {
    gap: 5rem;
  }

  .lg\:gap-5 {
    gap: 1.25rem;
  }

  .lg\:gap-6 {
    gap: 1.5rem;
  }

  .lg\:gap-8 {
    gap: 2rem;
  }

  .lg\:border-b-0 {
    border-bottom-width: 0px;
  }

  .lg\:border-l {
    border-left-width: 1px;
  }

  .lg\:border-r {
    border-right-width: 1px;
  }

  .lg\:border-t-0 {
    border-top-width: 0px;
  }

  .lg\:border-white\/15 {
    border-color: rgb(255 255 255 / 0.15);
  }

  .lg\:p-6 {
    padding: 1.5rem;
  }

  .lg\:p-7 {
    padding: 1.75rem;
  }

  .lg\:p-8 {
    padding: 2rem;
  }

  .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  }

  .lg\:py-6 {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
  }

  .lg\:pl-6 {
    padding-left: 1.5rem;
  }

  .lg\:text-3xl {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }

  .lg\:text-\[1\.65rem\] {
    font-size: 1.65rem;
  }

  .lg\:text-\[5\.5rem\] {
    font-size: 5.5rem;
  }
}

@media (min-width: 1280px) {

  .xl\:grid-cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.\[\&\:\:-webkit-scrollbar\]\:hidden::-webkit-scrollbar {
  display: none;
}

.\[\&_\.brand-fermi\\_\\_full\]\:text-white\/55 .brand-fermi__full {
  color: rgb(255 255 255 / 0.55);
}

.\[\&_\.brand-fermi\\_\\_mi\]\:bg-\[linear-gradient\(180deg\2c transparent_75\%\2c rgba\(255\2c 214\2c 0\2c 0\.75\)_75\%\)\] .brand-fermi__mi {
  background-image: linear-gradient(180deg,transparent 75%,rgba(255,214,0,0.75) 75%);
}

.\[\&_\.brand-fermi\\_\\_mi\]\:text-white .brand-fermi__mi {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
}

.\[\&_iframe\]\:aspect-video iframe {
  aspect-ratio: 16 / 9;
}

.\[\&_iframe\]\:\!h-auto iframe {
  height: auto !important;
}

.\[\&_iframe\]\:\!w-full iframe {
  width: 100% !important;
}

.\[\&_img\]\:\!h-auto img {
  height: auto !important;
}

.\[\&_img\]\:\!w-auto img {
  width: auto !important;
}

.\[\&_img\]\:\!max-w-full img {
  max-width: 100% !important;
}

.\[\&_img\]\:max-w-full img {
  max-width: 100%;
}

.\[\&_img\]\:rounded-md img {
  border-radius: 8px;
}
:root {
  --section-py: clamp(1rem, 2vw, 1.5rem);
  --section-px: clamp(0.85rem, 3.2vw, 3.5rem);
  --content-max: 100%;
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
  --ease-ios: cubic-bezier(0.25, 0.1, 0.25, 1);
  --duration-reveal: 700ms;
  --radius: 1.125rem;
  --radius-sm: 0.75rem;
  --radius-lg: 1.5rem;
  --radius-xl: 1.75rem;
  --glass-blur: 28px;
  --glass-blur-strong: 40px;
  --glass-sat: 1.35;
  --touch-min: 44px;
}

/* ===== FerMI brand mark ===== */
.brand-fermi {
  display: inline-flex;
  align-items: flex-start;
  min-width: 0;
  line-height: 1.05;
  color: inherit;
}

.brand-fermi--stack {
  flex-direction: column;
  gap: 0.12rem;
}

.brand-fermi--inline {
  flex-direction: row;
  align-items: baseline;
  gap: 0.45rem;
}

.brand-fermi__word {
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.brand-fermi__fer {
  color: inherit;
}

.brand-fermi__mi {
  color: #0a1158;
  background: linear-gradient(180deg, transparent 75%, rgba(255, 214, 0, 0.55) 75%);
  padding-inline: 0.01em;
}

.brand-fermi__full {
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #555555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 14rem;
}

.brand-fermi--sm .brand-fermi__word {
  font-size: 0.95rem;
}

.brand-fermi--sm .brand-fermi__full {
  font-size: 0.52rem;
}

.brand-fermi--md .brand-fermi__word {
  font-size: clamp(1.05rem, 2.2vw, 1.2rem);
}

.brand-fermi--md .brand-fermi__full {
  font-size: 0.55rem;
}

@media (min-width: 768px) {
  .brand-fermi--md .brand-fermi__word {
    font-size: 1.25rem;
  }

  .brand-fermi--md .brand-fermi__full {
    font-size: 0.58rem;
  }
}

.brand-fermi--lg .brand-fermi__word {
  font-size: 1.35rem;
}

.brand-fermi--lg .brand-fermi__full {
  font-size: 0.62rem;
}

@media (max-width: 640px) {
  .brand-fermi--nav .brand-fermi__full {
    display: none;
  }

  .page-header .brand-fermi__full {
    display: none;
  }
}

/* At the desktop nav breakpoint (lg, matches Navbar's `lg:flex`), the logo's
   subtitle competes with the priority-nav row for width — hiding it here
   gives the nav more room to fit items directly instead of overflowing into
   "Yana"/"Ещё", without shrinking the nav items themselves. */
@media (min-width: 1024px) {
  .brand-fermi--nav .brand-fermi__full {
    display: none;
  }
}

.section-pad {
  padding-top: var(--section-py);
  padding-bottom: var(--section-py);
  position: relative;
}

/* ===== Inner pages — match home glass / light med-tech ===== */
.page-header {
  isolation: isolate;
  border-bottom: 1px solid rgba(10, 17, 88, 0.06);
}

.page-header__glow {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 55% 70% at 8% 20%, rgba(10, 17, 88, 0.07), transparent 60%),
    radial-gradient(ellipse 45% 55% at 92% 30%, rgba(10, 17, 88, 0.05), transparent 55%);
  pointer-events: none;
}

.page-header__grid {
  position: absolute;
  inset: 0;
  opacity: 0.35;
  background-image:
    linear-gradient(rgba(10, 17, 88, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 17, 88, 0.035) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 40% 40%, #000 15%, transparent 75%);
          mask-image: radial-gradient(ellipse 80% 70% at 40% 40%, #000 15%, transparent 75%);
  pointer-events: none;
}

.page-header__rule {
  width: 3.5rem;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0a1158, #ffd600);
}

@media (max-width: 640px) {
  .page-header .section-container {
    padding-top: max(1.5rem, calc(0.75rem + env(safe-area-inset-top, 0px)));
    padding-bottom: 1.75rem;
  }

  .page-card {
    border-radius: 1rem;
  }

  .page-input,
  input.page-input,
  textarea.page-input,
  select.page-input {
    min-height: var(--touch-min);
    font-size: 16px; /* iOS zoom prevent */
  }

  .page-header h1 {
    font-size: clamp(1.45rem, 6.5vw, 1.85rem);
    line-height: 1.15;
  }

  img,
  video,
  iframe {
    max-width: 100%;
  }

  .prose table,
  .page-shell table,
  .page-card table {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 641px) and (max-width: 1023px) {
  .page-header .section-container {
    padding-top: 1.75rem;
    padding-bottom: 2.5rem;
  }
}

.page-shell {
  background: transparent;
}

.page-card {
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(10, 17, 88, 0.09);
  border-radius: 1rem;
  box-shadow: 0 6px 20px rgba(10, 17, 88, 0.045);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s, background 0.3s;
}

.page-card:hover {
  border-color: rgba(10, 17, 88, 0.16);
  box-shadow: 0 10px 28px rgba(10, 17, 88, 0.07);
}

/* Inner page content shell — home-aligned density */
.page-shell {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: max(var(--section-px), env(safe-area-inset-left, 0px));
  padding-right: max(var(--section-px), env(safe-area-inset-right, 0px));
  padding-top: var(--section-py);
  padding-bottom: var(--section-py);
  box-sizing: border-box;
}

.page-grid {
  display: grid;
  gap: 0.75rem;
  align-items: stretch;
}

@media (min-width: 768px) {
  .page-grid {
    gap: 1rem;
  }
}

a.page-card:hover,
button.page-card:hover {
  transform: translateY(-2px);
  border-color: #ffd600;
}

.page-input {
  width: 100%;
  height: 2.75rem;
  padding: 0 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: rgba(255, 255, 255, 0.85);
  font-size: 0.875rem;
  color: #0a0a0a;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.page-input:focus {
  outline: none;
  border-color: #0a1158;
  box-shadow: 0 0 0 3px rgba(10, 17, 88, 0.1);
}

.section-container {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-left: max(var(--section-px), env(safe-area-inset-left, 0px));
  padding-right: max(var(--section-px), env(safe-area-inset-right, 0px));
  box-sizing: border-box;
}

.section-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--font-label);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: oklch(var(--primary-600));
  margin-bottom: 0.5rem;
  padding: 0.35rem 0.85rem 0.35rem 0.75rem;
  background: oklch(var(--primary-50) / 0.85);
  border: 1px solid oklch(var(--primary-100) / 0.8);
  border-radius: 999px;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: none;
}

.section-eyebrow::before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: oklch(var(--secondary-500));
  flex-shrink: 0;
}

/* Dark navy sections — solid yellow chip, navy text */
.section-eyebrow--on-dark {
  color: #0a1158 !important;
  background: #ffd600 !important;
  border-color: #ffd600 !important;
  box-shadow: none;
}

.section-eyebrow--on-dark::before {
  background: #0a1158;
}

.section-eyebrow .eyebrow-dot {
  display: none;
}

.section-title {
  font-family: var(--font-display);
  font-weight: 650;
  letter-spacing: -0.03em;
  line-height: 1.1;
  color: oklch(var(--foreground-950));
  font-size: clamp(1.75rem, 3.5vw, 3.25rem);
}

.display-title {
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.02;
  font-size: clamp(2.75rem, 7.5vw, 6rem);
}

.gradient-text {
  color: oklch(var(--primary-800));
  background: none;
  -webkit-background-clip: unset;
  background-clip: unset;
}

.editorial-rule {
  width: 2.5rem;
  height: 3px;
  border-radius: 999px;
  background: oklch(var(--secondary-500));
  margin: 1.25rem 0;
}

.uni-rule {
  width: 2.5rem;
  height: 3px;
  border-radius: 999px;
  background: oklch(var(--secondary-500));
  margin-bottom: 1.25rem;
  position: relative;
}

.uni-rule::after {
  content: none;
}

.uni-link {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-family: var(--font-label);
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  color: oklch(var(--primary-700));
  transition: color 0.25s var(--ease-ios), gap 0.25s var(--ease-ios), opacity 0.25s;
}

.uni-link:hover {
  color: oklch(var(--primary-500));
  gap: 0.6rem;
  transform: none;
}

.uni-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: var(--touch-min);
  height: 2.875rem;
  padding: 0 1.35rem;
  font-family: var(--font-label);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  border-radius: 999px;
  background: oklch(var(--primary-800) / 0.88);
  color: oklch(var(--background-50));
  border: 1px solid oklch(var(--background-50) / 0.12);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.18) inset,
    0 8px 24px oklch(var(--primary-950) / 0.18);
  backdrop-filter: blur(16px) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(16px) saturate(var(--glass-sat));
  transition: transform 0.25s var(--ease-ios), background 0.25s, box-shadow 0.25s;
  position: relative;
  overflow: hidden;
}

.uni-btn::after {
  content: none;
}

.uni-btn:hover {
  transform: translateY(-1px) scale(1.01);
  background: oklch(var(--primary-700) / 0.92);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.22) inset,
    0 12px 28px oklch(var(--primary-950) / 0.22);
  filter: none;
}

.uni-btn:active {
  transform: scale(0.98);
}

.uni-btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.875rem;
  padding: 0 1.35rem;
  font-family: var(--font-label);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  border-radius: 999px;
  color: oklch(var(--background-50));
  border: 1px solid oklch(var(--background-50) / 0.28);
  background: oklch(var(--background-50) / 0.12);
  backdrop-filter: blur(18px) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(18px) saturate(var(--glass-sat));
  box-shadow: 0 1px 0 oklch(var(--background-50) / 0.2) inset;
  transition: background 0.25s var(--ease-ios), border-color 0.25s, transform 0.25s var(--ease-ios);
}

.uni-btn-ghost:hover {
  background: oklch(var(--background-50) / 0.22);
  color: oklch(var(--background-50));
  border-color: oklch(var(--background-50) / 0.4);
  transform: translateY(-1px);
}

.uni-btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 2.875rem;
  padding: 0 1.35rem;
  font-family: var(--font-label);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: -0.01em;
  text-transform: none;
  border-radius: 999px;
  background: linear-gradient(180deg, oklch(var(--secondary-400)), oklch(var(--secondary-500)));
  color: oklch(var(--primary-950));
  border: 1px solid oklch(var(--secondary-300) / 0.55);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.45) inset,
    0 8px 22px oklch(var(--secondary-700) / 0.22);
  transition: transform 0.25s var(--ease-ios), filter 0.25s, box-shadow 0.25s;
}

.uni-btn-gold:hover {
  background: linear-gradient(180deg, oklch(var(--secondary-300)), oklch(var(--secondary-400)));
  transform: translateY(-1px) scale(1.01);
}

.uni-btn-gold:active {
  transform: scale(0.98);
}

.uni-surface {
  background: oklch(var(--background-50) / 0.72);
  border: 1px solid oklch(var(--primary-100) / 0.7);
  border-radius: var(--radius);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
}

.masthead-link {
  font-family: var(--font-label);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  color: oklch(var(--foreground-600));
  transition: color 0.2s var(--ease-ios), opacity 0.2s;
}

.masthead-link:hover {
  color: oklch(var(--primary-700));
}

.masthead-bar .masthead-link {
  color: oklch(var(--foreground-800) / 0.72);
}

.masthead-bar .masthead-link:hover {
  color: oklch(var(--foreground-950));
}

.med-card {
  background: oklch(var(--background-50) / 0.7);
  border: 1px solid oklch(var(--primary-100) / 0.65);
  border-radius: var(--radius);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.7) inset,
    0 10px 30px oklch(var(--primary-950) / 0.05);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  color: oklch(var(--foreground-900));
  text-shadow: none;
  transition: transform 0.35s var(--ease-ios), border-color 0.3s, box-shadow 0.35s, background 0.3s;
  position: relative;
  overflow: hidden;
}

.med-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(135deg, oklch(var(--background-50) / 0.45), transparent 42%);
  opacity: 0.7;
}

.med-card:hover {
  background: oklch(var(--background-50) / 0.82);
  border-color: oklch(var(--primary-200) / 0.8);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.85) inset,
    0 16px 40px oklch(var(--primary-950) / 0.08);
  transform: translateY(-3px);
}

.med-card:hover::before {
  opacity: 1;
}

/* Frosted glass — light panels */
.glass-card,
.frosted-glass {
  background: oklch(var(--background-50) / 0.62);
  backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(var(--glass-blur)) saturate(var(--glass-sat));
  border: 1px solid oklch(var(--background-50) / 0.65);
  border-radius: var(--radius);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.75) inset,
    0 12px 40px oklch(var(--primary-950) / 0.06);
  color: oklch(var(--foreground-900));
}

/* Liquid glass — light, translucent (iOS), not opaque dark boxes */
.liquid-glass,
.glass-dark {
  background: linear-gradient(
    155deg,
    oklch(var(--background-50) / 0.28) 0%,
    oklch(var(--background-50) / 0.12) 48%,
    oklch(var(--background-50) / 0.18) 100%
  );
  backdrop-filter: blur(32px) saturate(1.7);
  -webkit-backdrop-filter: blur(32px) saturate(1.7);
  border: 1px solid oklch(var(--background-50) / 0.38);
  border-radius: var(--radius-lg);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.45) inset,
    0 0 0 0.5px oklch(var(--background-50) / 0.12),
    0 18px 48px oklch(var(--primary-950) / 0.14);
  color: oklch(var(--background-50));
  position: relative;
  overflow: hidden;
}

.liquid-glass::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(
    125deg,
    oklch(var(--background-50) / 0.42) 0%,
    oklch(var(--background-50) / 0.08) 28%,
    transparent 52%,
    oklch(var(--background-50) / 0.06) 100%
  );
}

.liquid-glass-light {
  background: linear-gradient(
    160deg,
    oklch(var(--background-50) / 0.72) 0%,
    oklch(var(--background-50) / 0.5) 100%
  );
  backdrop-filter: blur(36px) saturate(1.8);
  -webkit-backdrop-filter: blur(36px) saturate(1.8);
  border: 1px solid oklch(var(--background-50) / 0.7);
  border-radius: var(--radius-lg);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.9) inset,
    0 16px 40px oklch(var(--primary-950) / 0.1);
  color: oklch(var(--foreground-900));
  position: relative;
  overflow: hidden;
}

/* ===== Hero radar — interactive circular stats ===== */
.hero-radar {
  --hx: 0;
  --hy: 0;
  --rr: min(32vw, 132px);
  --pack-ease: cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 0.98;
  max-height: 580px;
  min-height: 420px;
  display: grid;
  place-items: center;
  isolation: isolate;
  overflow: visible;
  cursor: default;
}

.hero-radar.is-packed {
  overflow: hidden;
}

.hero-radar.is-expanded {
  overflow: visible;
}

.hero-radar__corner {
  position: absolute;
  z-index: 3;
  width: min(12rem, 44%);
  padding: 0.7rem 0.8rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 12px 32px rgba(10, 17, 88, 0.08);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  pointer-events: none;
  text-decoration: none;
  color: inherit;
  opacity: 0;
  will-change: transform, opacity, filter;
}

.hero-radar__corner.is-link,
.hero-radar__side.is-link {
  cursor: pointer;
}

.hero-radar.is-settled .hero-radar__corner.is-link,
.hero-radar.is-settled .hero-radar__side.is-link {
  pointer-events: auto;
}

.hero-radar__corner.is-link:hover {
  border-color: rgba(10, 17, 88, 0.28);
  box-shadow: 0 16px 40px rgba(10, 17, 88, 0.12);
}

.hero-radar__corner--br {
  bottom: 2%;
  right: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  background: linear-gradient(145deg, rgba(10, 17, 88, 0.96), rgba(10, 17, 88, 0.88));
  border-color: transparent;
  color: #fff;
  transform: translate3d(-5rem, -4rem, 0) scale(0.35) rotate(8deg);
}

.hero-radar__corner--br .hero-radar__corner-kicker {
  color: rgba(255, 214, 0, 0.9);
}

.hero-radar__corner--br .hero-radar__corner-title {
  color: #fff;
}

.hero-radar__corner--br .hero-radar__corner-note {
  color: rgba(255, 255, 255, 0.7);
}

.hero-radar__corner--br .hero-radar__corner-icon {
  background: rgba(255, 214, 0, 0.18);
  color: #ffd600;
}

.hero-radar__corner-go {
  margin-left: auto;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.12);
  color: #ffd600;
  font-size: 0.85rem;
}

.hero-radar__side {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  max-width: 11rem;
  padding: 0.55rem 0.7rem;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 10px 28px rgba(10, 17, 88, 0.08);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  text-decoration: none;
  color: inherit;
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity, filter;
}

.hero-radar.is-settled .hero-radar__side:hover {
  border-color: rgba(10, 17, 88, 0.28);
  box-shadow: 0 14px 34px rgba(10, 17, 88, 0.12);
}

.hero-radar__side i {
  flex-shrink: 0;
  width: 1.85rem;
  height: 1.85rem;
  border-radius: 0.55rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  font-size: 0.95rem;
}

.hero-radar__side span {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  min-width: 0;
}

.hero-radar__side strong {
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 750;
  color: #0a0a0a;
  line-height: 1.2;
}

.hero-radar__side em {
  font-style: normal;
  font-size: 0.58rem;
  color: #555;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hero-radar__side--ml {
  left: 0;
  top: 42%;
  transform: translate3d(4.5rem, 0, 0) scale(0.4);
}

.hero-radar__side--mr {
  right: 0;
  top: 42%;
  transform: translate3d(-4.5rem, 0, 0) scale(0.4);
}

.hero-radar__side--tm {
  top: 0;
  left: 50%;
  max-width: 12.5rem;
  transform: translate3d(-50%, 4.5rem, 0) scale(0.4);
}

.hero-radar__side--bm {
  bottom: 0;
  left: 50%;
  max-width: 12.5rem;
  transform: translate3d(-50%, -4.5rem, 0) scale(0.4);
}

.hero-radar__corner--tl {
  top: 2%;
  left: 0;
  display: flex;
  align-items: flex-start;
  gap: 0.55rem;
  transform: translate3d(5rem, 4.5rem, 0) scale(0.35) rotate(-8deg);
}

.hero-radar__corner--tr {
  top: 2%;
  right: 0;
  text-align: right;
  transform: translate3d(-5rem, 4.5rem, 0) scale(0.35) rotate(8deg);
}

.hero-radar__corner--bl {
  bottom: 4%;
  left: 0;
  transform: translate3d(5rem, -4.5rem, 0) scale(0.35) rotate(6deg);
}

.hero-radar.is-packed .hero-radar__node,
.hero-radar.is-packed .hero-radar__ring,
.hero-radar.is-packed .hero-radar__arcs,
.hero-radar.is-packed .hero-radar__burst,
.hero-radar.is-packed .hero-radar__orb,
.hero-radar.is-packed .hero-radar__ecg,
.hero-radar.is-packed .hero-radar__pop,
.hero-radar.is-packed .hero-radar__corner,
.hero-radar.is-packed .hero-radar__side {
  z-index: 1;
  pointer-events: none !important;
}

.hero-radar.is-packed .hero-radar__core,
.hero-radar.is-packed .hero-radar__core.is-trigger {
  position: relative;
  z-index: 20 !important;
  cursor: pointer;
  animation: hero-radar-invite 3.4s ease-in-out infinite;
}

.hero-radar__glow {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 18;
  width: calc(var(--rr) * 1.42 + 22px);
  height: calc(var(--rr) * 1.42 + 22px);
  translate: -50% -50%;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 214, 0, 0.38);
  box-shadow:
    0 0 0 4px rgba(255, 214, 0, 0.06),
    0 0 18px rgba(255, 214, 0, 0.16);
  pointer-events: none;
  animation: hero-radar-glow-breathe 3.2s ease-in-out infinite;
}

@keyframes hero-radar-glow-breathe {
  0%, 100% { opacity: 0.35; transform: scale(0.96); }
  50% { opacity: 0.85; transform: scale(1.03); }
}

.hero-radar.is-opening .hero-radar__corner--tl { animation: hero-fly-tl 1.65s var(--pack-ease) 0.22s both; }
.hero-radar.is-opening .hero-radar__corner--tr { animation: hero-fly-tr 1.65s var(--pack-ease) 0.34s both; }
.hero-radar.is-opening .hero-radar__corner--bl { animation: hero-fly-bl 1.65s var(--pack-ease) 0.46s both; }
.hero-radar.is-opening .hero-radar__corner--br { animation: hero-fly-br 1.65s var(--pack-ease) 0.4s both; }
.hero-radar.is-opening .hero-radar__side--tm { animation: hero-fly-tm 1.55s var(--pack-ease) 0.28s both; }
.hero-radar.is-opening .hero-radar__side--ml { animation: hero-fly-ml 1.55s var(--pack-ease) 0.42s both; }
.hero-radar.is-opening .hero-radar__side--mr { animation: hero-fly-mr 1.55s var(--pack-ease) 0.52s both; }
.hero-radar.is-opening .hero-radar__side--bm { animation: hero-fly-bm 1.55s var(--pack-ease) 0.58s both; }
.hero-radar.is-opening .hero-radar__node {
  animation: hero-fly-node 1.9s var(--pack-ease) both;
  animation-delay: calc(0.15s + var(--ni, 0) * 0.12s);
}
.hero-radar.is-opening .hero-radar__ring,
.hero-radar.is-opening .hero-radar__arcs {
  animation: hero-fly-ring 1.55s var(--pack-ease) 0.1s both;
}

@keyframes hero-fly-tl {
  from { opacity: 0; filter: blur(7px); transform: translate3d(5rem, 4.5rem, 0) scale(0.35) rotate(-10deg); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1) rotate(0deg); }
}
@keyframes hero-fly-tr {
  from { opacity: 0; filter: blur(7px); transform: translate3d(-5rem, 4.5rem, 0) scale(0.35) rotate(10deg); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1) rotate(0deg); }
}
@keyframes hero-fly-bl {
  from { opacity: 0; filter: blur(7px); transform: translate3d(5rem, -4.5rem, 0) scale(0.35) rotate(8deg); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1) rotate(0deg); }
}
@keyframes hero-fly-br {
  from { opacity: 0; filter: blur(7px); transform: translate3d(-5rem, -4rem, 0) scale(0.35) rotate(-8deg); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1) rotate(0deg); }
}
@keyframes hero-fly-ml {
  from { opacity: 0; filter: blur(5px); transform: translate3d(4.5rem, 0, 0) scale(0.4); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes hero-fly-mr {
  from { opacity: 0; filter: blur(5px); transform: translate3d(-4.5rem, 0, 0) scale(0.4); }
  to { opacity: 1; filter: blur(0); transform: translate3d(0, 0, 0) scale(1); }
}
@keyframes hero-fly-tm {
  from { opacity: 0; filter: blur(5px); transform: translate3d(-50%, 4.5rem, 0) scale(0.4); }
  to { opacity: 1; filter: blur(0); transform: translate3d(-50%, 0, 0) scale(1); }
}
@keyframes hero-fly-bm {
  from { opacity: 0; filter: blur(5px); transform: translate3d(-50%, -4.5rem, 0) scale(0.4); }
  to { opacity: 1; filter: blur(0); transform: translate3d(-50%, 0, 0) scale(1); }
}
@keyframes hero-fly-node {
  from {
    opacity: 0;
    transform: rotate(calc(var(--na) - 55deg)) translateX(0) rotate(calc((var(--na) - 55deg) * -1)) scale(0.18);
  }
  to {
    opacity: 1;
    transform: rotate(var(--na)) translateX(var(--rr)) rotate(calc(var(--na) * -1)) scale(1);
  }
}
@keyframes hero-fly-ring {
  from { opacity: 0; scale: 0.42; }
  to { opacity: 1; scale: 1; }
}

.hero-radar.is-settled .hero-radar__corner--tl {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(var(--hx) * 10px), calc(var(--hy) * 8px), 0);
}
.hero-radar.is-settled .hero-radar__corner--tr {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(var(--hx) * -12px), calc(var(--hy) * 9px), 0);
}
.hero-radar.is-settled .hero-radar__corner--bl {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(var(--hx) * 11px), calc(var(--hy) * -10px), 0);
}
.hero-radar.is-settled .hero-radar__corner--br {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(var(--hx) * -10px), calc(var(--hy) * -8px), 0);
}
.hero-radar.is-settled .hero-radar__side--ml {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(var(--hx) * 12px), calc(var(--hy) * 6px), 0);
}
.hero-radar.is-settled .hero-radar__side--mr {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(var(--hx) * -12px), calc(var(--hy) * 6px), 0);
}
.hero-radar.is-settled .hero-radar__side--tm {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(-50% + var(--hx) * 8px), calc(var(--hy) * 8px), 0);
}
.hero-radar.is-settled .hero-radar__side--bm {
  opacity: 1; filter: none; animation: none;
  transform: translate3d(calc(-50% + var(--hx) * -8px), calc(var(--hy) * -8px), 0);
}
.hero-radar.is-settled .hero-radar__node {
  opacity: 1; animation: none; pointer-events: auto;
  transform: rotate(var(--na)) translateX(var(--rr)) rotate(calc(var(--na) * -1))
    translate3d(calc(var(--hx) * 8px), calc(var(--hy) * 6px), 0) scale(1);
}
.hero-radar.is-settled .hero-radar__node.is-dim {
  opacity: 0.45; filter: grayscale(0.35);
}
.hero-radar.is-settled .hero-radar__node.is-on {
  opacity: 1; filter: none;
}
.hero-radar.is-settled .hero-radar__ring,
.hero-radar.is-settled .hero-radar__arcs {
  opacity: 1; scale: 1; animation-name: none;
}
.hero-radar.is-settled .hero-radar__ring--outer {
  animation: hero-orbit 70s linear infinite;
}
.hero-radar.is-settled .hero-radar__ring--mid {
  animation: hero-orbit 48s linear infinite reverse;
}
.hero-radar.is-settled .hero-radar__scan {
  animation: hero-radar-scan 6s linear infinite;
}

@media (max-width: 1023px) {
  .hero-radar.is-packed { overflow: visible; }
  .hero-radar.is-packed .hero-radar__core,
  .hero-radar.is-packed .hero-radar__core.is-trigger {
    animation: none !important; cursor: default; z-index: 4 !important;
  }
  .hero-radar__glow { display: none !important; }
  .hero-radar__corner,
  .hero-radar__side {
    opacity: 1 !important; filter: none !important; pointer-events: auto !important;
    animation: none !important; transform: none !important;
  }
  .hero-radar__side--tm,
  .hero-radar__side--bm { transform: translateX(-50%) !important; }
  .hero-radar__node {
    opacity: 1 !important; filter: none !important; pointer-events: auto !important;
    animation: none !important;
    transform: rotate(var(--na)) translateX(var(--rr)) rotate(calc(var(--na) * -1)) !important;
  }
  .hero-radar__ring,
  .hero-radar__arcs { scale: 1 !important; opacity: 1 !important; }
  .hero-radar__ring--outer,
  .hero-radar__ring--mid,
  .hero-radar__scan { animation-play-state: running; }
}

.hero-radar__corner-icon {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 0.65rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  font-size: 1rem;
}

.hero-radar__corner-kicker {
  font-size: 0.58rem;
  font-weight: 750;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0a1158;
  opacity: 0.75;
}

.hero-radar__corner-title {
  margin-top: 0.1rem;
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 750;
  color: #0a0a0a;
  line-height: 1.25;
}

.hero-radar__corner-year {
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 800;
  color: #0a1158;
  line-height: 1;
  margin-top: 0.15rem;
  background: linear-gradient(180deg, transparent 62%, rgba(255, 214, 0, 0.4) 62%);
  display: inline-block;
}

.hero-radar__corner-note {
  margin-top: 0.25rem;
  font-size: 0.62rem;
  line-height: 1.35;
  color: #555;
}

.hero-radar__live {
  margin-left: auto;
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #0a1158;
  box-shadow: 0 0 0 0 rgba(10, 17, 88, 0.35);
  animation: hero-v2-pulse 2s ease-out infinite;
  flex-shrink: 0;
  margin-top: 0.2rem;
}

.hero-radar__mini-ecg {
  color: #0a1158;
  height: 1.35rem;
  margin-bottom: 0.35rem;
  opacity: 0.85;
}

.hero-radar__mini-ecg svg {
  width: 100%;
  height: 100%;
}

.hero-radar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
  margin: 0.35rem 0 0.4rem;
  padding: 0;
  list-style: none;
}

.hero-radar__tags li {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  padding: 0.2rem 0.45rem;
  border-radius: 999px;
  background: rgba(10, 17, 88, 0.07);
  color: #0a1158;
  font-size: 0.58rem;
  font-weight: 750;
  letter-spacing: 0.04em;
}

.hero-radar__tags i {
  font-size: 0.7rem;
}

.hero-radar__meter {
  height: 0.28rem;
  border-radius: 999px;
  background: rgba(10, 17, 88, 0.08);
  overflow: hidden;
}

.hero-radar__meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #0a1158, #3a4490);
  animation: hero-radar-meter 2.8s ease-in-out infinite alternate;
}

@keyframes hero-radar-meter {
  from {
    filter: brightness(1);
    width: 72%;
  }
  to {
    filter: brightness(1.15);
    width: 92%;
  }
}

.hero-radar__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(42px);
  pointer-events: none;
  transition: transform 0.4s ease-out;
}

.hero-radar__orb--a {
  width: 200px;
  height: 200px;
  top: 6%;
  right: 8%;
  background: rgba(10, 17, 88, 0.1);
  transform: translate3d(calc(var(--hx) * 16px), calc(var(--hy) * 12px), 0);
}

.hero-radar__orb--b {
  width: 160px;
  height: 160px;
  bottom: 10%;
  left: 6%;
  background: rgba(10, 17, 88, 0.07);
  transform: translate3d(calc(var(--hx) * -14px), calc(var(--hy) * 16px), 0);
}

.hero-radar__ring {
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  border-radius: 999px;
  pointer-events: none;
  border: 1px solid rgba(10, 17, 88, 0.08);
  scale: 0.42;
  opacity: 0;
}

.hero-radar__ring--outer {
  width: calc(var(--rr) * 2.55);
  height: calc(var(--rr) * 2.55);
  border-style: dashed;
  animation: hero-orbit 70s linear infinite;
  animation-play-state: paused;
}

.hero-radar__ring--mid {
  width: calc(var(--rr) * 2.05);
  height: calc(var(--rr) * 2.05);
  border-color: rgba(10, 17, 88, 0.12);
  animation: hero-orbit 48s linear infinite reverse;
  animation-play-state: paused;
}

.hero-radar__ring--inner {
  width: calc(var(--rr) * 1.35);
  height: calc(var(--rr) * 1.35);
  border-color: rgba(255, 214, 0, 0.22);
  box-shadow: 0 0 0 6px rgba(255, 214, 0, 0.04);
}

.hero-radar__arcs {
  position: absolute;
  width: calc(var(--rr) * 2.4);
  height: calc(var(--rr) * 2.4);
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  pointer-events: none;
  z-index: 0;
  scale: 0.42;
  opacity: 0;
}

.hero-radar__scan {
  transform-origin: 200px 200px;
  animation: hero-radar-scan 6s linear infinite;
  animation-play-state: paused;
}

@keyframes hero-radar-scan {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.hero-radar__ecg {
  opacity: 0.7;
}

.hero-radar__burst {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 24px;
  height: 24px;
  margin: -12px;
  border-radius: 999px;
  border: 2px solid rgba(10, 17, 88, 0.35);
  pointer-events: none;
  z-index: 1;
  animation: hero-radar-burst 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes hero-radar-burst {
  from {
    transform: scale(0.4);
    opacity: 0.9;
  }
  to {
    transform: scale(18);
    opacity: 0;
  }
}

.hero-radar__core {
  position: relative;
  z-index: 4;
  width: calc(var(--rr) * 1.15);
  height: calc(var(--rr) * 1.15);
  border-radius: 999px;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.98), rgba(245, 247, 252, 0.95) 55%, rgba(232, 236, 248, 0.92)),
    #fff;
  border: 1px solid rgba(10, 17, 88, 0.12);
  box-shadow:
    0 20px 50px rgba(10, 17, 88, 0.12),
    0 0 0 10px rgba(10, 17, 88, 0.03),
    inset 0 1px 0 rgba(255, 255, 255, 0.9);
  transform: translate3d(calc(var(--hx) * 6px), calc(var(--hy) * 5px), 0);
  transition: transform 0.35s ease-out, box-shadow 0.4s ease, width 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    height 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
}

.hero-radar.is-expanded .hero-radar__core {
  animation: none;
  cursor: default;
}

@keyframes hero-radar-invite {
  0%,
  100% {
    box-shadow:
      0 20px 50px rgba(10, 17, 88, 0.12),
      0 0 0 8px rgba(255, 214, 0, 0.04),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }
  50% {
    box-shadow:
      0 24px 54px rgba(10, 17, 88, 0.14),
      0 0 0 12px rgba(255, 214, 0, 0.1),
      0 0 0 22px rgba(255, 214, 0, 0.04),
      inset 0 1px 0 rgba(255, 255, 255, 0.9);
  }
}

@keyframes hero-radar-mouse-nudge {
  0%,
  100% {
    transform: translate(0, 0);
  }
  40% {
    transform: translate(2px, 3px);
  }
  60% {
    transform: translate(-1px, 1px);
  }
}

.hero-radar__core.is-active {
  width: calc(var(--rr) * 1.42);
  height: calc(var(--rr) * 1.42);
  box-shadow:
    0 28px 60px rgba(10, 17, 88, 0.16),
    0 0 0 12px rgba(255, 214, 0, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.95);
}

.hero-radar__core-inner {
  position: relative;
  z-index: 1;
  width: 88%;
  text-align: center;
  padding: 0.45rem 0.35rem;
  animation: hero-radar-core-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-radar__core.is-active .hero-radar__core-inner {
  animation-name: hero-radar-core-in;
}

@keyframes hero-radar-core-in {
  from {
    opacity: 0;
    transform: scale(0.86);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes hero-radar-core-expand {
  0% {
    opacity: 0;
    clip-path: circle(0% at 50% 50%);
    transform: scale(0.7);
  }
  100% {
    opacity: 1;
    clip-path: circle(100% at 50% 50%);
    transform: scale(1);
  }
}

.hero-radar__brand {
  font-family: var(--font-heading);
  font-size: clamp(1.4rem, 3vw, 1.85rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #0a1158;
}

.hero-radar__brand .brand-fermi__mi {
  background: linear-gradient(180deg, transparent 75%, rgba(255, 214, 0, 0.55) 75%);
}

.hero-radar__tap {
  margin-top: 0.45rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  font-size: 0.68rem;
  font-weight: 650;
  color: #0a1158;
  line-height: 1.35;
}

.hero-radar__tap i {
  color: #c9a000;
  font-size: 0.95rem;
  animation: hero-radar-mouse-nudge 1.9s ease-in-out infinite;
}

.hero-radar__word {
  font-family: var(--font-heading);
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #0a1158;
  background: linear-gradient(180deg, transparent 60%, rgba(255, 214, 0, 0.45) 60%);
  display: inline-block;
  margin-bottom: 0.25rem;
}

.hero-radar__value {
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 4vw, 2.35rem);
  font-weight: 800;
  color: #0a0a0a;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.hero-radar__label {
  margin-top: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  color: #0a1158;
}

.hero-radar__hint {
  margin-top: 0.4rem;
  font-size: 0.62rem;
  line-height: 1.45;
  color: #555;
  display: block;
  overflow: visible;
  text-wrap: pretty;
}

.hero-radar__node {
  --na: 0deg;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 5;
  width: 4.6rem;
  margin: -2.3rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  pointer-events: none;
  opacity: 0;
  transform: rotate(var(--na)) translateX(0) rotate(calc(var(--na) * -1)) scale(0.18);
}

.hero-radar__node.is-on {
  z-index: 8;
}

.hero-radar__node-face {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  width: 4.6rem;
  height: 4.6rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(10, 17, 88, 0.12);
  box-shadow: 0 10px 28px rgba(10, 17, 88, 0.1);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.25s, border-color 0.25s,
    box-shadow 0.35s;
}

.hero-radar__node:hover .hero-radar__node-face,
.hero-radar__node.is-on .hero-radar__node-face {
  transform: scale(1.08);
  border-color: rgba(10, 17, 88, 0.28);
  box-shadow: 0 14px 36px rgba(10, 17, 88, 0.16);
}

.hero-radar__node.is-on .hero-radar__node-face {
  background: #0a1158;
  color: #fff;
  border-color: #0a1158;
}

.hero-radar__node-face i {
  font-size: 1rem;
  color: #0a1158;
  line-height: 1;
}

.hero-radar__node.is-on .hero-radar__node-face i {
  color: #ffd600;
}

.hero-radar__node-face strong {
  font-family: var(--font-heading);
  font-size: 0.72rem;
  font-weight: 800;
  color: #0a0a0a;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.hero-radar__node.is-on .hero-radar__node-face strong {
  color: #fff;
}

.hero-radar__node-face em {
  font-style: normal;
  font-size: 0.48rem;
  font-weight: 650;
  color: #555;
  max-width: 3.6rem;
  text-align: center;
  line-height: 1.15;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hero-radar__node.is-on .hero-radar__node-face em {
  color: rgba(255, 255, 255, 0.75);
}

.hero-radar__node-ring {
  position: absolute;
  inset: -6px;
  border-radius: 999px;
  border: 1.5px solid rgba(255, 214, 0, 0.55);
  opacity: 0;
  pointer-events: none;
}

.hero-radar__node.is-on .hero-radar__node-ring {
  animation: hero-v2-ring 1.6s ease-out infinite;
  opacity: 1;
}

.hero-radar__pop {
  position: absolute;
  left: 50%;
  top: calc(100% + 0.55rem);
  translate: -50% 0;
  width: min(11.5rem, 42vw);
  padding: 0.7rem 0.8rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 16px 40px rgba(10, 17, 88, 0.14);
  text-align: left;
  pointer-events: none;
  opacity: 0;
  transform: scale(0.4);
  clip-path: circle(0% at 50% 0%);
  transition: none;
  z-index: 9;
}

.hero-radar__pop.is-show {
  animation: hero-radar-pop 0.55s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes hero-radar-pop {
  0% {
    opacity: 0;
    transform: scale(0.35);
    clip-path: circle(0% at 50% 0%);
  }
  60% {
    opacity: 1;
    transform: scale(1.04);
    clip-path: circle(72% at 50% 20%);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    clip-path: circle(140% at 50% 20%);
  }
}

.hero-radar__pop.is-up {
  top: auto;
  bottom: calc(100% + 0.55rem);
}

.hero-radar__pop.is-up.is-show {
  animation-name: hero-radar-pop-up;
}

@keyframes hero-radar-pop-up {
  0% {
    opacity: 0;
    transform: scale(0.35);
    clip-path: circle(0% at 50% 100%);
  }
  60% {
    opacity: 1;
    transform: scale(1.04);
    clip-path: circle(72% at 50% 80%);
  }
  100% {
    opacity: 1;
    transform: scale(1);
    clip-path: circle(140% at 50% 80%);
  }
}

.hero-radar__pop-word {
  display: block;
  font-family: var(--font-heading);
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0a1158;
  margin-bottom: 0.25rem;
}

.hero-radar__pop-hint {
  display: block;
  font-size: 0.68rem;
  line-height: 1.4;
  color: #444;
}

@media (max-width: 1023px) {
  .hero-radar__corner,
  .hero-radar__side {
    display: none;
  }

  .hero-radar {
    --rr: min(30vw, 140px);
    min-height: 380px;
    max-height: 480px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
  }

  .hero-radar__hint {
    font-size: 0.58rem;
    line-height: 1.4;
  }

  .hero-radar__node {
    width: 4.1rem;
    margin: -2.05rem;
  }

  .hero-radar__node-face {
    width: 4.1rem;
    height: 4.1rem;
  }

  .hero-radar__pop {
    width: min(10.5rem, 46vw);
    font-size: 0.65rem;
  }
}

@media (max-width: 640px) {
  .hero-radar {
    --rr: min(28vw, 108px);
    min-height: 300px;
    max-height: 360px;
    margin-top: 0.25rem;
  }

  .hero-radar__core {
    width: calc(var(--rr) * 1.25);
    height: calc(var(--rr) * 1.25);
  }

  .hero-radar__core.is-active {
    width: calc(var(--rr) * 1.4);
    height: calc(var(--rr) * 1.4);
  }

  .hero-radar__value {
    font-size: clamp(1.35rem, 7vw, 1.85rem);
  }

  .hero-radar__hint {
    display: none;
  }

  .hero-radar__node {
    width: 3.55rem;
    margin: -1.775rem;
  }

  .hero-radar__node-face {
    width: 3.55rem;
    height: 3.55rem;
    gap: 0;
  }

  .hero-radar__node-face i {
    font-size: 0.9rem;
  }

  .hero-radar__node-face strong {
    font-size: 0.62rem;
  }

  .hero-radar__node-face em {
    display: none;
  }

  .hero-radar__pop {
    display: none;
  }

  .hero-radar__ring--outer {
    opacity: 0.55;
  }
}

@media (max-width: 380px) {
  .hero-radar {
    --rr: min(26vw, 92px);
    min-height: 260px;
    max-height: 300px;
  }

  .hero-radar__node {
    width: 3.1rem;
    margin: -1.55rem;
  }

  .hero-radar__node-face {
    width: 3.1rem;
    height: 3.1rem;
  }

  .hero-radar__word {
    font-size: 0.58rem;
  }

  .hero-mobile-links {
    gap: 0.4rem;
  }

  .hero-mobile-links__item {
    font-size: 0.72rem;
    padding: 0.5rem 0.55rem;
  }
}

/* Landscape phones — keep hero compact */
@media (max-height: 480px) and (orientation: landscape) {
  .hero-radar {
    min-height: 220px;
    max-height: 260px;
    --rr: min(18vw, 88px);
  }

  .hero-v2 .section-container {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
}

/* Mobile / tablet utility strip under radar */
.hero-mobile-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0.75rem;
  width: 100%;
}

.hero-mobile-links__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: var(--touch-min);
  padding: 0.55rem 0.7rem;
  border-radius: 0.9rem;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 6px 18px rgba(10, 17, 88, 0.06);
  text-decoration: none;
  color: #0a0a0a;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.2;
  transition: border-color 0.2s, transform 0.2s, background 0.2s;
}

.hero-mobile-links__item i {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  font-size: 0.95rem;
}

.hero-mobile-links__item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-mobile-links__item.is-accent {
  background: #0a1158;
  border-color: transparent;
  color: #fff;
}

.hero-mobile-links__item.is-accent i {
  background: rgba(255, 214, 0, 0.18);
  color: #ffd600;
}

.hero-mobile-links__item:active {
  transform: scale(0.98);
}

@media (min-width: 480px) and (max-width: 1023px) {
  .hero-mobile-links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .hero-mobile-links__item:last-child:nth-child(5) {
    grid-column: span 1;
  }
}

@media (min-width: 1024px) {
  .hero-mobile-links {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-radar__ring--outer,
  .hero-radar__ring--mid,
  .hero-radar__scan,
  .hero-radar__burst,
  .hero-radar__node-ring,
  .hero-radar__pop.is-show,
  .hero-radar__core-inner,
  .hero-radar.is-packed .hero-radar__core.is-trigger,
  .hero-radar__glow {
    animation: none !important;
  }

  /* Keep a short entrance so expand is still visible */
  .hero-radar.is-opening .hero-radar__corner--tl,
  .hero-radar.is-opening .hero-radar__corner--tr,
  .hero-radar.is-opening .hero-radar__corner--bl,
  .hero-radar.is-opening .hero-radar__corner--br,
  .hero-radar.is-opening .hero-radar__side--tm,
  .hero-radar.is-opening .hero-radar__side--ml,
  .hero-radar.is-opening .hero-radar__side--mr,
  .hero-radar.is-opening .hero-radar__side--bm,
  .hero-radar.is-opening .hero-radar__node,
  .hero-radar.is-opening .hero-radar__ring,
  .hero-radar.is-opening .hero-radar__arcs {
    animation-duration: 0.55s !important;
    animation-delay: 0.05s !important;
  }

  .hero-radar__pop.is-show {
    opacity: 1;
    transform: none;
    clip-path: none;
  }
}

/* ===== Hero v2 — light med-tech ===== */
.hero-v2 {
  --hx: 0;
  --hy: 0;
  isolation: isolate;
}

.hero-v2__glow {
  position: absolute;
  inset: -10% -5% 20%;
  background:
    radial-gradient(ellipse 50% 45% at 12% 30%, rgba(10, 17, 88, 0.07), transparent 60%),
    radial-gradient(ellipse 40% 40% at 88% 20%, rgba(10, 17, 88, 0.05), transparent 55%),
    radial-gradient(ellipse 55% 35% at 70% 85%, rgba(10, 17, 88, 0.04), transparent 50%);
  pointer-events: none;
}

.hero-v2__grid {
  position: absolute;
  inset: 0;
  opacity: 0.4;
  background-image:
    linear-gradient(rgba(10, 17, 88, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 17, 88, 0.035) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse 75% 65% at 50% 40%, #000 15%, transparent 72%);
          mask-image: radial-gradient(ellipse 75% 65% at 50% 40%, #000 15%, transparent 72%);
  pointer-events: none;
}

.hero-v2.is-ready .hero-v2__copy > * {
  animation: hero-v2-rise 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-v2.is-ready .hero-v2__copy > *:nth-child(1) { animation-delay: 0.05s; }
.hero-v2.is-ready .hero-v2__copy > *:nth-child(2) { animation-delay: 0.12s; }
.hero-v2.is-ready .hero-v2__copy > *:nth-child(3) { animation-delay: 0.18s; }
.hero-v2.is-ready .hero-v2__copy > *:nth-child(4) { animation-delay: 0.24s; }
.hero-v2.is-ready .hero-v2__copy > *:nth-child(5) { animation-delay: 0.3s; }
.hero-v2.is-ready .hero-v2__copy > *:nth-child(6) { animation-delay: 0.36s; }

@keyframes hero-v2-rise {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.hero-v2__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 6px 20px rgba(10, 17, 88, 0.06);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 0.7rem;
  font-weight: 600;
  color: #333;
  letter-spacing: 0.02em;
  max-width: 100%;
}

.hero-v2__badge-sep {
  color: #555;
}

.hero-v2__badge-short {
  font-family: var(--font-heading);
  font-size: 0.85rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #0a0a0a;
  line-height: 1;
  background: linear-gradient(180deg, transparent 58%, rgba(255, 214, 0, 0.5) 58%);
}

.hero-v2__badge-full {
  font-size: 0.62rem;
  font-weight: 650;
  letter-spacing: 0.02em;
  text-transform: none;
  color: #555;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(52vw, 22rem);
}

@media (max-width: 420px) {
  .hero-v2__badge-sep,
  .hero-v2__badge-full {
    display: none;
  }
}

.hero-v2__badge-dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: #ffd600;
  box-shadow: 0 0 0 3px rgba(255, 214, 0, 0.25);
  animation: hero-v2-pulse 2.2s ease-out infinite;
}

@keyframes hero-v2-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(255, 214, 0, 0.45);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(255, 214, 0, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(255, 214, 0, 0);
  }
}

.hero-v2__accent {
  position: relative;
  color: #0a1158;
  background: linear-gradient(180deg, transparent 62%, rgba(255, 214, 0, 0.45) 62%);
}

.hero-v2__btn-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 2.75rem;
  padding: 0 1.25rem;
  border-radius: 999px;
  background: #0a1158;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 650;
  box-shadow: 0 10px 28px rgba(10, 17, 88, 0.28);
  transition: transform 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
  cursor: pointer;
}

.hero-v2__btn-primary:hover {
  background: #060a3d;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(10, 17, 88, 0.32);
}

.hero-v2__btn-ghost {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 2.75rem;
  padding: 0 1.2rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(10, 17, 88, 0.12);
  color: #0a0a0a;
  font-size: 0.875rem;
  font-weight: 650;
  backdrop-filter: blur(10px);
  transition: border-color 0.25s, transform 0.25s, background 0.25s;
  cursor: pointer;
}

.hero-v2__btn-ghost:hover {
  border-color: #ffd600;
  background: #fff;
  transform: translateY(-1px);
}

.hero-v2__btn-text {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  height: 2.75rem;
  padding: 0 0.35rem;
  background: transparent;
  border: 0;
  color: #0a1158;
  font-size: 0.875rem;
  font-weight: 700;
  cursor: pointer;
  transition: color 0.2s, gap 0.2s;
}

.hero-v2__btn-text:hover {
  color: #060a3d;
  gap: 0.5rem;
}

.hero-v2__pill {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 14px rgba(10, 17, 88, 0.04);
  font-size: 0.7rem;
  font-weight: 650;
  color: #0a0a0a;
  animation: hero-v2-rise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: border-color 0.25s, transform 0.25s;
}

.hero-v2__pill:hover {
  border-color: rgba(10, 17, 88, 0.22);
  transform: translateY(-2px);
}

.hero-v2__pill i {
  font-size: 0.85rem;
}

/* Stage */
.hero-v2__stage {
  position: relative;
  min-height: min(52vh, 440px);
  padding: 1.25rem 0.5rem 1.25rem 1.25rem;
}

.hero-v2__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(40px);
  pointer-events: none;
  transition: transform 0.35s ease-out;
}

.hero-v2__orb--a {
  width: 180px;
  height: 180px;
  top: 8%;
  right: 4%;
  background: rgba(10, 17, 88, 0.12);
  transform: translate3d(calc(var(--hx) * 14px), calc(var(--hy) * 10px), 0);
}

.hero-v2__orb--b {
  width: 140px;
  height: 140px;
  bottom: 12%;
  left: 2%;
  background: rgba(10, 17, 88, 0.08);
  transform: translate3d(calc(var(--hx) * -12px), calc(var(--hy) * 14px), 0);
}

.hero-v2__frame {
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-radius: 1.75rem;
  aspect-ratio: 16 / 11;
  max-height: 420px;
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow:
    0 24px 60px rgba(10, 17, 88, 0.12),
    0 2px 0 rgba(255, 255, 255, 0.8) inset;
  background: #e8eaf2;
  transform: translate3d(calc(var(--hx) * 8px), calc(var(--hy) * 6px), 0);
  transition: transform 0.35s ease-out;
}

.hero-v2__photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transform: scale(1.04) translate3d(calc(var(--hx) * -10px), calc(var(--hy) * -8px), 0);
  transition: transform 0.45s ease-out;
}

.hero-v2__frame-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(10, 17, 88, 0.28) 0%, transparent 45%),
    linear-gradient(to top, rgba(10, 17, 88, 0.35) 0%, transparent 42%);
  pointer-events: none;
}

.hero-v2__ecg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 18%;
  width: 100%;
  height: 52px;
  color: rgba(255, 214, 0, 0.75);
  opacity: 0.9;
  pointer-events: none;
  z-index: 3;
}

.hero-v2__play {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 999px;
  border: 0;
  background: #fff;
  color: #0a1158;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 16px 40px rgba(10, 17, 88, 0.28);
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.hero-v2__play:hover:not(:disabled) {
  transform: scale(1.06);
  box-shadow: 0 20px 48px rgba(10, 17, 88, 0.34);
}

.hero-v2__play:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.hero-v2__play-ring {
  position: absolute;
  inset: -8px;
  border-radius: 999px;
  border: 2px solid rgba(255, 214, 0, 0.7);
  animation: hero-v2-ring 2.4s ease-out infinite;
}

@keyframes hero-v2-ring {
  0% {
    transform: scale(0.92);
    opacity: 0.9;
  }
  100% {
    transform: scale(1.28);
    opacity: 0;
  }
}

.hero-v2__chip {
  position: absolute;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.55rem 0.85rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 10px 28px rgba(10, 17, 88, 0.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 0.7rem;
  font-weight: 700;
  color: #0a1158;
  transition: transform 0.35s ease-out;
}

.hero-v2__chip i {
  font-size: 0.95rem;
  color: #0a1158;
}

.hero-v2__chip--a {
  left: 4%;
  bottom: 10%;
  transform: translate3d(calc(var(--hx) * 18px), calc(var(--hy) * 12px), 0);
}

.hero-v2__chip--b {
  right: 5%;
  top: 10%;
  transform: translate3d(calc(var(--hx) * -16px), calc(var(--hy) * 14px), 0);
}

.hero-v2__orbit {
  position: absolute;
  z-index: 1;
  inset: 4% 2% 4% 8%;
  pointer-events: none;
}

.hero-v2__orbit-item {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.75rem;
  height: 2.75rem;
  margin: -1.375rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(10, 17, 88, 0.1);
  box-shadow: 0 8px 22px rgba(10, 17, 88, 0.1);
  color: #0a1158;
  font-size: 1.1rem;
  transform: rotate(var(--oa)) translateX(min(42vw, 210px)) rotate(calc(var(--oa) * -1));
}

.hero-v2__ring {
  position: absolute;
  z-index: 0;
  left: 52%;
  top: 48%;
  width: min(78%, 380px);
  aspect-ratio: 1;
  translate: -50% -50%;
  border-radius: 999px;
  border: 1px dashed rgba(10, 17, 88, 0.12);
  pointer-events: none;
  animation: hero-orbit 64s linear infinite;
}

.hero-v2__ring--2 {
  width: min(92%, 460px);
  border-style: solid;
  border-color: rgba(10, 17, 88, 0.06);
  animation-direction: reverse;
  animation-duration: 90s;
}

.hero-tool {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-height: 5.5rem;
  padding: 0.95rem 1rem;
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.82);
  border: 1px solid rgba(10, 17, 88, 0.09);
  box-shadow: 0 8px 24px rgba(10, 17, 88, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s, background 0.3s;
  animation: hero-v2-rise 0.65s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.hero-tool:hover {
  border-color: rgba(10, 17, 88, 0.28);
  box-shadow: 0 16px 40px rgba(10, 17, 88, 0.1);
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.95);
}

.hero-tool.is-accent {
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.96), rgba(10, 17, 88, 0.88));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 14px 36px rgba(10, 17, 88, 0.22);
}

.hero-tool.is-accent:hover {
  background: linear-gradient(135deg, #0a1158, #121a6e);
  transform: translateY(-3px);
  box-shadow: 0 18px 44px rgba(10, 17, 88, 0.28);
}

.hero-tool__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0.07);
  color: #0a1158;
  font-size: 1.15rem;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), background 0.25s;
}

.hero-tool:hover .hero-tool__icon {
  transform: scale(1.08) rotate(-4deg);
}

.hero-tool.is-accent .hero-tool__icon,
.hero-tool__icon.is-accent {
  background: rgba(255, 214, 0, 0.18);
  color: #ffd600;
}

.hero-tool__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-right: 1.25rem;
}

.hero-tool__title {
  font-family: var(--font-heading);
  font-size: 0.9rem;
  font-weight: 750;
  line-height: 1.25;
  color: #0a0a0a;
}

.hero-tool.is-accent .hero-tool__title {
  color: #fff;
}

.hero-tool__desc {
  font-size: 0.72rem;
  line-height: 1.4;
  color: #555;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hero-tool.is-accent .hero-tool__desc {
  color: rgba(255, 255, 255, 0.72);
}

.hero-tool__go {
  position: absolute;
  right: 0.85rem;
  top: 0.85rem;
  width: 1.65rem;
  height: 1.65rem;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0.06);
  color: #0a1158;
  font-size: 0.85rem;
  transition: transform 0.3s ease, background 0.25s, color 0.25s;
}

.hero-tool:hover .hero-tool__go {
  transform: translate(2px, -2px);
  background: #0a1158;
  color: #ffd600;
}

.hero-tool.is-accent .hero-tool__go {
  background: rgba(255, 255, 255, 0.12);
  color: #ffd600;
}

.hero-tool.is-accent:hover .hero-tool__go {
  background: #ffd600;
  color: #0a1158;
}

.hero-tool__shine {
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255, 255, 255, 0.35) 48%, transparent 62%);
  translate: -120% 0;
  pointer-events: none;
}

.hero-tool:hover .hero-tool__shine {
  animation: hero-tool-shine 0.7s ease forwards;
}

@keyframes hero-tool-shine {
  to {
    translate: 120% 0;
  }
}

.hero-v2__band {
  position: relative;
  background:
    radial-gradient(ellipse 60% 80% at 0% 50%, rgba(255, 214, 0, 0.08), transparent 50%),
    radial-gradient(ellipse 50% 70% at 100% 30%, rgba(255, 255, 255, 0.06), transparent 45%),
    #0a1158;
  color: #fff;
  overflow: hidden;
}

.hero-v2__band-cta {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  height: 2.5rem;
  padding: 0 1.2rem;
  border-radius: 999px;
  background: #fff;
  color: #0a1158;
  font-size: 0.875rem;
  font-weight: 700;
  transition: background 0.25s, transform 0.25s;
  cursor: pointer;
}

.hero-v2__band-cta:hover {
  background: #ffd600;
  transform: translateY(-1px);
}

.hero-v2__stat {
  border-radius: 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  padding: 0.85rem 0.75rem;
  text-align: center;
  transition: background 0.25s, border-color 0.25s, transform 0.25s;
}

@media (min-width: 640px) {
  .hero-v2__stat {
    text-align: left;
  }
}

.hero-v2__stat:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 214, 0, 0.35);
  transform: translateY(-2px);
}

@media (max-width: 1023px) {
  .hero-v2__orbit,
  .hero-v2__ring {
    display: none;
  }

  .hero-v2__stage {
    min-height: 0;
    padding: 0;
  }

  .hero-v2__frame {
    max-height: 320px;
  }

  .hero-v2 .section-container {
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
  }
}

@media (max-width: 640px) {
  .hero-v2__btn-primary,
  .hero-v2__btn-ghost,
  .hero-v2__btn-text {
    min-height: var(--touch-min);
  }

  .hero-v2__pill {
    font-size: 0.65rem;
    padding: 0.35rem 0.6rem;
  }

  .hero-tool {
    min-height: 4.75rem;
    padding: 0.8rem 0.85rem;
    gap: 0.55rem;
  }

  .hero-tool__title {
    font-size: 0.82rem;
  }

  .hero-tool__desc {
    font-size: 0.68rem;
    -webkit-line-clamp: 2;
  }

  .hero-tool__go {
    width: 1.5rem;
    height: 1.5rem;
    top: 0.7rem;
    right: 0.7rem;
  }

  .hero-v2__band .section-container {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }

  .hero-v2__stat {
    padding: 0.7rem 0.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-v2.is-ready .hero-v2__copy > *,
  .hero-v2__pill,
  .hero-v2__card,
  .hero-v2__badge-dot,
  .hero-v2__play-ring,
  .hero-v2__ring,
  .hero-orbit-spin {
    animation: none !important;
  }

  .hero-v2__frame,
  .hero-v2__photo,
  .hero-v2__chip,
  .hero-v2__orb {
    transition: none !important;
    transform: none !important;
  }
}

/* Hero readable glass — nearly solid so text never washes out */
.hero-copy-glass {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(28px) saturate(1.4);
  -webkit-backdrop-filter: blur(28px) saturate(1.4);
  border: 1px solid rgba(255, 255, 255, 0.95);
  border-radius: var(--radius-xl);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.9) inset,
    0 16px 40px rgba(15, 20, 30, 0.1);
  color: #0f1419;
  position: relative;
  overflow: hidden;
}

.hero-copy-glass::before {
  content: none;
}

.hero-copy-glass > * {
  position: relative;
  z-index: 1;
}

.glass-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: oklch(var(--background-50) / 0.18);
  backdrop-filter: blur(18px) saturate(1.5);
  -webkit-backdrop-filter: blur(18px) saturate(1.5);
  border: 1px solid oklch(var(--background-50) / 0.32);
  color: oklch(var(--background-50) / 0.95);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  box-shadow: 0 1px 0 oklch(var(--background-50) / 0.25) inset;
}

.icon-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 0.95rem;
  background: oklch(var(--primary-800) / 0.85);
  color: oklch(var(--background-50));
  border: 1px solid oklch(var(--background-50) / 0.15);
  box-shadow:
    0 1px 0 oklch(var(--background-50) / 0.2) inset,
    0 8px 20px oklch(var(--primary-950) / 0.18);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position: relative;
  flex-shrink: 0;
}

.icon-badge::after {
  content: none;
}

.icon-badge-soft {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  background: oklch(var(--primary-50) / 0.9);
  color: oklch(var(--primary-700));
  border: 1px solid oklch(var(--primary-100) / 0.8);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.ios-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--touch-min);
  height: var(--touch-min);
  min-width: var(--touch-min);
  min-height: var(--touch-min);
  border-radius: 999px;
  background: oklch(var(--background-50) / 0.16);
  border: 1px solid oklch(var(--background-50) / 0.22);
  color: inherit;
  backdrop-filter: blur(18px) saturate(var(--glass-sat));
  -webkit-backdrop-filter: blur(18px) saturate(var(--glass-sat));
  transition: background 0.2s var(--ease-ios), transform 0.2s var(--ease-ios);
}

.ios-icon-btn:hover {
  background: oklch(var(--background-50) / 0.28);
  transform: scale(1.04);
}

.ios-icon-btn:active {
  transform: scale(0.96);
}

.nav-glass {
  background: oklch(var(--background-50) / 0.62);
  backdrop-filter: blur(var(--glass-blur-strong)) saturate(1.55);
  -webkit-backdrop-filter: blur(var(--glass-blur-strong)) saturate(1.55);
  border-bottom: 1px solid oklch(var(--primary-100) / 0.55);
  box-shadow: 0 8px 32px oklch(var(--primary-950) / 0.05);
}

.nav-glass-clear {
  background: oklch(var(--background-50) / 0.1);
  backdrop-filter: blur(22px) saturate(1.4);
  -webkit-backdrop-filter: blur(22px) saturate(1.4);
  border-bottom: 1px solid oklch(var(--background-50) / 0.12);
}

.masthead-glass {
  background: oklch(var(--background-50) / 0.55);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
  border-bottom: 1px solid oklch(var(--primary-100) / 0.4);
}

.group:hover .icon-badge-soft,
.med-card:hover .icon-badge-soft {
  transform: scale(1.05);
  background: oklch(var(--primary-100) / 0.95);
}

.blob {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
  pointer-events: none;
  z-index: 0;
  opacity: 0.4;
  animation: blob-float 18s ease-in-out infinite;
}

.blob-a {
  width: 22rem;
  height: 22rem;
  background: oklch(var(--primary-400) / 0.12);
  top: -6rem;
  right: -4rem;
}

.blob-b {
  width: 18rem;
  height: 18rem;
  background: oklch(var(--secondary-400) / 0.1);
  bottom: -5rem;
  left: -3rem;
  animation-delay: -4s;
}

.blob-c {
  width: 14rem;
  height: 14rem;
  background: oklch(var(--primary-300) / 0.1);
  top: 40%;
  left: 45%;
  animation-delay: -7s;
}

.bg-mesh {
  background:
    radial-gradient(ellipse 60% 35% at 10% 0%, oklch(var(--primary-100) / 0.22), transparent),
    radial-gradient(ellipse 45% 28% at 100% 0%, oklch(var(--secondary-100) / 0.16), transparent),
    oklch(var(--background-50));
}

.bg-mesh-dark {
  background:
    radial-gradient(ellipse 60% 45% at 8% 0%, oklch(var(--primary-800) / 0.35), transparent),
    radial-gradient(ellipse 45% 35% at 100% 30%, oklch(var(--primary-700) / 0.2), transparent),
    oklch(var(--primary-950));
}

/* ===== Live heartbeat impulse — soft & slow ===== */
.med-beat {
  position: absolute;
  left: -5%;
  right: -5%;
  top: 44%;
  height: 120px;
  z-index: 1;
  pointer-events: none;
  opacity: 0.72;
  transform: translate3d(calc(var(--mx) * 8px), calc(var(--my) * 5px), 0);
  filter: drop-shadow(0 0 8px rgba(220, 38, 38, 0.1));
}

.med-beat__glow {
  position: absolute;
  inset: 25% 15%;
  background: radial-gradient(ellipse 70% 60% at 50% 50%, rgba(239, 68, 68, 0.06), transparent 70%);
  animation: med-beat-ambient 5.5s ease-in-out infinite;
}

@keyframes med-beat-ambient {
  0%,
  100% {
    opacity: 0.35;
    scale: 1;
  }
  50% {
    opacity: 0.65;
    scale: 1.03;
  }
}

.med-beat__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.med-beat__path--main {
  stroke-dasharray: 1600;
  stroke-dashoffset: 1600;
  animation: med-beat-draw 5.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.med-beat__path--soft {
  stroke-dasharray: 1600;
  stroke-dashoffset: 1600;
  animation: med-beat-draw 5.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: 0.12s;
}

@keyframes med-beat-draw {
  0% {
    stroke-dashoffset: 1600;
    opacity: 0.2;
  }
  42% {
    stroke-dashoffset: 0;
    opacity: 0.7;
  }
  68% {
    stroke-dashoffset: 0;
    opacity: 0.45;
  }
  100% {
    stroke-dashoffset: -1600;
    opacity: 0.1;
  }
}

.med-beat__head {
  position: absolute;
  top: 50%;
  left: 0;
  width: 8px;
  height: 8px;
  margin: -4px;
  border-radius: 999px;
  background: radial-gradient(circle at 35% 35%, rgba(254, 202, 202, 0.7), rgba(239, 68, 68, 0.45) 55%, rgba(185, 28, 28, 0.35) 100%);
  box-shadow:
    0 0 0 0 rgba(239, 68, 68, 0.25),
    0 0 12px 3px rgba(239, 68, 68, 0.18);
  animation: med-beat-head 5.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  z-index: 2;
  opacity: 0.65;
}

.med-beat__head::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 999px;
  border: 1px solid rgba(239, 68, 68, 0.22);
  animation: med-beat-head-ring 5.8s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes med-beat-head {
  0% {
    left: 0%;
    opacity: 0;
    transform: scale(0.6);
  }
  8% {
    opacity: 1;
    transform: scale(1);
  }
  18% {
    top: 50%;
  }
  22% {
    top: 28%;
    transform: scale(1.25);
    box-shadow:
      0 0 0 0 rgba(239, 68, 68, 0.85),
      0 0 28px 10px rgba(239, 68, 68, 0.7),
      0 0 60px 18px rgba(220, 38, 38, 0.4);
  }
  28% {
    top: 72%;
    transform: scale(1.1);
  }
  34% {
    top: 50%;
    transform: scale(1);
  }
  48% {
    top: 38%;
  }
  54% {
    top: 68%;
  }
  60% {
    top: 50%;
  }
  78% {
    left: 100%;
    opacity: 1;
    transform: scale(1);
  }
  100% {
    left: 100%;
    opacity: 0;
    transform: scale(0.5);
  }
}

@keyframes med-beat-head-ring {
  0%,
  18% {
    transform: scale(0.8);
    opacity: 0;
  }
  22% {
    transform: scale(1);
    opacity: 0.9;
  }
  32% {
    transform: scale(2.2);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}

.med-beat__flash {
  display: none;
}

.med-beat__flash::after {
  display: none;
}

@keyframes med-beat-flash {
  to {
    opacity: 0;
  }
}

@keyframes med-beat-flash-b {
  to {
    opacity: 0;
  }
}

@media (max-width: 767px) {
  .med-beat {
    height: 80px;
    top: 50%;
    opacity: 0.4;
  }

  .med-beat__head {
    width: 6px;
    height: 6px;
    margin: -3px;
  }
}

/* ===== Medical atmosphere (mouse + float) ===== */
.med-atmosphere {
  --mx: 0;
  --my: 0;
}

.med-atmosphere__base {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 50% at calc(20% + var(--mx) * 3%) calc(10% + var(--my) * 2%), rgba(10, 17, 88, 0.08), transparent 55%),
    radial-gradient(ellipse 55% 45% at calc(85% + var(--mx) * -2%) calc(30% + var(--my) * 3%), rgba(10, 17, 88, 0.1), transparent 50%),
    radial-gradient(ellipse 50% 40% at calc(50% + var(--mx) * 2%) calc(90% + var(--my) * -2%), rgba(10, 17, 88, 0.06), transparent 55%),
    linear-gradient(165deg, #f7f8fc 0%, #eef1f8 42%, #f3f4f9 100%);
}

.med-atmosphere__grid {
  position: absolute;
  inset: 0;
  opacity: 0.32;
  background-image:
    linear-gradient(rgba(10, 17, 88, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 17, 88, 0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 75%);
          mask-image: radial-gradient(ellipse 80% 70% at 50% 40%, #000 20%, transparent 75%);
  transform: translate3d(calc(var(--mx) * 8px), calc(var(--my) * 6px), 0);
  transition: transform 0.1s linear;
}

.med-atmosphere__orb {
  position: absolute;
  border-radius: 999px;
  filter: blur(48px);
  will-change: transform, translate;
  animation: med-orb-drift 16s ease-in-out infinite;
  transform: translate3d(
    calc(var(--mx) * var(--ox, 18px)),
    calc(var(--my) * var(--oy, 14px)),
    0
  );
}

.med-atmosphere__orb--a {
  width: min(42vw, 380px);
  height: min(42vw, 380px);
  left: -5%;
  top: 8%;
  background: rgba(10, 17, 88, 0.12);
  --ox: 28px;
  --oy: 20px;
}

.med-atmosphere__orb--b {
  width: min(36vw, 320px);
  height: min(36vw, 320px);
  right: -4%;
  top: 35%;
  background: rgba(10, 17, 88, 0.11);
  animation-delay: -5s;
  --ox: -22px;
  --oy: 24px;
}

.med-atmosphere__orb--c {
  width: min(40vw, 360px);
  height: min(40vw, 360px);
  left: 35%;
  bottom: -8%;
  background: rgba(10, 17, 88, 0.08);
  animation-delay: -9s;
  --ox: 16px;
  --oy: -18px;
}

.med-atmosphere__orb--d {
  width: min(28vw, 240px);
  height: min(28vw, 240px);
  left: 58%;
  top: 8%;
  background: rgba(10, 17, 88, 0.07);
  animation-delay: -3s;
  --ox: -18px;
  --oy: 14px;
}

.med-atmosphere__orb--e {
  width: min(32vw, 280px);
  height: min(32vw, 280px);
  left: 8%;
  bottom: 18%;
  background: rgba(10, 17, 88, 0.06);
  animation-delay: -12s;
  --ox: 20px;
  --oy: -12px;
}

.med-atmosphere__hex {
  position: absolute;
  inset: 0;
  opacity: 0.22;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='100' viewBox='0 0 56 100'%3E%3Cpath fill='none' stroke='%230a1158' stroke-opacity='0.12' stroke-width='1' d='M28 0 L56 16 L56 48 L28 64 L0 48 L0 16 Z'/%3E%3C/svg%3E");
  background-size: 56px 100px;
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 60% 50%, #000 10%, transparent 70%);
          mask-image: radial-gradient(ellipse 70% 60% at 60% 50%, #000 10%, transparent 70%);
  transform: translate3d(calc(var(--mx) * -6px), calc(var(--my) * 5px), 0);
}

.med-atmosphere__pulse {
  position: absolute;
  width: 10px;
  height: 10px;
  margin: -5px;
  border-radius: 999px;
  background: rgba(10, 17, 88, 0.35);
  box-shadow: 0 0 0 0 rgba(10, 17, 88, 0.28);
  animation: med-pulse-beat 3.2s ease-out infinite;
  transform: translate3d(
    calc(var(--mx) * 14px * var(--depth, 1)),
    calc(var(--my) * 12px * var(--depth, 1)),
    0
  );
}

.med-atmosphere__pulse--sm {
  width: 7px;
  height: 7px;
  margin: -3.5px;
}

.med-atmosphere__pulse--md {
  width: 10px;
  height: 10px;
  margin: -5px;
}

.med-atmosphere__pulse--lg {
  width: 14px;
  height: 14px;
  margin: -7px;
  background: rgba(10, 17, 88, 0.4);
}

.med-atmosphere__pulse::before,
.med-atmosphere__pulse::after {
  content: "";
  position: absolute;
  inset: -4px;
  border-radius: 999px;
  border: 1px solid rgba(10, 17, 88, 0.22);
  animation: med-pulse-ring 3.2s ease-out infinite;
}

.med-atmosphere__pulse::after {
  inset: -10px;
  animation-delay: 0.55s;
  opacity: 0.7;
}

@keyframes med-pulse-beat {
  0%,
  100% {
    transform: translate3d(
        calc(var(--mx) * 14px * var(--depth, 1)),
        calc(var(--my) * 12px * var(--depth, 1)),
        0
      )
      scale(1);
    opacity: 0.85;
  }
  50% {
    transform: translate3d(
        calc(var(--mx) * 14px * var(--depth, 1)),
        calc(var(--my) * 12px * var(--depth, 1)),
        0
      )
      scale(1.15);
    opacity: 1;
  }
}

@keyframes med-pulse-ring {
  0% {
    transform: scale(0.7);
    opacity: 0.55;
  }
  100% {
    transform: scale(2.4);
    opacity: 0;
  }
}

.med-atmosphere__dot {
  position: absolute;
  width: 4px;
  height: 4px;
  margin: -2px;
  border-radius: 999px;
  background: rgba(10, 17, 88, 0.22);
  animation: med-dot-twinkle 4s ease-in-out infinite;
  transform: translate3d(
    calc(var(--mx) * 10px * var(--depth, 1)),
    calc(var(--my) * 8px * var(--depth, 1)),
    0
  );
}

@keyframes med-dot-twinkle {
  0%,
  100% {
    opacity: 0.25;
    scale: 1;
  }
  50% {
    opacity: 0.8;
    scale: 1.5;
  }
}

.med-atmosphere__links {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0.35;
  transform: translate3d(calc(var(--mx) * 5px), calc(var(--my) * 4px), 0);
}

.med-atmosphere__links-g {
  stroke: rgba(10, 17, 88, 0.18);
  stroke-width: 0.15;
  stroke-dasharray: 1.2 1.2;
  animation: med-links-dash 18s linear infinite;
}

@keyframes med-links-dash {
  to {
    stroke-dashoffset: -24;
  }
}

.med-atmosphere__halo {
  position: absolute;
  border-radius: 999px;
  border: 1px dashed rgba(10, 17, 88, 0.1);
  pointer-events: none;
  animation: med-cross-spin 40s linear infinite;
  transform: translate3d(calc(var(--mx) * 12px), calc(var(--my) * 10px), 0);
}

.med-atmosphere__halo--1 {
  width: min(38vw, 320px);
  height: min(38vw, 320px);
  top: 12%;
  right: 8%;
}

.med-atmosphere__halo--2 {
  width: min(28vw, 220px);
  height: min(28vw, 220px);
  bottom: 16%;
  left: 10%;
  animation-direction: reverse;
  animation-duration: 52s;
  border-style: solid;
  border-color: rgba(10, 17, 88, 0.07);
}

.med-atmosphere__halo--3 {
  width: min(22vw, 180px);
  height: min(22vw, 180px);
  top: 48%;
  left: 48%;
  margin: -90px;
  animation-duration: 28s;
  border-color: rgba(10, 17, 88, 0.09);
}

.med-atmosphere__ecg--mid {
  bottom: auto;
  top: 55%;
  height: 48px;
  color: rgba(10, 17, 88, 0.1);
  opacity: 0.65;
  transform: translate3d(calc(var(--mx) * 6px), calc(var(--my) * -5px), 0);
}

.med-atmosphere__chip {
  position: absolute;
  padding: 0.3rem 0.55rem;
  border-radius: 999px;
  font-size: 0.58rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(10, 17, 88, 0.55);
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(10, 17, 88, 0.08);
  backdrop-filter: blur(8px);
  animation: med-floater-drift 14s ease-in-out infinite;
}

/* Faint floating FJSTI watermarks */
.med-atmosphere__mark {
  position: absolute;
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  color: rgba(10, 17, 88, 0.05);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  animation: med-mark-drift ease-in-out infinite;
  will-change: transform;
}

.med-atmosphere__mark--a {
  top: 18%;
  left: 6%;
  font-size: clamp(1.8rem, 4.5vw, 3.2rem);
  transform: rotate(-12deg);
  animation-duration: 18s;
  animation-delay: 0s;
}

.med-atmosphere__mark--b {
  top: 42%;
  right: 4%;
  left: auto;
  font-size: clamp(2.4rem, 6.5vw, 4.8rem);
  color: rgba(10, 17, 88, 0.04);
  transform: rotate(8deg);
  animation-duration: 22s;
  animation-delay: -6s;
  animation-direction: reverse;
}

.med-atmosphere__mark--c {
  bottom: 14%;
  left: 28%;
  top: auto;
  font-size: clamp(1.5rem, 3.8vw, 2.6rem);
  color: rgba(10, 17, 88, 0.035);
  transform: rotate(-6deg);
  animation-duration: 20s;
  animation-delay: -11s;
}

.med-atmosphere__mark.is-static {
  animation: none;
}

@keyframes med-mark-drift {
  0%,
  100% {
    translate: 0 0;
  }
  25% {
    translate: 14px -18px;
  }
  50% {
    translate: -10px 12px;
  }
  75% {
    translate: 18px 8px;
  }
}

/* Faint pulsing medical + marks (same vibe as FJSTI watermarks) */
.med-atmosphere__plus {
  position: absolute;
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 300;
  line-height: 1;
  color: rgba(10, 17, 88, 0.14);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  pointer-events: none;
  animation-name: med-plus-pulse;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  will-change: transform, opacity;
}

.med-atmosphere__plus--1 {
  top: 12%;
  left: 18%;
  font-size: 1.6rem;
}
.med-atmosphere__plus--2 {
  top: 26%;
  right: 16%;
  left: auto;
  font-size: 2.1rem;
  color: rgba(10, 17, 88, 0.11);
}
.med-atmosphere__plus--3 {
  top: 48%;
  left: 8%;
  font-size: 1.35rem;
}
.med-atmosphere__plus--4 {
  top: 62%;
  right: 28%;
  left: auto;
  font-size: 1.9rem;
  color: rgba(10, 17, 88, 0.1);
}
.med-atmosphere__plus--5 {
  bottom: 18%;
  left: 42%;
  top: auto;
  font-size: 1.5rem;
}
.med-atmosphere__plus.is-static {
  animation: none;
  opacity: 0.35;
}

@keyframes med-plus-pulse {
  0%,
  100% {
    opacity: 0.22;
    transform: translate3d(0, 0, 0) scale(0.92);
  }
  35% {
    opacity: 0.55;
    transform: translate3d(4px, -6px, 0) scale(1.12);
  }
  55% {
    opacity: 0.4;
    transform: translate3d(-3px, 4px, 0) scale(1);
  }
  75% {
    opacity: 0.5;
    transform: translate3d(6px, 2px, 0) scale(1.08);
  }
}

/* 5 faint organ icons — same vibe as + / FJSTI */
.med-atmosphere__organ {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 0.85rem;
  color: rgba(10, 17, 88, 0.16);
  background: rgba(255, 255, 255, 0.22);
  border: 1px solid rgba(10, 17, 88, 0.06);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  pointer-events: none;
  animation: med-organ-beat 1.35s ease-in-out infinite;
  will-change: transform, opacity;
}

.med-atmosphere__organ i {
  font-size: 1.25rem;
  line-height: 1;
}

.med-atmosphere__organ--1 {
  top: 16%;
  right: 12%;
  left: auto;
  animation-duration: 1.3s;
}

.med-atmosphere__organ--2 {
  top: 40%;
  left: 10%;
  animation-duration: 1.45s;
  color: rgba(10, 17, 88, 0.13);
}

.med-atmosphere__organ--3 {
  top: 55%;
  right: 20%;
  left: auto;
  width: 3rem;
  height: 3rem;
  animation-duration: 1.4s;
}

.med-atmosphere__organ--4 {
  bottom: 22%;
  left: 30%;
  top: auto;
  animation-duration: 1.5s;
  color: rgba(10, 17, 88, 0.12);
}

.med-atmosphere__organ--5 {
  top: 28%;
  left: 48%;
  width: 2.5rem;
  height: 2.5rem;
  animation-duration: 1.35s;
  color: rgba(10, 17, 88, 0.11);
}

.med-atmosphere__organ.is-static {
  animation: none;
  opacity: 0.4;
}

/* Heartbeat lub-dub on organ chips */
@keyframes med-organ-beat {
  0%,
  100% {
    opacity: 0.28;
    transform: translate3d(0, 0, 0) scale(1);
  }
  12% {
    opacity: 0.55;
    transform: translate3d(0, -2px, 0) scale(1.12);
  }
  22% {
    opacity: 0.32;
    transform: translate3d(0, 0, 0) scale(0.96);
  }
  34% {
    opacity: 0.5;
    transform: translate3d(0, -1px, 0) scale(1.08);
  }
  48% {
    opacity: 0.3;
    transform: translate3d(2px, 3px, 0) scale(1);
  }
}

/* Heartbeat impulse rings (lub-dub expanding) */
.med-atmosphere__heartbeat {
  position: absolute;
  width: 56px;
  height: 56px;
  margin: -28px;
  border-radius: 999px;
  border: 1.5px solid rgba(10, 17, 88, 0.16);
  pointer-events: none;
  animation: med-heartbeat-ring 1.35s ease-out infinite;
}

.med-atmosphere__heartbeat::before,
.med-atmosphere__heartbeat::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 999px;
  border: 1px solid rgba(10, 17, 88, 0.12);
  animation: med-heartbeat-ring 1.35s ease-out infinite;
}

.med-atmosphere__heartbeat::before {
  animation-delay: 0.14s;
}

.med-atmosphere__heartbeat::after {
  animation-delay: 0.28s;
  border-color: rgba(10, 17, 88, 0.08);
}

.med-atmosphere__heartbeat--a {
  top: 20%;
  left: 70%;
  animation-delay: 0s;
}

.med-atmosphere__heartbeat--b {
  top: 60%;
  left: 16%;
  width: 72px;
  height: 72px;
  margin: -36px;
  animation-delay: 0.45s;
}

.med-atmosphere__heartbeat--c {
  bottom: 18%;
  right: 18%;
  left: auto;
  top: auto;
  width: 48px;
  height: 48px;
  margin: -24px;
  animation-delay: 0.9s;
}

.med-atmosphere__heartbeat.is-static {
  animation: none;
  opacity: 0.2;
}

.med-atmosphere__heartbeat.is-static::before,
.med-atmosphere__heartbeat.is-static::after {
  animation: none;
}

@keyframes med-heartbeat-ring {
  0% {
    transform: scale(0.35);
    opacity: 0.55;
  }
  14% {
    transform: scale(0.85);
    opacity: 0.35;
  }
  22% {
    transform: scale(0.55);
    opacity: 0.2;
  }
  36% {
    transform: scale(1.15);
    opacity: 0.28;
  }
  100% {
    transform: scale(1.9);
    opacity: 0;
  }
}

.med-atmosphere__chip--a {
  top: 32%;
  left: 18%;
  animation-delay: -2s;
  transform: translate3d(calc(var(--mx) * 20px), calc(var(--my) * 12px), 0);
}

.med-atmosphere__chip--b {
  top: 68%;
  right: 14%;
  animation-delay: -5s;
  transform: translate3d(calc(var(--mx) * -16px), calc(var(--my) * 14px), 0);
}

.med-atmosphere__chip--c {
  top: 18%;
  right: 28%;
  animation-delay: -8s;
  transform: translate3d(calc(var(--mx) * 12px), calc(var(--my) * -10px), 0);
}

@keyframes med-orb-drift {
  0%,
  100% {
    translate: 0 0;
    scale: 1;
  }
  33% {
    translate: 18px -22px;
    scale: 1.06;
  }
  66% {
    translate: -14px 12px;
    scale: 0.96;
  }
}

.med-atmosphere__ecg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 22%;
  width: 100%;
  height: 64px;
  color: rgba(10, 17, 88, 0.1);
  opacity: 0.7;
  transform: translate3d(calc(var(--mx) * 8px), calc(var(--my) * 3px), 0);
}

.med-atmosphere__ecg--top {
  bottom: auto;
  top: 22%;
  height: 56px;
  color: rgba(10, 17, 88, 0.12);
  opacity: 0.75;
  transform: translate3d(calc(var(--mx) * -8px), calc(var(--my) * 6px), 0);
}

.med-atmosphere__ecg-path {
  stroke-dasharray: 420;
  animation: med-ecg 4.5s ease-in-out infinite;
}

@keyframes med-ecg {
  0% {
    stroke-dashoffset: 420;
    opacity: 0.35;
  }
  35% {
    stroke-dashoffset: 0;
    opacity: 0.9;
  }
  100% {
    stroke-dashoffset: 0;
    opacity: 0.4;
  }
}

.med-atmosphere__floater {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  color: #0a1158;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 6px 18px rgba(10, 17, 88, 0.05);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  opacity: 0.55;
  animation: med-floater-drift ease-in-out infinite;
  transform: translate3d(
    calc(var(--mx) * 14px * var(--depth, 1)),
    calc(var(--my) * 10px * var(--depth, 1)),
    0
  );
  will-change: transform;
}

.med-atmosphere__floater::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  border: 1px solid rgba(10, 17, 88, 0.12);
  opacity: 0;
  animation: med-floater-ring 3.2s ease-out infinite;
  animation-delay: inherit;
  pointer-events: none;
}

@keyframes med-floater-ring {
  0% {
    opacity: 0.45;
    scale: 0.92;
  }
  100% {
    opacity: 0;
    scale: 1.35;
  }
}

.med-atmosphere__floater i {
  color: #0a1158;
}

.med-atmosphere__floater.is-static {
  animation: none;
  opacity: 0.7;
}

.med-atmosphere__floater.is-static::after {
  animation: none;
  opacity: 0;
}

@keyframes med-floater-drift {
  0%,
  100% {
    translate: 0 0;
  }
  50% {
    translate: 0 -12px;
  }
}

.med-atmosphere__cross {
  position: absolute;
  width: 28px;
  height: 28px;
  opacity: 0.12;
  background:
    linear-gradient(#0a1158, #0a1158) center/8px 100% no-repeat,
    linear-gradient(#0a1158, #0a1158) center/100% 8px no-repeat;
  animation: med-cross-spin 28s linear infinite;
  transform: translate3d(calc(var(--mx) * 30px), calc(var(--my) * 20px), 0);
}

.med-atmosphere__cross--1 {
  top: 28%;
  left: 62%;
}

.med-atmosphere__cross--2 {
  bottom: 22%;
  left: 28%;
  animation-direction: reverse;
  opacity: 0.09;
}

.med-atmosphere__cross--3 {
  top: 58%;
  right: 18%;
  width: 20px;
  height: 20px;
  opacity: 0.1;
  animation-duration: 36s;
}

.med-atmosphere__cross--4 {
  top: 14%;
  left: 40%;
  width: 18px;
  height: 18px;
  opacity: 0.08;
  animation-direction: reverse;
  animation-duration: 44s;
}

@keyframes med-cross-spin {
  from {
    rotate: 0deg;
  }
  to {
    rotate: 360deg;
  }
}

/* Atmosphere density — phone / tablet */
@media (max-width: 1023px) {
  .med-hide-md {
    display: none !important;
  }

  .med-atmosphere__orb--d,
  .med-atmosphere__orb--e,
  .med-atmosphere__halo--3,
  .med-atmosphere__ecg--mid {
    display: none;
  }

  .med-atmosphere__grid {
    opacity: 0.35;
  }

  .med-atmosphere__floater {
    transform: scale(0.88);
  }
}

@media (max-width: 767px) {
  .med-hide-sm {
    display: none !important;
  }

  .med-atmosphere__orb--c,
  .med-atmosphere__halo--2,
  .med-atmosphere__links,
  .med-atmosphere__ecg--top {
    display: none;
  }

  .med-atmosphere__floater {
    opacity: 0.55;
  }

  .med-atmosphere__dot {
    opacity: 0.4;
  }
}

.float-y {
  animation: float-y 5s ease-in-out infinite;
}

.shine-border {
  position: relative;
}

.shine-border::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(135deg, oklch(var(--primary-400)), transparent 40%, oklch(var(--secondary-400)));
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  opacity: 0.7;
  pointer-events: none;
}

:focus-visible {
  outline: 2px solid oklch(var(--primary-500));
  outline-offset: 3px;
}

a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none;
}

.reveal {
  opacity: 0;
  transform: translate3d(0, 0.75rem, 0);
  transition:
    opacity var(--duration-reveal) var(--ease-out),
    transform var(--duration-reveal) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}

.reveal-fade {
  opacity: 0;
  transition: opacity var(--duration-reveal) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal-fade.is-visible {
  opacity: 1;
}

.reveal-left {
  opacity: 0;
  transform: translate3d(-2rem, 0, 0);
  transition:
    opacity var(--duration-reveal) var(--ease-out),
    transform var(--duration-reveal) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal-left.is-visible {
  opacity: 1;
  transform: none;
}

.reveal-right {
  opacity: 0;
  transform: translate3d(2rem, 0, 0);
  transition:
    opacity var(--duration-reveal) var(--ease-out),
    transform var(--duration-reveal) var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal-right.is-visible {
  opacity: 1;
  transform: none;
}

.reveal-scale {
  opacity: 0;
  transform: scale(0.92);
  transition:
    opacity var(--duration-reveal) var(--ease-out),
    transform var(--duration-reveal) var(--ease-spring);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal-scale.is-visible {
  opacity: 1;
  transform: none;
}

/* Leadership featured portrait — crisp rendering */
.leadership-portrait {
  isolation: isolate;
  overflow: hidden;
}

.leadership-portrait img {
  transform: translateZ(0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  image-rendering: -webkit-optimize-contrast;
  filter: contrast(1.06) saturate(1.04) brightness(1.02);
}

.masonry-gallery {
  -moz-columns: 1;
       columns: 1;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
}

@media (min-width: 640px) {
  .masonry-gallery {
    -moz-columns: 2;
         columns: 2;
  }
}

@media (min-width: 1024px) {
  .masonry-gallery {
    -moz-columns: 3;
         columns: 3;
  }
}

.masonry-gallery > * {
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  margin-bottom: 1rem;
}

@keyframes pulse-dot {
  0%,
  100% {
    transform: scale(1);
    opacity: 1;
  }
  50% {
    transform: scale(1.35);
    opacity: 0.7;
  }
}

@keyframes ring-pulse {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    transform: scale(1.25);
    opacity: 0;
  }
}

@keyframes blob-float {
  0%,
  100% {
    transform: translate(0, 0) scale(1);
  }
  33% {
    transform: translate(18px, -22px) scale(1.06);
  }
  66% {
    transform: translate(-14px, 12px) scale(0.96);
  }
}

@keyframes float-y {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes kenburns {
  0% {
    transform: scale(1.02) translate(0, 0);
  }
  100% {
    transform: scale(1.08) translate(-0.8%, -0.5%);
  }
}

.animate-kenburns {
  animation: kenburns 18s ease-in-out infinite alternate;
}

@keyframes hero-orbit {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.hero-orbit-spin {
  animation: hero-orbit 48s linear infinite;
}

@keyframes hero-ecg-draw {
  0% {
    stroke-dashoffset: 480;
  }
  40% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: 0;
  }
}

.hero-ecg {
  stroke-dasharray: 480;
  animation: hero-ecg-draw 3.5s ease-in-out infinite;
}

/* Linear hover chips under hero CTAs */
.hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  height: 2.5rem;
  padding: 0 0.85rem;
  border-radius: 999px;
  border: 1px solid oklch(var(--background-50) / 0.28);
  background: oklch(var(--background-50) / 0.1);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  color: oklch(var(--background-50));
  font-size: 0.8125rem;
  transition: background 0.3s, border-color 0.3s, padding 0.35s ease;
  cursor: default;
}

a.hero-chip {
  cursor: pointer;
}

.hero-chip:hover {
  background: oklch(var(--background-50) / 0.2);
  border-color: oklch(var(--secondary-400) / 0.55);
  padding-right: 1rem;
}

.hero-chip__label {
  max-width: 0;
  opacity: 0;
  overflow: hidden;
  white-space: nowrap;
  font-size: 0.7rem;
  font-weight: 500;
  color: oklch(var(--background-50) / 0.8);
  transition: max-width 0.35s ease, opacity 0.25s ease, margin 0.35s ease;
}

.hero-chip:hover .hero-chip__label {
  max-width: 11rem;
  opacity: 1;
  margin-left: 0.15rem;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.shimmer-bar {
  background: linear-gradient(
    90deg,
    oklch(var(--primary-200)) 0%,
    oklch(var(--background-50)) 45%,
    oklch(var(--secondary-200)) 100%
  );
  background-size: 200% 100%;
  animation: shimmer 3s linear infinite;
}

@keyframes partners-scroll {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes partners-scroll-reverse {
  from {
    transform: translate3d(-50%, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.partners-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  padding: 0.35rem 0;
}

.partners-marquee + .partners-marquee {
  margin-top: 0.65rem;
}

.partners-marquee__track {
  display: flex;
  flex-wrap: nowrap;
  width: -moz-max-content;
  width: max-content;
  animation: partners-scroll 18s linear infinite;
  will-change: transform;
}

.partners-marquee__track--reverse {
  animation-name: partners-scroll-reverse;
  animation-duration: 22s;
}

.partners-marquee:hover .partners-marquee__track {
  animation-play-state: paused;
}

.partners-marquee__group {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.75rem;
  padding-right: 0.75rem;
}

.partners-marquee__item {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  flex-shrink: 0;
  height: 2.65rem;
  padding: 0 1.15rem;
  border-radius: 0;
  background: transparent;
  border: 1px solid oklch(var(--primary-100));
  color: oklch(var(--foreground-600));
  font-size: 0.78125rem;
  font-weight: 500;
  white-space: nowrap;
  box-shadow: none;
  transition: border-color 0.2s, color 0.2s;
}

.partners-marquee__item i {
  font-size: 0.95rem;
  color: oklch(var(--primary-400));
}

.partners-marquee__item:hover {
  border-color: oklch(var(--primary-300));
  color: oklch(var(--primary-800));
  transform: none;
}

.partners-marquee__fade {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4.5rem;
  z-index: 2;
  pointer-events: none;
}

.partners-marquee__fade--left {
  left: 0;
  background: linear-gradient(90deg, oklch(var(--background-50)), transparent);
}

.partners-marquee__fade--right {
  right: 0;
  background: linear-gradient(270deg, oklch(var(--background-50)), transparent);
}

.partners-card {
  transition: background 0.25s, border-color 0.25s;
}

.partners-card:hover {
  background: oklch(var(--primary-50) / 0.5);
}

.partners-card:hover .partners-card__icon {
  background: oklch(var(--primary-950));
  color: oklch(var(--secondary-400));
  border-color: oklch(var(--primary-950));
}

/* ===== Sitewide responsive polish ===== */
@media (max-width: 1023px) {
  :root {
    --section-py: clamp(1rem, 2.2vw, 1.75rem);
    --section-px: clamp(0.9rem, 3.5vw, 2rem);
  }

  .partners-marquee__fade {
    width: 2.5rem;
  }

  .hero-tool {
    min-height: 5rem;
  }
}

@media (max-width: 640px) {
  :root {
    --section-px: clamp(0.75rem, 4vw, 1.1rem);
  }

  .section-title {
    font-size: clamp(1.25rem, 5.5vw, 1.65rem);
  }

  .section-eyebrow {
    font-size: 0.68rem;
    padding: 0.3rem 0.7rem 0.3rem 0.65rem;
  }

  .nav-glass .section-container {
    padding-left: max(0.75rem, env(safe-area-inset-left, 0px));
    padding-right: max(0.75rem, env(safe-area-inset-right, 0px));
  }

  .hero-v2__btn-primary,
  .hero-v2__btn-ghost {
    flex: 1 1 auto;
    justify-content: center;
    min-width: 9.5rem;
    max-width: 100%;
  }
}

@media (min-width: 641px) and (max-width: 1023px) {
  .hero-radar {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }

  .hero-mobile-links {
    max-width: 520px;
    margin-left: auto;
    margin-right: auto;
  }
}

.partners-card__icon {
  transition: background 0.25s, color 0.25s, border-color 0.25s;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .reveal,
  .reveal-fade,
  .reveal-left,
  .reveal-right,
  .reveal-scale,
  .animate-marquee,
  .animate-kenburns,
  .float-y,
  .blob,
  .icon-badge::after,
  .eyebrow-dot,
  .shimmer-bar,
  .hero-orbit-spin,
  .hero-ecg,
  .hero-v2__badge-dot,
  .hero-v2__play-ring,
  .hero-v2__ring,
  .hero-radar__ring,
  .hero-radar__scan,
  .hero-radar__burst,
  .hero-radar__node-ring,
  .hero-radar__meter span,
  .med-atmosphere__orb,
  .med-atmosphere__floater,
  .med-atmosphere__ecg-path,
  .med-atmosphere__cross,
  .med-atmosphere__floater::after,
  .med-atmosphere__plus,
  .med-atmosphere__organ,
  .med-atmosphere__heartbeat,
  .med-atmosphere__heartbeat::before,
  .med-atmosphere__heartbeat::after,
  .med-atmosphere__impulse,
  .med-atmosphere__impulse::before,
  .med-atmosphere__pulse,
  .med-atmosphere__pulse::before,
  .med-atmosphere__pulse::after,
  .med-atmosphere__dot,
  .med-atmosphere__links-g,
  .med-atmosphere__halo,
  .med-atmosphere__chip,
  .med-beat__path--main,
  .med-beat__path--soft,
  .med-beat__head,
  .med-beat__head::before,
  .med-beat__flash,
  .med-beat__flash::after,
  .med-beat__glow {
    animation: none !important;
  }

  .med-atmosphere__orb,
  .med-atmosphere__floater,
  .med-atmosphere__grid,
  .med-atmosphere__ecg,
  .med-atmosphere__cross,
  .med-atmosphere__plus,
  .med-atmosphere__organ,
  .med-atmosphere__heartbeat,
  .med-atmosphere__impulse,
  .med-atmosphere__pulse,
  .med-atmosphere__dot,
  .med-atmosphere__links,
  .med-atmosphere__halo,
  .med-atmosphere__chip,
  .med-atmosphere__hex {
    transform: none !important;
    translate: none !important;
  }

  .hero-ecg {
    stroke-dashoffset: 0 !important;
  }

  /* Keep partner marquees moving, just slower */
  .partners-marquee__track {
    animation-duration: 36s !important;
  }
}

/* ===== AI cards — brand navy + yellow animated gradient ===== */
.ai-panel {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: rgba(255, 255, 255, 0.78);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.7) inset,
    0 10px 30px rgba(10, 17, 88, 0.06);
  backdrop-filter: blur(18px) saturate(1.2);
  -webkit-backdrop-filter: blur(18px) saturate(1.2);
  padding: 1rem 1.1rem;
}

@media (min-width: 768px) {
  .ai-panel {
    padding: 1.15rem 1.25rem;
  }
}

.ai-panel__glow {
  position: absolute;
  inset: -2px;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(
    120deg,
    #ffffff 0%,
    rgba(10, 17, 88, 0.05) 22%,
    rgba(247, 248, 252, 0.98) 40%,
    rgba(10, 17, 88, 0.09) 58%,
    rgba(255, 255, 255, 0.95) 78%,
    rgba(10, 17, 88, 0.04) 100%
  );
  background-size: 320% 320%;
  animation: ai-panel-gradient 22s ease-in-out infinite;
  pointer-events: none;
}

.ai-panel__shine {
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: linear-gradient(
    105deg,
    transparent 30%,
    rgba(255, 255, 255, 0.5) 48%,
    rgba(10, 17, 88, 0.06) 52%,
    transparent 70%
  );
  background-size: 220% 100%;
  animation: ai-panel-sheen 14s linear infinite;
  pointer-events: none;
  opacity: 0.7;
}

.ai-panel__content {
  position: relative;
  z-index: 1;
}

.ai-panel__icon {
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.75rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0a1158;
  color: #ffffff;
  box-shadow: 0 4px 14px rgba(10, 17, 88, 0.22);
}

.ai-panel__icon i {
  display: inline-block;
  animation: ai-panel-spark 5s ease-in-out infinite;
}

@keyframes ai-panel-gradient {
  0% {
    background-position: 0% 40%;
  }
  25% {
    background-position: 60% 20%;
  }
  50% {
    background-position: 100% 60%;
  }
  75% {
    background-position: 40% 100%;
  }
  100% {
    background-position: 0% 40%;
  }
}

@keyframes ai-panel-sheen {
  0% {
    background-position: 140% 0;
  }
  100% {
    background-position: -140% 0;
  }
}

@keyframes ai-panel-spark {
  0%,
  100% {
    transform: scale(1) rotate(0deg);
  }
  50% {
    transform: scale(1.1) rotate(10deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .ai-panel__glow,
  .ai-panel__shine,
  .ai-panel__icon i {
    animation: none !important;
  }

  .ai-panel__glow {
    background-position: 40% 50%;
  }
}

/* Navbar dropdown — to'liq oq */
.nav-dropdown-panel {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border: 1px solid rgba(10, 17, 88, 0.12) !important;
  border-radius: 12px;
  box-shadow:
    0 8px 16px rgba(10, 17, 88, 0.06),
    0 24px 48px rgba(10, 17, 88, 0.12) !important;
  color: #0f172a;
  isolation: isolate;
}

.nav-dropdown-panel a,
.nav-dropdown-panel button {
  color: #1e293b !important;
  font-size: 0.875rem;
  line-height: 1.35;
}

.nav-dropdown-panel a:hover,
.nav-dropdown-panel button:hover {
  background: #f0f4ff !important;
  color: #0a1158 !important;
}

/* CMS typography */
.prose-content,
.cms-article {
  font-size: 1rem;
  line-height: 1.85;
  color: #1e293b;
  word-wrap: break-word;
}

.prose-content p,
.cms-article p {
  margin-bottom: 1rem;
}

.prose-content h1,
.prose-content h2,
.prose-content h3,
.prose-content h4,
.cms-article h1,
.cms-article h2,
.cms-article h3,
.cms-article h4 {
  color: #0a1158;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  letter-spacing: -0.02em;
  line-height: 1.3;
}

.prose-content h2,
.cms-article h2 {
  font-size: 1.375rem;
  margin: 1.75rem 0 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 2px solid #ffd600;
}

.prose-content ul,
.prose-content ol,
.cms-article ul,
.cms-article ol {
  padding-left: 1.35rem;
  margin: 0.75rem 0 1.1rem;
}

.prose-content a,
.cms-article a {
  color: #0a1158;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 500;
}

.prose-content table,
.cms-article table {
  display: block;
  width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  margin: 1.25rem 0;
}

.prose-content font,
.cms-article font {
  font-family: inherit !important;
}

/* CMS sidebar */
.cms-sidebar {
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.1);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(10, 17, 88, 0.06);
}

.cms-sidebar__head {
  padding: 1rem 1.25rem;
  background: linear-gradient(135deg, #0a1158 0%, #121d6e 100%);
  color: #ffffff;
  font-family: var(--font-heading, Manrope, sans-serif);
  font-weight: 600;
  font-size: 0.9375rem;
}

.cms-sidebar__link {
  display: block;
  padding: 0.75rem 1.25rem;
  font-size: 0.875rem;
  line-height: 1.4;
  color: #334155;
  border-bottom: 1px solid #f1f5f9;
  transition: background 0.2s, color 0.2s;
}

.cms-sidebar__link:hover {
  background: #f0f4ff;
  color: #0a1158;
}

.cms-sidebar__link--active {
  background: #eef2ff;
  color: #0a1158;
  font-weight: 600;
  border-left: 3px solid #ffd600;
  padding-left: calc(1.25rem - 3px);
}

/* Rich CMS layout */
.cms-article--rich {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-article--rich .cms-section-title {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  font-size: clamp(1.15rem, 2.2vw, 1.35rem);
  font-weight: 700;
  color: var(--cms-accent);
  text-align: left;
  margin: 0 0 0.85rem;
  padding: 0.75rem 1rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #f8fafc 100%);
  border-left: 4px solid var(--cms-gold);
  border-radius: 0 0.75rem 0.75rem 0;
  border-bottom: none;
}

.cms-article--rich .cms-section-title:not(:first-child) {
  margin-top: 2rem;
}

.cms-article--rich .cms-lead,
.cms-article--about .cms-intro {
  font-size: 1.0625rem;
  line-height: 1.9;
  color: #334155;
  padding: 0.85rem 1rem;
  margin-bottom: 1.25rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(10, 17, 88, 0.04);
}

.cms-article--rich .cms-subsection-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--cms-accent);
  margin: 1.5rem 0 0.65rem;
}

.cms-article--rich .cms-subsection-title::before {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: var(--cms-gold);
  flex-shrink: 0;
}

.cms-article--rich .cms-value-title {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--cms-accent);
  margin: 1.15rem 0 0.45rem;
  padding: 0.45rem 0.75rem;
  background: rgba(255, 214, 0, 0.15);
  border-radius: 0.5rem;
  display: inline-block;
}

.cms-article--rich .cms-section-divider {
  height: 1px;
  margin: 1.75rem 0;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(10, 17, 88, 0.15) 20%,
    rgba(255, 214, 0, 0.5) 50%,
    rgba(10, 17, 88, 0.15) 80%,
    transparent
  );
}

.cms-article--rich .cms-feature-list {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.cms-article--rich .cms-feature-list > li {
  position: relative;
  margin: 0;
  padding: 0.8rem 1rem 0.8rem 2.5rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
  border-left: 3px solid var(--cms-accent);
  line-height: 1.65;
}

.cms-article--rich .cms-feature-list > li::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 1.15rem;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cms-gold);
}

.cms-article--rich .cms-feature-list > li > p {
  margin: 0;
}

.cms-article--rich p {
  text-align: left !important;
}

/* Institut xaqida */
.cms-article--about .cms-hero-figure {
  margin: -0.25rem -0.5rem 1.25rem;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(10, 17, 88, 0.12);
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-article--about .cms-hero-image {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 420px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 30%;
     object-position: center 30%;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
}

.cms-article--about .cms-institute-title {
  font-size: clamp(1.2rem, 2.5vw, 1.5rem);
  font-weight: 800;
  text-align: center;
  color: var(--cms-accent);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0 0 1rem;
  padding: 0.65rem 1rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.06) 0%, rgba(255, 214, 0, 0.12) 100%);
  border-radius: 0.75rem;
  border-bottom: none;
}

.cms-article--about .cms-intro {
  text-indent: 1.25rem;
  padding: 0;
  background: transparent;
  border: none;
  box-shadow: none;
}

.cms-article--about .cms-intro::first-letter {
  font-size: 2.5em;
  font-weight: 700;
  float: left;
  line-height: 0.85;
  margin: 0.08em 0.12em 0 0;
  color: var(--cms-accent);
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--about .cms-mission-callout {
  position: relative;
  margin: 1.25rem 0 1.75rem;
  padding: 1.15rem 1.25rem 1.15rem 3.25rem;
  background: linear-gradient(135deg, #0a1158 0%, #121d6e 100%);
  color: #ffffff;
  border-radius: 1rem;
  box-shadow: 0 8px 24px rgba(10, 17, 88, 0.18);
}

.cms-article--about .cms-mission-callout::before {
  content: "\201C";
  position: absolute;
  left: 1rem;
  top: 0.65rem;
  font-size: 2.5rem;
  line-height: 1;
  color: var(--cms-gold);
  font-family: Georgia, serif;
}

.cms-article--about .cms-mission-callout p {
  margin: 0 !important;
  color: rgba(255, 255, 255, 0.95) !important;
  line-height: 1.75;
}

.cms-article--about .cms-mission-callout strong {
  color: #ffffff !important;
}

.cms-article--about .cms-stat-grid {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 1.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
}

.cms-article--about .cms-stat-grid > li {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.85rem 1rem;
  margin: 0;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(10, 17, 88, 0.04);
}

.cms-article--about .cms-stat-grid > li::before {
  display: none;
}

.cms-article--about .cms-stat-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-article--about .cms-stat-value {
  font-size: 1.125rem;
  font-weight: 800;
  color: var(--cms-accent);
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--about .cms-dept-card {
  padding: 0.9rem 1rem 0.9rem 2.75rem;
  margin-bottom: 0.55rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
  line-height: 1.65;
  position: relative;
}

.cms-article--about .cms-dept-card::before {
  content: attr(data-num);
  position: absolute;
  left: 0.85rem;
  top: 0.85rem;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.4rem;
  background: var(--cms-accent);
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cms-article--about .cms-dept-card a {
  display: inline-flex;
  margin-left: 0.35rem;
  padding: 0.15rem 0.5rem;
  background: rgba(10, 17, 88, 0.08);
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 0.8125rem;
  font-weight: 600;
}

.cms-article--about .cms-dept-card a:hover {
  background: var(--cms-accent);
  color: #fff !important;
}

@media (max-width: 640px) {
  .cms-article--about .cms-stat-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cms-article--about .cms-institute-title {
    font-size: 1.05rem;
  }
}

/* Institut sertifikatlari — galereya */
.cms-article--certificates {
  padding-top: 0.5rem !important;
}

.cms-cert-page {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-cert-intro {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  margin: 0 0 1.25rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #f8fafc 100%);
  border-left: 3px solid var(--cms-gold);
  border-radius: 0 0.65rem 0.65rem 0;
}

.cms-cert-gallery {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.cms-cert-card {
  position: relative;
  margin: 0;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(10, 17, 88, 0.06);
  transition: transform 0.25s, box-shadow 0.25s;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.cms-cert-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px rgba(10, 17, 88, 0.1);
  border-color: rgba(10, 17, 88, 0.15);
}

.cms-cert-card__preview {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: #f1f5f9;
  cursor: zoom-in;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.cms-cert-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  display: block;
  padding: 0.5rem;
  box-sizing: border-box;
}

.cms-cert-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0.55);
  color: #ffffff;
  opacity: 0;
  transition: opacity 0.25s;
}

.cms-cert-card:hover .cms-cert-card__overlay,
.cms-cert-card__preview:focus-visible .cms-cert-card__overlay {
  opacity: 1;
}

.cms-cert-card__caption {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.75rem 1rem;
  margin: 0;
  flex: 1;
  border-top: 1px solid #f1f5f9;
}

.cms-cert-card__index {
  font-size: 0.6875rem;
  font-weight: 800;
  color: var(--cms-gold);
  background: var(--cms-accent);
  padding: 0.2rem 0.4rem;
  border-radius: 0.35rem;
  line-height: 1;
  flex-shrink: 0;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-cert-card__title {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #1e293b;
  line-height: 1.4;
}

.cms-cert-card__badge {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  background: var(--cms-gold);
  color: var(--cms-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
  pointer-events: none;
}

.cms-cert-footer {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-top: 1.25rem;
  padding: 1rem 1.1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #475569;
}

.cms-cert-footer p {
  margin: 0;
}

.cms-cert-lightbox {
  position: fixed;
  inset: 0;
  z-index: 200;
  background: rgba(10, 17, 88, 0.85);
  backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  animation: cms-cert-fade-in 0.2s ease;
}

@keyframes cms-cert-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.cms-cert-lightbox__panel {
  position: relative;
  max-width: min(920px, 96vw);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #ffffff;
  border-radius: 1rem;
  padding: 1rem;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}

.cms-cert-lightbox__close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: #f1f5f9;
  color: #0a1158;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.cms-cert-lightbox__close:hover {
  background: #e2e8f0;
}

.cms-cert-lightbox__img {
  max-width: 100%;
  max-height: calc(92vh - 7rem);
  width: auto;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 0.5rem;
}

.cms-cert-lightbox__caption {
  margin: 0.75rem 0 0.5rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0a1158;
  text-align: center;
  max-width: 36rem;
  line-height: 1.45;
}

.cms-cert-lightbox__download {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0a1158;
  text-decoration: none;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  background: #f0f4ff;
}

.cms-cert-lightbox__download:hover {
  background: #0a1158;
  color: #fff;
}

@media (min-width: 768px) {
  .cms-cert-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.15rem;
  }
}

@media (min-width: 1024px) {
  .cms-cert-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 480px) {
  .cms-cert-gallery {
    grid-template-columns: 1fr;
  }
}

/* Institut tuzilmasi — diagramma */
.cms-diagram-page {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-diagram-frame {
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #f8fafc;
  overflow: auto;
  max-height: 70vh;
  box-shadow: inset 0 2px 8px rgba(10, 17, 88, 0.04);
}

.cms-diagram-frame__btn {
  display: block;
  width: 100%;
  min-width: -moz-min-content;
  min-width: min-content;
  padding: 0;
  border: none;
  background: transparent;
  cursor: zoom-in;
  position: relative;
}

.cms-diagram-frame__img {
  display: block;
  width: auto;
  max-width: none;
  height: auto;
  min-width: 100%;
  max-height: 68vh;
  margin: 0 auto;
  padding: 1rem;
  box-sizing: border-box;
  -o-object-fit: contain;
     object-fit: contain;
}

.cms-diagram-frame__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  background: rgba(10, 17, 88, 0.45);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.25s;
}

.cms-diagram-frame__btn:hover .cms-diagram-frame__overlay,
.cms-diagram-frame__btn:focus-visible .cms-diagram-frame__overlay {
  opacity: 1;
}

.cms-diagram-hint {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0.85rem 0 0;
  font-size: 0.8125rem;
  color: #64748b;
}

/* Yo'l xaritasi — sahifalar */
.cms-roadmap-gallery {
  grid-template-columns: repeat(2, 1fr);
}

.cms-roadmap-gallery .cms-cert-card__preview {
  aspect-ratio: 3 / 4;
}

.cms-roadmap-gallery .cms-cert-card__badge {
  background: var(--cms-accent, #0a1158);
  color: var(--cms-gold, #ffd600);
}

.cms-article--gallery {
  padding-top: 0.5rem !important;
}

.cms-article--roadmap .cms-cert-intro,
.cms-article--diagram .cms-cert-intro,
.cms-article--certificates .cms-cert-intro {
  margin-bottom: 1rem;
}

@media (min-width: 1024px) {
  .cms-roadmap-gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 640px) {
  .cms-roadmap-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  .cms-diagram-frame {
    max-height: 55vh;
  }
}

/* Institut tarixi */
.cms-article--history {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-article--history .cms-history-hero {
  display: flex;
  justify-content: center;
  padding: 0.5rem 0 1rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid #e2e8f0;
}

.cms-article--history .cms-history-logo-wrap {
  text-align: center;
}

.cms-article--history .cms-history-logo {
  display: block;
  max-width: 96px !important;
  height: auto !important;
  margin: 0 auto;
  filter: drop-shadow(0 2px 8px rgba(10, 17, 88, 0.1));
}

.cms-article--history .cms-history-block {
  margin-bottom: 2rem;
  padding-bottom: 0.25rem;
}

.cms-article--history .cms-history-block:last-child {
  margin-bottom: 0;
}

.cms-article--history .cms-section-title {
  margin: 0 0 1rem;
}

.cms-article--history .cms-history-subhead {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--cms-accent);
  margin: 1.25rem 0 0.65rem;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--history .cms-history-subhead::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: var(--cms-gold);
  flex-shrink: 0;
}

.cms-article--history .cms-intro {
  font-size: 1rem;
  line-height: 1.85;
  color: #334155;
  padding: 0.9rem 1rem;
  margin: 0 0 1.15rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #f8fafc 100%);
  border-left: 3px solid var(--cms-gold);
  border-radius: 0 0.65rem 0.65rem 0;
}

.cms-article--history .cms-history-directors-intro {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
  margin: 0 0 1.15rem;
  padding: 0.75rem 1rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
}

.cms-article--history .cms-history-block--directors {
  margin-top: 1.75rem;
  padding-top: 0.25rem;
}

.cms-article--history .cms-timeline {
  list-style: none;
  padding: 0;
  margin: 0.75rem 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.cms-article--history .cms-timeline__item {
  position: relative;
  margin: 0;
  padding: 0.85rem 1rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-left: 3px solid var(--cms-accent);
  border-radius: 0.65rem;
  line-height: 1.65;
  font-size: 0.9375rem;
  box-shadow: 0 1px 6px rgba(10, 17, 88, 0.04);
}

.cms-article--history .cms-timeline__year {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 0 0.4rem;
  padding: 0.2rem 0.55rem;
  font-size: 0.75rem;
  font-weight: 800;
  color: var(--cms-accent);
  background: rgba(255, 214, 0, 0.35);
  border-radius: 999px;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--history .cms-history-people--academic {
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

.cms-article--history .cms-history-person--academic {
  flex-direction: row;
  align-items: flex-start;
  text-align: left;
  padding: 0.85rem;
}

.cms-article--history .cms-history-person--academic .cms-history-person__img {
  width: 72px !important;
  height: 86px !important;
}

.cms-article--history .cms-history-person--academic .cms-history-person__name {
  font-size: 0.875rem;
  text-align: left;
}

.cms-article--history .cms-history-subhead--academic {
  margin-top: 2rem;
}

.cms-article--history .cms-academic-intro {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #475569;
  margin: 0 0 1rem;
}

.cms-article--history .cms-history-people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0.75rem 0 0.5rem;
}

.cms-article--history .cms-history-people--directors {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

@media (min-width: 1100px) {
  .cms-article--history .cms-history-people--directors {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-article--history .cms-history-person {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0.75rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(10, 17, 88, 0.04);
  transition: border-color 0.2s, box-shadow 0.2s;
}

.cms-article--history .cms-history-person--director {
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem 0.85rem 1.1rem;
  border-radius: 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  position: relative;
  overflow: hidden;
}

.cms-article--history .cms-history-person--director::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #0a1158, #ffd600);
}

.cms-article--history .cms-history-person--director:hover {
  border-color: rgba(10, 17, 88, 0.22);
  box-shadow: 0 8px 22px rgba(10, 17, 88, 0.09);
}

.cms-article--history .cms-history-person--current {
  border-color: rgba(255, 214, 0, 0.65);
  box-shadow: 0 6px 20px rgba(10, 17, 88, 0.1);
}

.cms-article--history .cms-history-person--current::before {
  height: 4px;
  background: linear-gradient(90deg, #ffd600, #0a1158);
}

.cms-article--history .cms-history-person__photo {
  flex-shrink: 0;
  position: relative;
}

.cms-article--history .cms-history-person--director .cms-history-person__photo {
  margin-bottom: 0.35rem;
}

.cms-article--history .cms-history-person__img {
  display: block;
  width: 64px !important;
  height: 76px !important;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  border-radius: 0.5rem;
  border: 2px solid rgba(255, 214, 0, 0.85);
  background: #f1f5f9;
}

.cms-article--history .cms-history-person--director .cms-history-person__img {
  width: 92px !important;
  height: 108px !important;
  border-radius: 0.75rem;
  border: 3px solid #ffffff;
  box-shadow:
    0 0 0 2px rgba(255, 214, 0, 0.85),
    0 6px 16px rgba(10, 17, 88, 0.12);
}

.cms-article--history .cms-history-person__index {
  position: absolute;
  top: -0.35rem;
  left: -0.35rem;
  min-width: 1.35rem;
  height: 1.35rem;
  padding: 0 0.35rem;
  border-radius: 999px;
  background: #0a1158;
  color: #ffd600;
  font-size: 0.6875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading, Manrope, sans-serif);
  box-shadow: 0 2px 6px rgba(10, 17, 88, 0.25);
}

.cms-article--history .cms-history-person__info {
  flex: 1;
  min-width: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #475569;
}

.cms-article--history .cms-history-person--director .cms-history-person__info {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}

.cms-article--history .cms-history-person__info p {
  margin: 0 0 0.25rem;
}

.cms-article--history .cms-history-person__period {
  display: inline-block;
  margin: 0 0 0.35rem;
  padding: 0.2rem 0.6rem;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  color: #0a1158;
  background: rgba(255, 214, 0, 0.28);
  border-radius: 999px;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--history .cms-history-person__name {
  font-size: 0.8125rem;
  font-weight: 800;
  color: var(--cms-accent);
  margin: 0 0 0.15rem;
  line-height: 1.35;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--history .cms-history-person--director .cms-history-person__name {
  font-size: 0.875rem;
  line-height: 1.4;
  max-width: 100%;
}

.cms-article--history .cms-history-person__degree {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
  line-height: 1.45;
}

.cms-article--history .cms-history-person__role {
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.55;
  color: #475569;
}

.cms-article--history .cms-history-person__lifespan {
  display: inline-block;
  margin-top: 0.35rem;
  padding: 0.15rem 0.5rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #64748b;
  background: #f1f5f9;
  border-radius: 0.35rem;
}

.cms-article--history .cms-history-person--current .cms-history-person__period {
  background: #0a1158;
  color: #ffd600;
}

.cms-article--history .cms-history-person__info strong {
  font-size: 0.75rem;
  font-weight: 600;
  color: #64748b;
}

.cms-article--history .cms-history-block--story p {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: #334155;
  text-align: justify;
  margin-bottom: 0.85rem;
}

.cms-article--history .cms-history-archive {
  float: right;
  max-width: 220px;
  margin: 0 0 0.85rem 1rem;
  padding: 0.35rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
  box-shadow: 0 2px 10px rgba(10, 17, 88, 0.06);
}

.cms-article--history .cms-history-archive__img {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 160px;
  -o-object-fit: contain;
     object-fit: contain;
  border-radius: 0.4rem;
}

.cms-article--history .cms-photo-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.65rem;
  margin: 1rem 0 0;
}

.cms-article--history .cms-photo-grid__cell {
  margin: 0;
  border-radius: 0.65rem;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  aspect-ratio: 16 / 10;
  background: #f1f5f9;
}

.cms-article--history .cms-photo-grid__cell img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.cms-article--history .cms-section-divider {
  clear: both;
  margin: 1.5rem 0;
}

@media (max-width: 900px) {
  .cms-article--history .cms-history-people,
  .cms-article--history .cms-history-people--directors {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .cms-article--history .cms-history-archive {
    float: none;
    max-width: 100%;
    margin: 0 0 1rem;
  }

  .cms-article--history .cms-photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .cms-article--history .cms-history-person__img {
    width: 56px !important;
    height: 68px !important;
  }

  .cms-article--history .cms-history-person--director .cms-history-person__img {
    width: 80px !important;
    height: 96px !important;
  }
}

@media (max-width: 400px) {
  .cms-article--history .cms-photo-grid {
    grid-template-columns: 1fr;
  }
}

/* USMLE dasturi */
.cms-article--usmle {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-article--usmle .cms-usmle-intro {
  font-size: 1.0625rem;
  line-height: 1.85;
  color: #334155;
  padding: 1rem 1.15rem;
  margin: 0 0 1.5rem;
  background: linear-gradient(135deg, #eef2ff 0%, #f8fafc 100%);
  border-left: 4px solid var(--cms-gold);
  border-radius: 0 0.75rem 0.75rem 0;
}

.cms-article--usmle .cms-usmle-step {
  margin: 0 0 1.15rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 4px 16px rgba(10, 17, 88, 0.05);
}

.cms-article--usmle .cms-usmle-step__head {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.85rem 1.15rem;
  background: linear-gradient(135deg, #0a1158 0%, #121d6e 100%);
  color: #ffffff;
}

.cms-article--usmle .cms-usmle-step__num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 0.65rem;
  background: var(--cms-gold);
  color: var(--cms-accent);
  font-weight: 800;
  font-size: 1.125rem;
  font-family: var(--font-heading, Manrope, sans-serif);
  flex-shrink: 0;
}

.cms-article--usmle .cms-usmle-step__label {
  font-weight: 700;
  font-size: 1rem;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--usmle .cms-usmle-step__body {
  padding: 1rem 1.15rem 1.15rem;
  line-height: 1.8;
  color: #334155;
}

.cms-article--usmle .cms-usmle-step__body p {
  margin: 0 0 0.75rem;
}

.cms-article--usmle .cms-usmle-step__body p:last-child {
  margin-bottom: 0;
}

.cms-article--usmle .cms-usmle-downloads {
  margin: 1.5rem 0 0;
  padding: 1rem;
  background: #f8fafc;
  border: 1px dashed #cbd5e1;
  border-radius: 0.85rem;
}

.cms-article--usmle .cms-usmle-download {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.65rem 1.15rem;
  background: var(--cms-accent);
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 0.65rem;
  font-weight: 600;
  font-size: 0.9375rem;
  transition: background 0.2s;
}

.cms-article--usmle .cms-usmle-download:hover {
  background: #060a3d;
}

.cms-article--usmle .cms-usmle-download::before {
  content: "⬇";
  font-size: 1rem;
}

/* Lavozim yo'riqnomasi — hujjat ko'rinishi */
.cms-article--document .cms-diagram-frame {
  max-height: 75vh;
}

.cms-article--document .cms-diagram-frame__img {
  max-height: 72vh;
}

/* ECAQA akkreditatsiya — ixcham sertifikat */
.cms-article--accreditation {
  padding-top: 0.25rem !important;
}

.cms-diagram-page--accreditation {
  max-width: 560px;
  margin: 0 auto;
}

.cms-diagram-frame--accreditation {
  max-height: 52vh;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 0.85rem;
  background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
}

.cms-diagram-frame__img--accreditation {
  max-height: 48vh !important;
  max-width: 100% !important;
  min-width: unset !important;
  width: auto !important;
  margin: 0 auto;
  padding: 0.75rem !important;
  -o-object-fit: contain;
     object-fit: contain;
}

.cms-cert-lightbox__img {
  max-height: calc(92vh - 7rem);
}

/* Ichki tartib qoidalar */
.cms-article--regulations {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-article--regulations .cms-reg-title {
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 800;
  text-align: center;
  color: var(--cms-accent);
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #f8fafc 100%);
  border-radius: 0.75rem;
  border-left: 4px solid var(--cms-gold);
  line-height: 1.45;
}

.cms-article--regulations .cms-reg-title--split {
  margin-top: 1.75rem;
  border-left-color: var(--cms-accent);
}

.cms-article--regulations .cms-reg-intro {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: #334155;
  text-align: center;
  padding: 0.9rem 1rem;
  margin: 0 0 1.25rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.75rem;
}

.cms-article--regulations .cms-reg-chapter {
  font-size: 1rem;
  font-weight: 800;
  text-align: center;
  color: var(--cms-accent);
  margin: 1.5rem 0 0.85rem;
  padding: 0.55rem 0.85rem;
  background: rgba(255, 214, 0, 0.15);
  border-radius: 0.5rem;
  font-family: var(--font-heading, Manrope, sans-serif);
}

.cms-article--regulations .cms-reg-article {
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--cms-accent);
  margin: 1.15rem 0 0.45rem;
  padding-left: 0.65rem;
  border-left: 3px solid var(--cms-gold);
}

.cms-article--regulations .cms-reg-def {
  margin: 0.55rem 0;
  padding: 0.75rem 0.9rem;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-left: 3px solid var(--cms-accent);
  border-radius: 0.55rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #334155;
}

.cms-article--regulations .cms-reg-def strong {
  color: var(--cms-accent);
  font-weight: 800;
}

.cms-article--regulations .cms-reg-clause {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: #334155;
  margin: 0.65rem 0;
  text-align: justify;
}

.cms-article--regulations .cms-reg-text {
  font-size: 0.9375rem;
  line-height: 1.85;
  color: #334155;
  margin: 0.35rem 0 0.85rem;
  text-align: justify;
}

.cms-article--regulations .cms-reg-pdf-wrap {
  margin: 1.25rem 0 0;
  padding: 0.85rem 1rem;
  background: #f0f4ff;
  border-radius: 0.65rem;
  border: 1px dashed rgba(10, 17, 88, 0.2);
}

.cms-article--regulations .cms-reg-pdf-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-weight: 700;
  color: var(--cms-accent) !important;
  text-decoration: none !important;
}

.cms-article--regulations .cms-reg-pdf-link:hover {
  text-decoration: underline !important;
}

.cms-article--regulations .cms-reg-split {
  margin: 2rem 0 0.5rem;
}

/* Tibbiyot islohotlari */
.cms-article--reforms,
.cms-reforms-page {
  --cms-accent: #0a1158;
  --cms-gold: #ffd600;
}

.cms-reforms-lead {
  font-size: 1rem;
  line-height: 1.85;
  color: #334155;
  margin: 0 0 1.15rem;
  padding: 1rem 1.15rem;
  background: linear-gradient(135deg, #f0f4ff 0%, #f8fafc 100%);
  border-left: 4px solid var(--cms-gold);
  border-radius: 0 0.75rem 0.75rem 0;
}

.cms-reforms-list {
  list-style: none;
  padding: 0;
  margin: 0 0 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.cms-reforms-list__item {
  position: relative;
  margin: 0;
  padding: 0.75rem 1rem 0.75rem 2.35rem;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 0.65rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #334155;
}

.cms-reforms-list__item::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 1.1rem;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--cms-gold);
  box-shadow: 0 0 0 2px var(--cms-accent);
}

.cms-reforms-highlight {
  display: flex;
  gap: 0.85rem;
  align-items: flex-start;
  margin: 0 0 1.5rem;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, #0a1158 0%, #121d6e 100%);
  color: rgba(255, 255, 255, 0.95);
  border-radius: 0.85rem;
  font-size: 0.9375rem;
  line-height: 1.7;
}

.cms-reforms-highlight p {
  margin: 0;
}

.cms-reforms-pdf__download {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
  padding: 0.65rem 1.15rem;
  background: var(--cms-accent);
  color: #ffffff !important;
  text-decoration: none !important;
  border-radius: 0.65rem;
  font-weight: 600;
  font-size: 0.9375rem;
}

.cms-reforms-pdf__download:hover {
  background: #060a3d;
}

.cms-reforms-pdf__frame {
  border: 1px solid #e2e8f0;
  border-radius: 0.85rem;
  overflow: hidden;
  background: #f8fafc;
  min-height: 480px;
}

.cms-reforms-pdf__iframe {
  display: block;
  width: 100%;
  height: min(70vh, 620px);
  border: none;
}

@media (max-width: 640px) {
  .cms-diagram-frame--accreditation {
    max-height: 42vh;
  }

  .cms-diagram-frame__img--accreditation {
    max-height: 38vh !important;
  }

  .cms-reforms-pdf__frame {
    min-height: 360px;
  }
}

/* ── Institut kengashi ── */
.council-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #ffd600;
  padding-left: calc(1.25rem - 3px);
}

.council-section__intro {
  margin-bottom: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-article--council .cms-council-intro {
  font-size: 1.0625rem;
  line-height: 1.75;
  color: #334155;
  margin-bottom: 1.5rem;
  padding: 1.125rem 1.25rem;
  background: linear-gradient(135deg, #f8fafc 0%, #eef2ff 100%);
  border-left: 4px solid #0a1158;
  border-radius: 0 0.75rem 0.75rem 0;
}

.cms-article--council .cms-council-subhead {
  font-family: var(--font-heading, inherit);
  font-size: 1.125rem;
  font-weight: 700;
  color: #0a1158;
  margin: 1.5rem 0 1rem;
}

.cms-article--council .cms-council-tasks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.625rem;
}

.cms-article--council .cms-council-tasks > li {
  position: relative;
  padding: 0.875rem 1rem 0.875rem 2.5rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  border-radius: 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #334155;
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.12);
}

.cms-article--council .cms-council-tasks > li::before {
  content: "";
  position: absolute;
  left: 1rem;
  top: 1.125rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #ffd600;
  box-shadow: 0 0 0 3px rgba(255, 214, 0, 0.35);
}

.cms-article--council .cms-council-text {
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #475569;
  margin-bottom: 1rem;
}

/* Kengash qarorlari */
.cms-article--council-decisions .cms-council-decisions {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.625rem;
}

.cms-article--council-decisions .cms-council-decision {
  display: flex;
  align-items: flex-start;
  gap: 0.875rem;
  padding: 0.875rem 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  border-radius: 0.75rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-article--council-decisions .cms-council-decision:hover {
  border-color: rgba(10, 17, 88, 0.18);
  box-shadow: 0 8px 24px -12px rgba(10, 17, 88, 0.15);
}

.cms-article--council-decisions .cms-council-decision__icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: rgba(10, 17, 88, 0.06);
  color: #0a1158;
  font-size: 1.125rem;
}

.cms-article--council-decisions .cms-council-decision__text {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.5;
  color: #0f172a;
}

/* Avtoreferatlar */
.cms-article--autoreferat .cms-autoreferat-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .cms-article--autoreferat .cms-autoreferat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-article--autoreferat .cms-autoreferat-card {
  padding: 1.125rem 1.25rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  border-radius: 0.875rem;
  box-shadow: 0 8px 28px -16px rgba(10, 17, 88, 0.14);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.cms-article--autoreferat .cms-autoreferat-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px -16px rgba(10, 17, 88, 0.18);
}

.cms-article--autoreferat .cms-autoreferat-card__council {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748b;
  line-height: 1.45;
  margin-bottom: 0.625rem;
}

.cms-article--autoreferat .cms-autoreferat-card__author {
  font-family: var(--font-heading, inherit);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 0.5rem;
  line-height: 1.35;
}

.cms-article--autoreferat .cms-autoreferat-card__topic {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #475569;
  margin: 0;
}

/* PDF viewer (kengash) */
.cms-council-pdf__download {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.75rem;
  background: #0a1158;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}

.cms-council-pdf__download:hover {
  background: #060a3d;
}

.cms-council-pdf__frame {
  width: 100%;
  min-height: 520px;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.1);
  background: #f1f5f9;
  box-shadow: 0 12px 40px -20px rgba(10, 17, 88, 0.2);
}

.cms-council-pdf__iframe {
  width: 100%;
  height: 72vh;
  min-height: 520px;
  border: none;
}

.cms-council-pdf--compact .cms-council-pdf__frame {
  max-width: 36rem;
  margin: 0 auto;
  min-height: 240px;
}

.cms-council-pdf--compact .cms-council-pdf__iframe {
  height: 38vh;
  min-height: 240px;
  max-height: 360px;
}

.cms-council-pdf--compact .cms-council-pdf__download {
  font-size: 0.8125rem;
  padding: 0.625rem 1rem;
}

.cms-article--council-pdf {
  padding: 0 !important;
}

@media (max-width: 640px) {
  .cms-council-pdf__iframe {
    min-height: 380px;
    height: 60vh;
  }

  .cms-council-pdf--compact .cms-council-pdf__iframe {
    min-height: 200px;
    max-height: 280px;
    height: 32vh;
  }

  .cms-article--autoreferat .cms-autoreferat-grid {
    grid-template-columns: 1fr;
  }
}

/* ── FJSTI Ilmiy jurnali ── */
.journal-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #ffd600;
  padding-left: calc(1.25rem - 3px);
}

.journal-section__intro {
  margin-bottom: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-article--journal-pdf {
  padding: 0 !important;
}

/* Tahrir hay'ati */
.cms-article--journal-editorial .cms-journal-editorial__title {
  font-family: var(--font-heading, inherit);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 1.25rem;
  text-align: center;
}

.cms-journal-editorial__grid {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .cms-journal-editorial__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-journal-editorial__card {
  padding: 1rem 1.125rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
  border-radius: 0.75rem;
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.1);
}

.cms-journal-editorial__role {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
  margin: 0 0 0.375rem;
}

.cms-journal-editorial__name {
  font-family: var(--font-heading, inherit);
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.45;
  color: #0a1158;
  margin: 0;
}

/* JCPM arxiv */
.cms-article--journal-archive .cms-journal-archive__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid rgba(10, 17, 88, 0.08);
}

.cms-journal-archive__year {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.875rem;
  border-radius: 9999px;
  background: #0a1158;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
}

.cms-journal-archive__count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-journal-archive__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.5rem;
  max-height: 70vh;
  overflow-y: auto;
  padding-right: 0.25rem;
}

.cms-journal-archive__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.75rem 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.06);
  border-radius: 0.625rem;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.cms-journal-archive__item:hover {
  border-color: rgba(10, 17, 88, 0.15);
  background: #f8fafc;
}

.cms-journal-archive__num {
  flex-shrink: 0;
  min-width: 1.75rem;
  height: 1.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.375rem;
  background: rgba(255, 214, 0, 0.25);
  color: #0a1158;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-journal-archive__title {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #334155;
}

@media (min-width: 768px) {
  .cms-journal-archive__title {
    font-size: 0.875rem;
  }
}

.cms-journal-archive__note {
  margin: 0 0 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.625rem;
  background: rgba(255, 214, 0, 0.12);
  border: 1px solid rgba(255, 214, 0, 0.35);
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #475569;
}

/* Jurnal xaqida */
.cms-journal-about__hero {
  margin-bottom: 1.5rem;
}

.cms-journal-about__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(255, 214, 0, 0.25);
  color: #0a1158;
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.cms-journal-about__title {
  font-family: var(--font-heading, inherit);
  font-size: 1.375rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 0.75rem;
  line-height: 1.35;
}

.cms-journal-about__lead {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
  margin: 0;
}

.cms-journal-about__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.cms-journal-about__stat {
  padding: 0.875rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
  text-align: center;
}

.cms-journal-about__stat-value {
  display: block;
  font-family: var(--font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-journal-about__stat-label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.cms-journal-about__features {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: grid;
  gap: 0.5rem;
}

.cms-journal-about__features li {
  position: relative;
  padding-left: 1.375rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #334155;
}

.cms-journal-about__features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 9999px;
  background: #ffd600;
}

.cms-journal-about__topics-title {
  font-family: var(--font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 0.75rem;
}

.cms-journal-about__topics-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.cms-journal-about__topic {
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: #f1f5f9;
  border: 1px solid rgba(10, 17, 88, 0.08);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #334155;
}

.cms-journal-about__highlight {
  margin-bottom: 1.25rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.04) 0%, rgba(255, 214, 0, 0.08) 100%);
  border-left: 3px solid #ffd600;
}

.cms-journal-about__highlight p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
}

.cms-journal-about__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.cms-journal-about__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-journal-about__link:hover {
  background: #f8fafc;
  border-color: rgba(10, 17, 88, 0.2);
}

.cms-journal-about__link--primary {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
}

.cms-journal-about__link--primary:hover {
  background: #060a3d;
  border-color: #060a3d;
}

.cms-journal-about__pdf-title {
  font-family: var(--font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 1rem;
}

.cms-journal-about__pdf {
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

/* PDF viewer — interaktiv */
.cms-council-pdf__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cms-council-pdf__switch {
  padding: 0.625rem 1rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.15);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease;
}

.cms-council-pdf__switch:hover {
  background: #f8fafc;
}

.cms-council-pdf__actions .cms-council-pdf__download {
  margin-bottom: 0;
}

.cms-council-pdf--interactive .cms-council-pdf__frame {
  position: relative;
}

.cms-council-pdf__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: none;
  background: rgba(10, 17, 88, 0.55);
  color: #ffffff;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.cms-council-pdf__overlay i {
  font-size: 2rem;
}

.cms-council-pdf--interactive .cms-council-pdf__frame:hover .cms-council-pdf__overlay,
.cms-council-pdf__overlay:focus-visible {
  opacity: 1;
}

@media (max-width: 640px) {
  .cms-journal-about__stats {
    grid-template-columns: 1fr;
  }

  .cms-council-pdf--interactive .cms-council-pdf__overlay {
    opacity: 1;
    background: rgba(10, 17, 88, 0.35);
  }
}
/* ── Institut yangiliklari bo'limi ── */

.news-section__intro {
  margin-bottom: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

@media (min-width: 768px) {
  .news-section__intro {
    font-size: 1rem;
    margin-bottom: 1.5rem;
  }
}

/* Sidebar accent */
.news-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #ffd600;
  padding-left: calc(1.25rem - 3px);
}

/* ── News cards ── */
.news-card {
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 12px 40px -24px rgba(10, 17, 88, 0.14);
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}

.news-card:hover {
  border-color: rgba(10, 17, 88, 0.18);
  box-shadow: 0 20px 48px -20px rgba(10, 17, 88, 0.18);
  transform: translateY(-2px);
}

.news-card__media {
  position: relative;
  aspect-ratio: 16 / 10;
  background: #eef2ff;
}

.news-card__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  transition: transform 0.5s ease;
}

.news-card__img--contain {
  -o-object-fit: contain;
     object-fit: contain;
  background: #f1f5f9;
  padding: 0.35rem;
}

.news-card:hover .news-card__img {
  transform: scale(1.05);
}

.news-card__placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
  color: #0a1158;
  font-size: 2.5rem;
  opacity: 0.45;
}

.news-tag {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  line-height: 1.3;
  max-width: calc(100% - 1.5rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.news-tag--news {
  background: rgba(255, 255, 255, 0.95);
  color: #0369a1;
  border: 1px solid rgba(3, 105, 161, 0.15);
}

.news-tag--announce {
  background: rgba(255, 255, 255, 0.95);
  color: #047857;
  border: 1px solid rgba(4, 120, 87, 0.15);
}

.news-tag--event {
  background: rgba(255, 255, 255, 0.95);
  color: #0a1158;
  border: 1px solid rgba(10, 17, 88, 0.15);
}

.news-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1rem 1.125rem 1.125rem;
}

@media (min-width: 768px) {
  .news-card__body {
    padding: 1.125rem 1.25rem 1.25rem;
  }
}

.news-card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  color: #64748b;
}

.news-card__date,
.news-card__views {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
}

.news-card__title {
  margin: 0 0 0.5rem;
  font-family: var(--font-heading, inherit);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0f172a;
}

@media (min-width: 768px) {
  .news-card__title {
    font-size: 1rem;
  }
}

.news-card__title a {
  color: inherit;
  text-decoration: none;
  transition: color 0.2s ease;
}

.news-card:hover .news-card__title a,
.news-card__title a:hover {
  color: #0a1158;
}

.news-card__excerpt {
  margin: 0 0 0.875rem;
  flex: 1;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #64748b;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-card__more {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: auto;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0a1158;
  text-decoration: none;
  transition: gap 0.2s ease, color 0.2s ease;
}

.news-card__more:hover {
  color: #060a3d;
  gap: 0.5rem;
}

/* Grid */
.news-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.125rem;
  }
}

@media (min-width: 1024px) {
  .news-grid {
    gap: 1.25rem;
  }
}

.news-grid--single-col {
  grid-template-columns: 1fr;
}

/* Pagination */
.news-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 2rem;
}

.news-pagination__btn {
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.5rem;
  border-radius: 0.75rem;
  border: 1px solid #e5e5e5;
  background: rgba(255, 255, 255, 0.9);
  color: #0a0a0a;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.news-pagination__btn:hover {
  border-color: #ffd600;
  background: #ffffff;
  color: #0a1158;
}

.news-pagination__btn--active {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
  box-shadow: 0 4px 14px -4px rgba(10, 17, 88, 0.45);
}

.news-pagination__nav:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.news-pagination__nav:disabled:hover {
  border-color: #e5e5e5;
  background: rgba(255, 255, 255, 0.9);
  color: #0a0a0a;
}

.news-pagination__dots {
  min-width: 1.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #9a9a9a;
  font-weight: 600;
}

/* Empty state */
.news-empty {
  padding: 2.5rem 1.5rem;
  text-align: center;
  background: #ffffff;
  border: 1px dashed rgba(10, 17, 88, 0.15);
  border-radius: 1rem;
  color: #64748b;
  font-size: 0.9375rem;
}

/* ── Article detail ── */
.news-article {
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 16px 48px -28px rgba(10, 17, 88, 0.16);
}

.news-article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem 1rem;
  margin-bottom: 1.25rem;
  font-size: 0.8125rem;
  color: #64748b;
}

.news-article__chip {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 0.75rem;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.06);
  color: #0a1158;
  font-size: 0.75rem;
  font-weight: 700;
}

.news-article__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.news-article__hero {
  border-radius: 0.875rem;
  overflow: hidden;
  margin-bottom: 1.25rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.news-article__hero img {
  width: 100%;
  height: auto;
  max-height: 28rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  display: block;
}

.news-article__content {
  padding: 1.25rem 1.375rem 1.5rem;
}

@media (min-width: 768px) {
  .news-article__content {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cms-article--news {
  font-size: 1rem;
  line-height: 1.75;
  color: #334155;
}

.cms-article--news h2,
.cms-article--news h3,
.cms-article--news h4 {
  font-family: var(--font-heading, inherit);
  color: #0a1158;
  font-weight: 700;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
  line-height: 1.35;
}

.cms-article--news h2 { font-size: 1.375rem; }
.cms-article--news h3 { font-size: 1.125rem; }
.cms-article--news h4 { font-size: 1rem; }

.cms-article--news p {
  margin-bottom: 1em;
}

.cms-article--news img {
  border-radius: 0.75rem;
  margin: 1.25em auto;
}

.cms-article--news a {
  color: #0a1158;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-article--news blockquote {
  margin: 1.25em 0;
  padding: 0.875rem 1.125rem;
  border-left: 4px solid #ffd600;
  background: #f8fafc;
  border-radius: 0 0.5rem 0.5rem 0;
  font-style: italic;
  color: #475569;
}

.news-article__download {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.75rem;
  background: #0a1158;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}

.news-article__download:hover {
  background: #060a3d;
}

/* ── Gallery ── */
.news-gallery-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
}

@media (min-width: 768px) {
  .news-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

@media (min-width: 1024px) {
  .news-gallery-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.875rem;
  }
}

.news-gallery-item {
  position: relative;
  aspect-ratio: 1;
  border-radius: 0.875rem;
  overflow: hidden;
  background: #eef2ff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 8px 24px -16px rgba(10, 17, 88, 0.2);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.news-gallery-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -16px rgba(10, 17, 88, 0.25);
}

.news-gallery-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  transition: transform 0.5s ease;
}

.news-gallery-item:hover img {
  transform: scale(1.08);
}

.news-gallery-item__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(10, 17, 88, 0);
  transition: background 0.3s ease;
  color: #ffffff;
  font-size: 1.75rem;
}

.news-gallery-item:hover .news-gallery-item__overlay {
  background: rgba(10, 17, 88, 0.35);
}

/* ── Video grid ── */
.news-video-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 640px) {
  .news-video-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.news-video-card {
  border-radius: 0.875rem;
  overflow: hidden;
  background: #0a1158;
  border: 1px solid rgba(10, 17, 88, 0.1);
  aspect-ratio: 16 / 9;
  box-shadow: 0 12px 36px -20px rgba(10, 17, 88, 0.3);
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.news-video-card:hover {
  box-shadow: 0 20px 44px -18px rgba(10, 17, 88, 0.35);
  transform: translateY(-2px);
}

.news-video-card iframe,
.news-video-card video {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

/* Full gallery single view */
.news-full-gallery {
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 20px 50px -24px rgba(10, 17, 88, 0.18);
}

.news-full-gallery img {
  width: 100%;
  height: auto;
  display: block;
}

.news-back-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1.5rem;
  padding: 0.625rem 1.125rem;
  border-radius: 0.75rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.12);
  color: #0a1158;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.news-back-link:hover {
  border-color: #ffd600;
  background: #fffef5;
}

/* ── Category hero (tadbirlar va boshqalar) ── */
.news-category-hero {
  position: relative;
  margin-bottom: 1.25rem;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(5, 150, 105, 0.28);
}

.news-category-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.16) 0%, transparent 42%);
  pointer-events: none;
}

.news-category-hero__inner {
  position: relative;
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .news-category-hero__inner {
    padding: 2rem 2.25rem;
  }
}

.news-category-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}

.news-category-hero__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1.25rem;
}

.news-category-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.news-category-hero__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.8vw, 1.875rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.news-category-hero__intro {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.88);
  max-width: 68ch;
}

.news-category-hero__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1rem;
  padding: 0.4rem 0.75rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.2);
  font-size: 0.8125rem;
  font-weight: 600;
}

.news-category-hero--news-cat-events .news-category-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 50%, #6ee7b7 100%);
}

.news-category-hero--news-cat-xorijiy .news-category-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #93c5fd 100%);
}

.news-section--events .news-tag--event {
  background: rgba(5, 150, 105, 0.12);
  color: #047857;
  border-color: rgba(5, 150, 105, 0.2);
}

.news-section--events .news-sidebar .cms-sidebar__link--active {
  border-left-color: #059669;
}

.news-section--xorijiy .news-sidebar .cms-sidebar__link--active,
.news-section--xorijiy .menu-sidebar .cms-sidebar__link--active {
  border-left-color: #2563eb;
}
/* ── Institut gazetasi bo'limi ── */
.newspaper-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #22c55e;
  padding-left: calc(1.25rem - 3px);
}

.newspaper-section__intro {
  margin-bottom: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-article--newspaper {
  padding: 0 !important;
}

.cms-newspaper {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

@media (min-width: 768px) {
  .cms-newspaper {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cms-newspaper__about {
  padding-bottom: 0.25rem;
}

.cms-newspaper__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(34, 197, 94, 0.15);
  color: #166534;
  font-size: 0.75rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.cms-newspaper__about-title {
  font-family: var(--font-heading, inherit);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 0.625rem;
  line-height: 1.35;
}

.cms-newspaper__about-lead {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
  margin: 0;
}

.cms-newspaper__cover {
  margin: 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
  box-shadow: 0 12px 40px -24px rgba(10, 17, 88, 0.18);
}

.cms-newspaper__cover img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.cms-newspaper__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(34, 197, 94, 0.08) 0%, #f8fafc 100%);
  border: 1px solid rgba(34, 197, 94, 0.2);
}

.cms-newspaper__year {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.875rem;
  border-radius: 9999px;
  background: #0a1158;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
}

.cms-newspaper__count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-newspaper__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 640px) {
  .cms-newspaper__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-newspaper__issue {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.1);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-newspaper__issue:hover {
  border-color: rgba(34, 197, 94, 0.35);
  box-shadow: 0 8px 24px -12px rgba(10, 17, 88, 0.15);
}

.cms-newspaper__issue-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

.cms-newspaper__issue-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  background: rgba(34, 197, 94, 0.18);
  color: #166534;
  font-size: 0.8125rem;
  font-weight: 700;
}

.cms-newspaper__issue-date {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-newspaper__issue-label {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #334155;
  font-family: var(--font-heading, inherit);
  font-weight: 600;
}

.cms-newspaper__issue-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
}

.cms-newspaper__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-newspaper__btn:hover {
  background: #f8fafc;
  border-color: rgba(10, 17, 88, 0.2);
}

.cms-newspaper__btn--primary {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
}

.cms-newspaper__btn--primary:hover {
  background: #060a3d;
  border-color: #060a3d;
}

.cms-newspaper__preview,
.cms-newspaper__latest {
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-newspaper__preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cms-newspaper__preview-title,
.cms-newspaper__latest-title {
  font-family: var(--font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 1rem;
}

.cms-newspaper__preview-head .cms-newspaper__preview-title {
  margin: 0;
}

.cms-newspaper__preview-close {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}

.cms-newspaper__preview-close:hover {
  background: #f8fafc;
  color: #0a1158;
}

@media (max-width: 640px) {
  .cms-newspaper__grid {
    grid-template-columns: 1fr;
  }

  .cms-newspaper__cover img {
    max-height: 280px;
  }
}
/* ── Me'yoriy hujjatlar bo'limi ── */
.regulatory-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #f59e0b;
  padding-left: calc(1.25rem - 3px);
}

.regulatory-section__intro {
  margin-bottom: 1.25rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-article--regulatory {
  padding: 0 !important;
}

.cms-regulatory {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

@media (min-width: 768px) {
  .cms-regulatory {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cms-regulatory__preamble {
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.04) 0%, rgba(245, 158, 11, 0.08) 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
  text-align: center;
}

.cms-regulatory__preamble-line {
  margin: 0;
  font-family: var(--font-heading, inherit);
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0a1158;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.cms-regulatory__preamble-line + .cms-regulatory__preamble-line {
  margin-top: 0.375rem;
}

.cms-regulatory__metadata {
  display: grid;
  gap: 0.5rem;
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 640px) {
  .cms-regulatory__metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-regulatory__meta-row {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.cms-regulatory__meta-row dt {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.cms-regulatory__meta-row dd {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  color: #0a1158;
}

.cms-regulatory__cover {
  margin: 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
  box-shadow: 0 12px 40px -24px rgba(10, 17, 88, 0.18);
}

.cms-regulatory__cover img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 480px;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: top center;
     object-position: top center;
  background: #ffffff;
}

.cms-regulatory__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.08) 0%, #f8fafc 100%);
  border: 1px solid rgba(245, 158, 11, 0.2);
}

.cms-regulatory__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(245, 158, 11, 0.15);
  color: #92400e;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-regulatory__count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-regulatory__group-title {
  margin: 0 0 0.75rem;
  padding: 0.625rem 0.875rem;
  border-radius: 0.625rem;
  background: rgba(10, 17, 88, 0.04);
  font-family: var(--font-heading, inherit);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.45;
  color: #0a1158;
}

.cms-regulatory__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

.cms-regulatory__doc {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.1);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-regulatory__doc:hover {
  border-color: rgba(245, 158, 11, 0.35);
  box-shadow: 0 8px 24px -12px rgba(10, 17, 88, 0.15);
}

.cms-regulatory__doc-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(245, 158, 11, 0.18);
  color: #92400e;
  font-size: 1.25rem;
}

.cms-regulatory__doc-body {
  flex: 1;
  min-width: 0;
}

.cms-regulatory__doc-num {
  display: inline-block;
  margin-bottom: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.cms-regulatory__doc-title {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #334155;
  font-family: var(--font-heading, inherit);
  font-weight: 600;
}

.cms-regulatory__doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cms-regulatory__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-regulatory__btn:hover {
  background: #f8fafc;
  border-color: rgba(10, 17, 88, 0.2);
}

.cms-regulatory__btn--primary {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
}

.cms-regulatory__btn--primary:hover {
  background: #060a3d;
  border-color: #060a3d;
}

.cms-regulatory__preview,
.cms-regulatory__primary {
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-regulatory__preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cms-regulatory__preview-title,
.cms-regulatory__primary-title {
  font-family: var(--font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 1rem;
}

.cms-regulatory__preview-head .cms-regulatory__preview-title {
  margin: 0;
}

.cms-regulatory__preview-close {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}

.cms-regulatory__preview-close:hover {
  background: #f8fafc;
  color: #0a1158;
}

@media (max-width: 640px) {
  .cms-regulatory__cover img {
    max-height: 320px;
  }

  .cms-regulatory__doc {
    flex-direction: column;
  }
}
/* ── Institut konferensiyalari bo'limi ── */
.conference-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #6366f1;
  padding-left: calc(1.25rem - 3px);
}

.conference-section__intro {
  margin-bottom: 1.5rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-article--conference {
  padding: 0 !important;
}

.cms-conference {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

@media (min-width: 768px) {
  .cms-conference {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cms-conference__cover {
  margin: 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
  box-shadow: 0 12px 40px -24px rgba(10, 17, 88, 0.18);
}

.cms-conference__cover img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.cms-conference__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.07) 0%, #f8fafc 100%);
  border: 1px solid rgba(99, 102, 241, 0.14);
}

.cms-conference__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-conference__count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-conference__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cms-conference__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-conference__item {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.1);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  height: 100%;
}

.cms-conference__item:hover {
  border-color: rgba(99, 102, 241, 0.35);
  box-shadow: 0 8px 24px -12px rgba(10, 17, 88, 0.15);
}

.cms-conference__item-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(99, 102, 241, 0.15);
  color: #4338ca;
  font-size: 1.25rem;
}

.cms-conference__item-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.cms-conference__item-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

.cms-conference__item-num {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.cms-conference__item-year {
  padding: 0.15rem 0.5rem;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.06);
  font-size: 0.6875rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-conference__item-title {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, inherit);
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.55;
  color: #334155;
  flex: 1;
}

.cms-conference__item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: auto;
}

.cms-conference__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-conference__btn:hover {
  background: #f8fafc;
  border-color: rgba(10, 17, 88, 0.2);
}

.cms-conference__btn--primary {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
}

.cms-conference__btn--primary:hover {
  background: #060a3d;
  border-color: #060a3d;
}

.cms-conference__empty {
  padding: 2.5rem 1.5rem;
  border-radius: 0.875rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, #f8fafc 100%);
  border: 1px dashed rgba(99, 102, 241, 0.25);
  text-align: center;
}

.cms-conference__empty-icon {
  font-size: 2.5rem;
  color: #6366f1;
  margin-bottom: 0.75rem;
}

.cms-conference__empty-title {
  margin: 0 0 0.5rem;
  font-family: var(--font-heading, inherit);
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-conference__empty-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #64748b;
  max-width: 28rem;
  margin-inline: auto;
}

.cms-conference__preview,
.cms-conference__primary {
  padding-top: 1rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-conference__preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cms-conference__preview-title,
.cms-conference__primary-title {
  font-family: var(--font-heading, inherit);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
  margin: 0 0 1rem;
}

.cms-conference__preview-head .cms-conference__preview-title {
  margin: 0;
}

.cms-conference__preview-close {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.75rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #64748b;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
}

.cms-conference__preview-close:hover {
  background: #f8fafc;
  color: #0a1158;
}

@media (max-width: 640px) {
  .cms-conference__list {
    grid-template-columns: 1fr;
  }

  .cms-conference__item {
    flex-direction: column;
  }
}
/* ── Institut binolari bo'limi ── */
.buildings-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #0ea5e9;
  padding-left: calc(1.25rem - 3px);
}

.buildings-section__intro {
  margin-bottom: 1.5rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-article--buildings {
  padding: 0 !important;
}

.cms-buildings-page {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

@media (min-width: 768px) {
  .cms-buildings-page {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cms-buildings-page .cms-buildings {
  padding: 0;
}

.cms-buildings__facts {
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -10px rgba(10, 17, 88, 0.12);
}

.cms-buildings__facts-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, inherit);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-buildings__facts-title i {
  color: #0ea5e9;
  font-size: 1.125rem;
}

.cms-buildings__facts-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  .cms-buildings__facts-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.625rem 1.25rem;
  }
}

.cms-buildings__facts-list li {
  position: relative;
  padding-left: 1.125rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #475569;
}

.cms-buildings__facts-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5em;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 9999px;
  background: #0ea5e9;
}

.cms-buildings__related {
  padding-top: 0.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-buildings__related-title {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, inherit);
  font-size: 0.875rem;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cms-buildings__related-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.cms-buildings__related-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  background: rgba(14, 165, 233, 0.08);
  border: 1px solid rgba(14, 165, 233, 0.18);
  color: #0369a1;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-buildings__related-link:hover {
  background: rgba(14, 165, 233, 0.14);
  border-color: rgba(14, 165, 233, 0.35);
}

.cms-buildings {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 1.25rem 1.25rem 1.5rem;
}

@media (min-width: 768px) {
  .cms-buildings {
    padding: 1.5rem 1.75rem 1.75rem;
  }
}

.cms-buildings__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.08) 0%, #f8fafc 100%);
  border: 1px solid rgba(14, 165, 233, 0.18);
}

.cms-buildings__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(14, 165, 233, 0.15);
  color: #0369a1;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-buildings__count {
  font-size: 0.8125rem;
  font-weight: 600;
  color: #64748b;
}

.cms-buildings__grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
  .cms-buildings__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cms-buildings__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.cms-buildings__card {
  margin: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.12);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.cms-buildings__card:hover {
  border-color: rgba(14, 165, 233, 0.35);
  box-shadow: 0 12px 32px -16px rgba(10, 17, 88, 0.2);
  transform: translateY(-2px);
}

.cms-buildings__preview {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  background: #f1f5f9;
  cursor: pointer;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.cms-buildings__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
  transition: transform 0.3s ease;
}

.cms-buildings__card:hover .cms-buildings__img {
  transform: scale(1.04);
}

.cms-buildings__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  background: rgba(10, 17, 88, 0.55);
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.cms-buildings__overlay i {
  font-size: 1.75rem;
}

.cms-buildings__card:hover .cms-buildings__overlay,
.cms-buildings__preview:focus-visible .cms-buildings__overlay {
  opacity: 1;
}

.cms-buildings__caption {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.75rem 0.875rem;
  margin: 0;
  flex: 1;
}

.cms-buildings__index {
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #64748b;
  padding-top: 0.125rem;
}

.cms-buildings__title {
  font-family: var(--font-heading, inherit);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.45;
  color: #334155;
}

.cms-buildings__hint {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 0;
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  background: rgba(14, 165, 233, 0.06);
  border: 1px solid rgba(14, 165, 233, 0.12);
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #64748b;
}

.cms-buildings__empty {
  padding: 2.5rem 1.5rem;
  border-radius: 0.875rem;
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.06) 0%, #f8fafc 100%);
  border: 1px dashed rgba(14, 165, 233, 0.25);
  text-align: center;
}

.cms-buildings__empty-icon {
  font-size: 2.5rem;
  color: #0ea5e9;
  margin-bottom: 0.75rem;
}

.cms-buildings__empty-title {
  margin: 0 0 0.5rem;
  font-family: var(--font-heading, inherit);
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-buildings__empty-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #64748b;
}

.cms-buildings-lightbox {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(10, 17, 88, 0.88);
  backdrop-filter: blur(4px);
}

.cms-buildings-lightbox__panel {
  position: relative;
  max-width: min(960px, 100%);
  max-height: 92vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.cms-buildings-lightbox__close {
  position: absolute;
  top: -0.5rem;
  right: 0;
  transform: translateY(-100%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.15);
  color: #ffffff;
  font-size: 1.5rem;
  cursor: pointer;
}

.cms-buildings-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.25);
}

.cms-buildings-lightbox__img {
  max-width: 100%;
  max-height: calc(92vh - 5rem);
  border-radius: 0.5rem;
  -o-object-fit: contain;
     object-fit: contain;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
}

.cms-buildings-lightbox__caption {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #ffffff;
  text-align: center;
}

.cms-buildings-lightbox__link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 1rem;
  border-radius: 0.625rem;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}

.cms-buildings-lightbox__link:hover {
  background: rgba(255, 255, 255, 0.2);
}

@media (max-width: 640px) {
  .cms-buildings__grid {
    grid-template-columns: 1fr;
  }
}
/* ── Rahbariyat sahifasi ── */
.leader-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #0a1158;
  padding-left: calc(1.25rem - 3px);
}

.leader-section__intro {
  margin-bottom: 1.5rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #475569;
}

/* Featured rector profile */
.leader-featured {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.leader-featured__hero {
  display: grid;
  gap: 1.5rem;
  padding: 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, #0a1158 0%, #121a6e 55%, #0a1158 100%);
  color: #ffffff;
  box-shadow: 0 20px 50px -24px rgba(10, 17, 88, 0.45);
  overflow: hidden;
}

@media (min-width: 1024px) {
  .leader-featured__hero {
    grid-template-columns: minmax(240px, 340px) minmax(0, 1fr);
    gap: 2rem;
    padding: 1.75rem;
  }
}

.leader-featured__portrait {
  position: relative;
  border-radius: 0.875rem;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.12);
  aspect-ratio: 4 / 5;
  max-height: 420px;
}

.leader-featured__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 12%;
     object-position: center 12%;
  display: block;
}

.leader-featured__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 4rem;
  color: rgba(255, 255, 255, 0.35);
}

.leader-featured__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: #ffd600;
  color: #0a1158;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.leader-featured__name {
  margin: 0.75rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.375rem, 2.5vw, 1.875rem);
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

.leader-featured__position {
  margin: 0.5rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}

.leader-featured__quote {
  margin: 1.25rem 0 0;
  padding-left: 1rem;
  border-left: 3px solid #ffd600;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92);
  font-style: normal;
}

.leader-featured__highlights {
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

@media (min-width: 768px) {
  .leader-featured__highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 1rem;
  }
}

.leader-featured__highlights li {
  position: relative;
  padding-left: 1rem;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.leader-featured__highlights li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 9999px;
  background: #ffd600;
}

.leader-featured__contacts {
  display: grid;
  gap: 0.625rem;
  margin-top: 1.25rem;
}

@media (min-width: 640px) {
  .leader-featured__contacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.leader-contact {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: inherit;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease;
}

a.leader-contact:hover {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 214, 0, 0.35);
}

.leader-contact i {
  flex-shrink: 0;
  margin-top: 0.125rem;
  font-size: 1.125rem;
  color: #ffd600;
}

.leader-contact__label {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.leader-contact__value {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #ffffff;
  word-break: break-word;
}

.leader-featured__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 1rem;
  padding: 0.625rem 1rem;
  border-radius: 0.625rem;
  background: rgba(255, 214, 0, 0.15);
  border: 1px solid rgba(255, 214, 0, 0.35);
  color: #ffd600;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.leader-featured__cta:hover {
  background: #ffd600;
  color: #0a1158;
}

.leader-featured__sections {
  display: grid;
  gap: 1.25rem;
}

@media (min-width: 1024px) {
  .leader-featured__sections {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
  }
}

.leader-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 12px 40px -28px rgba(10, 17, 88, 0.18);
  overflow: hidden;
}

@media (min-width: 1024px) {
  .leader-panel {
    height: 560px;
  }
}

.leader-panel__head {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 1rem 1.125rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.04) 0%, #f8fafc 100%);
  border-bottom: 1px solid rgba(10, 17, 88, 0.08);
}

.leader-panel__head i {
  font-size: 1.25rem;
  color: #0a1158;
}

.leader-panel__head h3,
.leader-panel__head h4 {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.leader-panel--compact {
  height: 440px;
}

@media (max-width: 1023px) {
  .leader-panel--compact {
    height: auto;
    max-height: 420px;
  }
}

/* Toolbar */
.leader-toolbar {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.04) 0%, #f8fafc 100%);
  border: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 768px) {
  .leader-toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }
}

.leader-toolbar__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem;
}

.leader-toolbar__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.4rem 0.75rem;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  font-size: 0.8125rem;
  font-weight: 700;
}

.leader-toolbar__filtered {
  font-size: 0.8125rem;
  color: #64748b;
}

.leader-search--toolbar {
  margin-bottom: 0;
  width: 100%;
}

@media (min-width: 768px) {
  .leader-search--toolbar {
    max-width: 320px;
  }
}

/* Prorektor cards */
.leader-prorector-list {
  display: grid;
  gap: 1.25rem;
}

.leader-prorector {
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 12px 36px -24px rgba(10, 17, 88, 0.18);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.leader-prorector--open {
  border-color: rgba(10, 17, 88, 0.18);
  box-shadow: 0 20px 48px -24px rgba(10, 17, 88, 0.24);
}

.leader-prorector__header {
  display: grid;
  gap: 1rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.03) 0%, #ffffff 100%);
}

@media (min-width: 768px) {
  .leader-prorector__header {
    grid-template-columns: 140px minmax(0, 1fr) auto;
    align-items: start;
    gap: 1.25rem;
    padding: 1.5rem;
  }
}

.leader-prorector__portrait {
  width: 120px;
  height: 150px;
  border-radius: 0.875rem;
  overflow: hidden;
  background: #f1f5f9;
  border: 2px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 8px 24px -16px rgba(10, 17, 88, 0.25);
}

@media (min-width: 768px) {
  .leader-prorector__portrait {
    width: 140px;
    height: 175px;
  }
}

.leader-prorector__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.leader-prorector__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2.5rem;
  color: #94a3b8;
}

.leader-prorector__badge {
  display: inline-flex;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
}

.leader-prorector--education .leader-prorector__badge {
  background: rgba(14, 165, 233, 0.12);
  color: #0369a1;
}

.leader-prorector--science .leader-prorector__badge {
  background: rgba(124, 58, 237, 0.12);
  color: #6d28d9;
}

.leader-prorector--clinical .leader-prorector__badge {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}

.leader-prorector--youth .leader-prorector__badge {
  background: rgba(245, 158, 11, 0.14);
  color: #b45309;
}

.leader-prorector--admin .leader-prorector__badge {
  background: rgba(100, 116, 139, 0.14);
  color: #475569;
}

.leader-prorector__name {
  margin: 0.625rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.125rem, 2vw, 1.375rem);
  font-weight: 700;
  line-height: 1.3;
  color: #0a1158;
  letter-spacing: -0.02em;
}

.leader-prorector__position {
  margin: 0.375rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: #64748b;
}

.leader-prorector__contacts {
  display: grid;
  gap: 0.5rem;
  margin-top: 1rem;
}

@media (min-width: 640px) {
  .leader-prorector__contacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.leader-pill {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.625rem 0.75rem;
  border-radius: 0.625rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.06);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease;
}

a.leader-pill:hover {
  background: #ffffff;
  border-color: rgba(10, 17, 88, 0.14);
}

.leader-pill i {
  flex-shrink: 0;
  margin-top: 0.125rem;
  color: #0a1158;
  font-size: 1rem;
}

.leader-pill__label {
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
}

.leader-pill__value {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.8125rem;
  line-height: 1.45;
  color: #334155;
  word-break: break-word;
}

.leader-prorector__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  padding: 0.625rem 1rem;
  border: none;
  border-radius: 0.625rem;
  background: #0a1158;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease;
  white-space: nowrap;
  align-self: start;
}

.leader-prorector__toggle:hover {
  background: #060a3d;
}

.leader-prorector__toggle i {
  font-size: 1.125rem;
  transition: transform 0.2s ease;
}

.leader-prorector__toggle i.rotate-180 {
  transform: rotate(180deg);
}

.leader-prorector__panels {
  display: grid;
  gap: 1rem;
  padding: 0 1.25rem 1.25rem;
  background: #f8fafc;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 1024px) {
  .leader-prorector__panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 1.25rem 1.5rem 1.5rem;
  }

  .leader-prorector__panels--single {
    grid-template-columns: 1fr;
  }
}

/* Department cards */
.leader-dept-list {
  display: grid;
  gap: 0.875rem;
}

@media (min-width: 1024px) {
  .leader-dept-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }

  .leader-dept--open {
    grid-column: 1 / -1;
  }
}

.leader-dept {
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 8px 24px -18px rgba(10, 17, 88, 0.14);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.leader-dept--open {
  border-color: rgba(10, 17, 88, 0.16);
  box-shadow: 0 16px 40px -22px rgba(10, 17, 88, 0.2);
}

.leader-dept__head {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  width: 100%;
  padding: 0.875rem 1rem;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  transition: background 0.2s ease;
}

.leader-dept__head:hover {
  background: rgba(10, 17, 88, 0.02);
}

.leader-dept__index {
  padding-top: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  color: #94a3b8;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
}

.leader-dept__portrait {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #f1f5f9;
  border: 1px solid rgba(10, 17, 88, 0.08);
  flex-shrink: 0;
}

.leader-dept__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.leader-dept__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  color: #94a3b8;
}

.leader-dept__badge {
  display: inline-flex;
  max-width: 100%;
  padding: 0.2rem 0.5rem;
  border-radius: 0.375rem;
  background: rgba(10, 17, 88, 0.06);
  color: #0a1158;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.35;
}

.leader-dept__name {
  margin: 0.375rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0a1158;
}

.leader-dept__position {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.leader-dept__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem 0.625rem;
  margin-top: 0.5rem;
}

.leader-dept__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.6875rem;
  color: #64748b;
}

.leader-dept__meta-item i {
  color: #0a1158;
}

.leader-dept__chevron {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.06);
  color: #0a1158;
}

.leader-dept__chevron i {
  font-size: 1.125rem;
  transition: transform 0.2s ease;
}

.leader-dept__chevron i.rotate-180 {
  transform: rotate(180deg);
}

.leader-dept__details {
  padding: 0 1rem 1rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

.leader-dept__quick {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0.875rem 0 0;
}

.leader-dept__quick-link {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.5rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.1);
  color: #0a1158;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
}

.leader-dept__quick-link:hover {
  border-color: rgba(10, 17, 88, 0.22);
}

.leader-dept__panels {
  display: grid;
  gap: 1rem;
  margin-top: 1rem;
}

@media (min-width: 1024px) {
  .leader-dept__panels {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .leader-dept__panels--single {
    grid-template-columns: 1fr;
  }
}

/* Team cards (legacy fallback) */
.leader-panel__body {
  flex: 1;
  min-height: 0;
  padding: 1rem 1.125rem 1.25rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  scrollbar-color: rgba(10, 17, 88, 0.28) transparent;
}

.leader-panel__body::-webkit-scrollbar {
  width: 6px;
}

.leader-panel__body::-webkit-scrollbar-track {
  background: transparent;
}

.leader-panel__body::-webkit-scrollbar-thumb {
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.22);
}

.leader-panel__body::-webkit-scrollbar-thumb:hover {
  background: rgba(10, 17, 88, 0.38);
}

/* Team cards */
.leader-team-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .leader-team-grid--compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.leader-card {
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 8px 28px -20px rgba(10, 17, 88, 0.16);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.leader-card:hover {
  border-color: rgba(10, 17, 88, 0.16);
}

.leader-card--open {
  border-color: rgba(10, 17, 88, 0.2);
  box-shadow: 0 16px 40px -24px rgba(10, 17, 88, 0.22);
}

.leader-card__main {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1rem 1.125rem;
}

.leader-card__photo-wrap {
  flex-shrink: 0;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0.875rem;
  overflow: hidden;
  background: #f1f5f9;
  border: 2px solid rgba(10, 17, 88, 0.06);
}

@media (min-width: 768px) {
  .leader-card__photo-wrap {
    width: 5.5rem;
    height: 5.5rem;
  }
}

.leader-card__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.leader-card__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 2rem;
  color: #94a3b8;
}

.leader-card__info {
  flex: 1;
  min-width: 0;
}

.leader-card__name {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  color: #0a1158;
  letter-spacing: -0.01em;
}

.leader-card__position {
  margin: 0.375rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #64748b;
}

.leader-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.875rem;
  margin-top: 0.625rem;
}

.leader-card__meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.75rem;
  color: #475569;
  text-decoration: none;
}

a.leader-card__meta-item:hover {
  color: #0a1158;
}

.leader-card__meta-item i {
  color: #0a1158;
  font-size: 0.875rem;
}

.leader-card__toggle {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  cursor: pointer;
  transition: background 0.2s ease;
}

.leader-card__toggle:hover {
  background: rgba(10, 17, 88, 0.14);
}

.leader-card__toggle i {
  font-size: 1.25rem;
  transition: transform 0.2s ease;
}

.leader-card__toggle i.rotate-180 {
  transform: rotate(180deg);
}

.leader-card__details {
  padding: 0 1.125rem 1.125rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

.leader-card__section + .leader-card__section {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed rgba(10, 17, 88, 0.1);
}

.leader-card__section h4 {
  margin: 0 0 0.625rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.875rem;
  font-weight: 700;
  color: #0a1158;
}

/* CMS content inside leader panels */
.leader-cms {
  font-family: var(--font-body, Inter, system-ui, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #334155;
  word-wrap: break-word;
}

.leader-cms span,
.leader-cms font {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
}

.leader-cms-p {
  margin: 0 0 0.875rem;
  text-align: justify;
}

.leader-cms-p:last-child {
  margin-bottom: 0;
}

.leader-cms-strong {
  color: #0a1158;
  font-weight: 700;
}

.leader-cms-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.leader-cms-item {
  position: relative;
  padding: 0.75rem 0.875rem 0.75rem 2rem;
  border-radius: 0.625rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.06);
  font-size: 0.875rem;
  line-height: 1.65;
  color: #475569;
  text-align: left;
}

.leader-panel--bio .leader-cms-item,
.leader-card__section .leader-cms-item {
  background: transparent;
  border: none;
  padding: 0 0 0 1.125rem;
  border-radius: 0;
}

.leader-panel--bio .leader-cms-item::before,
.leader-card__section .leader-cms-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 9999px;
  background: #0a1158;
}

.leader-panel--duties .leader-cms-item::before {
  content: "\eb7b";
  font-family: remixicon !important;
  position: absolute;
  left: 0.75rem;
  top: 0.85rem;
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  color: #0a1158;
  font-size: 0.875rem;
  line-height: 1;
}

.leader-panel--duties .leader-cms-item {
  padding-left: 2.25rem;
}

.leader-cms-list--ordered {
  counter-reset: leader-step;
}

.leader-cms-list--ordered .leader-cms-item {
  counter-increment: leader-step;
}

.leader-cms-list--ordered .leader-cms-item::before {
  content: counter(leader-step);
  position: absolute;
  left: 0.75rem;
  top: 0.75rem;
  width: 1.25rem;
  height: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  font-size: 0.6875rem;
  font-weight: 700;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
}

.leader-cms a {
  color: #0a1158;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.leader-search {
  margin-bottom: 1rem;
}

.leader-search__input {
  width: 100%;
  padding: 0.75rem 1rem 0.75rem 2.5rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2364748b'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-4.35-4.35M11 18a7 7 0 100-14 7 7 0 000 14z'/%3E%3C/svg%3E") no-repeat 0.875rem center / 1rem;
  font-size: 0.9375rem;
  color: #0f172a;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.leader-search__input:focus {
  border-color: rgba(10, 17, 88, 0.35);
  box-shadow: 0 0 0 3px rgba(10, 17, 88, 0.08);
}

.leader-empty-search {
  padding: 2rem 1rem;
  text-align: center;
  color: #64748b;
  font-size: 0.9375rem;
}

@media (max-width: 1023px) {
  .leader-featured__sections {
    grid-template-columns: 1fr;
  }

  .leader-panel {
    height: auto;
    max-height: 480px;
  }
}
/* ── Umumiy menyu bo'limlari (navbar ostidagi sahifalar) ── */

.menu-section__intro {
  margin-bottom: 1.5rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #475569;
}

.menu-sidebar__search-wrap {
  padding: 0.625rem 0.875rem;
  border-bottom: 1px solid rgba(10, 17, 88, 0.06);
}

.menu-sidebar__search {
  width: 100%;
  padding: 0.5rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  font-size: 0.8125rem;
  outline: none;
}

.menu-sidebar__search:focus {
  border-color: rgba(10, 17, 88, 0.3);
  box-shadow: 0 0 0 2px rgba(10, 17, 88, 0.06);
}

.menu-sidebar__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-sidebar__empty {
  padding: 1rem;
  font-size: 0.8125rem;
  color: #94a3b8;
  text-align: center;
}

.menu-sidebar__link {
  font-size: 0.8125rem;
  line-height: 1.45;
}

.menu-sidebar--tuzilma .cms-sidebar__link--active,
.menu-sidebar--bolimlar .cms-sidebar__link--active,
.menu-sidebar--moliya .cms-sidebar__link--active,
.menu-sidebar--markazlar .cms-sidebar__link--active,
.menu-sidebar--ilmiyOquv .cms-sidebar__link--active {
  border-left: 3px solid #6366f1;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--ilmiyOquv .cms-sidebar__link--active {
  border-left-color: #0891b2;
}

.menu-sidebar--texnikum .cms-sidebar__link--active {
  border-left: 3px solid #059669;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--karyera .cms-sidebar__link--active {
  border-left: 3px solid #0d9488;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--matbuot .cms-sidebar__link--active {
  border-left: 3px solid #0891b2;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--registrator .cms-sidebar__link--active {
  border-left: 3px solid #6366f1;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--fakultet .cms-sidebar__link--active {
  border-left: 3px solid #8b5cf6;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--kafedra .cms-sidebar__link--active {
  border-left: 3px solid #0891b2;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--faoliyat .cms-sidebar__link--active {
  border-left: 3px solid #059669;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--abiturient .cms-sidebar__link--active {
  border-left: 3px solid #d97706;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--talabalar .cms-sidebar__link--active {
  border-left: 3px solid #2563eb;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--xorijiy .cms-sidebar__link--active {
  border-left: 3px solid #0d9488;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--interaktiv .cms-sidebar__link--active {
  border-left: 3px solid #ea580c;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--kongress .cms-sidebar__link--active {
  border-left: 3px solid #dc2626;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar--green .cms-sidebar__link--active {
  border-left: 3px solid #16a34a;
  padding-left: calc(1.25rem - 3px);
}

.cms-article--menu-section font,
.cms-article--menu-section span[style] {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
}

.cms-article--menu-section {
  font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif);
  font-size: 1rem;
  line-height: 1.75;
  color: #334155;
}

.cms-article--menu-section p {
  margin: 0 0 1rem;
}

.cms-article--menu-section h1,
.cms-article--menu-section h2,
.cms-article--menu-section h3,
.cms-article--menu-section h4 {
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  color: #0a1158;
  line-height: 1.35;
  margin: 1.5rem 0 0.75rem;
}

.cms-article--menu-section h2 { font-size: 1.375rem; font-weight: 700; }
.cms-article--menu-section h3 { font-size: 1.125rem; font-weight: 700; }
.cms-article--menu-section h4 { font-size: 1rem; font-weight: 700; }

.cms-article--menu-section ul,
.cms-article--menu-section ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.cms-article--menu-section li {
  margin-bottom: 0.375rem;
}

.cms-article--menu-section table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.9375rem;
}

.cms-article--menu-section td,
.cms-article--menu-section th {
  border: 1px solid rgba(10, 17, 88, 0.1);
  padding: 0.5rem 0.75rem;
}

.cms-article--menu-section img {
  border-radius: 0.75rem;
  max-width: 100%;
  height: auto;
}

.cms-article--menu-section a {
  color: #0a1158;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-article--menu-section a:hover {
  color: #6366f1;
}

.faculty-page__leaders-title {
  margin: 0 0 1rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.faculty-leader-card {
  display: flex;
  gap: 0.75rem;
  padding: 0.75rem;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.06);
}

.faculty-leader-card + .faculty-leader-card {
  margin-top: 0.625rem;
}

.faculty-leader-card__photo {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.625rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
  flex-shrink: 0;
}

.faculty-leader-card__name {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
}

.faculty-leader-card__role {
  margin: 0.25rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.documents-list {
  display: grid;
  gap: 0.75rem;
}

.document-card {
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.document-card--open {
  border-color: rgba(10, 17, 88, 0.18);
  box-shadow: 0 12px 32px -20px rgba(10, 17, 88, 0.18);
}

.document-card__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  padding: 1rem 1.125rem;
  border: none;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.02) 0%, #ffffff 100%);
  text-align: left;
  cursor: pointer;
}

.document-card__title {
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.4;
}

.document-card__body {
  padding: 0 1.125rem 1.125rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

.document-card__body .leader-cms,
.document-card__body .cms-article {
  padding-top: 1rem;
}
/* ── Fakultet sahifalari ── */

.faculty-page {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.faculty-page__section-title {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0a1158;
  letter-spacing: -0.02em;
}

/* Hero */
.faculty-hero {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(10, 17, 88, 0.28);
}

.faculty-hero__inner {
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .faculty-hero__inner {
    padding: 2rem;
  }
}

.faculty-hero--clinical .faculty-hero__inner {
  background: linear-gradient(135deg, #0a1158 0%, #1e1b4b 45%, #7f1d1d 100%);
}

.faculty-hero--preventive .faculty-hero__inner {
  background: linear-gradient(135deg, #064e3b 0%, #0a1158 50%, #0f766e 100%);
}

.faculty-hero--international .faculty-hero__inner {
  background: linear-gradient(135deg, #312e81 0%, #0a1158 50%, #4338ca 100%);
}

.faculty-hero--pediatric .faculty-hero__inner {
  background: linear-gradient(135deg, #9a3412 0%, #0a1158 48%, #be185d 100%);
}

.faculty-hero__brand {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

@media (min-width: 640px) {
  .faculty-hero__brand {
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
  }
}

.faculty-hero__logo-wrap {
  flex-shrink: 0;
  width: 5.5rem;
  height: 5.5rem;
  padding: 0.625rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .faculty-hero__logo-wrap {
    width: 6.5rem;
    height: 6.5rem;
  }
}

.faculty-hero__logo {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.faculty-hero__eyebrow {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.faculty-hero__title {
  margin: 0.35rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.375rem, 2.8vw, 2rem);
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.faculty-hero__intro {
  margin: 1.25rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  max-width: 62ch;
}

.faculty-hero__mission {
  margin: 1rem 0 0;
  padding: 0.875rem 0 0.875rem 1rem;
  border-left: 3px solid #ffd600;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.875rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92);
  font-style: normal;
}

.faculty-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .faculty-hero__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.faculty-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.75rem 0.875rem;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.faculty-hero__stat i {
  font-size: 1.125rem;
  color: #ffd600;
  margin-bottom: 0.15rem;
}

.faculty-hero__stat-value {
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.125rem;
  font-weight: 800;
  line-height: 1.2;
}

.faculty-hero__stat-label {
  font-size: 0.6875rem;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.68);
}

/* Leaders */
.faculty-page__leader-grid {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .faculty-page__leader-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .faculty-dean {
    grid-column: 1 / -1;
  }
}

/* Dean card */
.faculty-dean {
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  overflow: hidden;
  box-shadow: 0 12px 32px -20px rgba(10, 17, 88, 0.15);
}

.faculty-dean__hero {
  display: grid;
  gap: 1.25rem;
  padding: 1.25rem;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.03) 0%, #ffffff 100%);
}

@media (min-width: 768px) {
  .faculty-dean__hero {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 1.5rem;
    padding: 1.5rem;
  }
}

.faculty-dean__portrait {
  border-radius: 0.875rem;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  max-height: 240px;
  background: #f1f5f9;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.faculty-dean__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 12%;
     object-position: center 12%;
}

.faculty-dean__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 3rem;
  color: #94a3b8;
}

.faculty-dean__badge {
  display: inline-flex;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  background: #0a1158;
  color: #ffd600;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.faculty-dean--education .faculty-dean__badge { background: #2563eb; color: #fff; }
.faculty-dean--youth .faculty-dean__badge { background: #7c3aed; color: #fff; }
.faculty-dean--international .faculty-dean__badge { background: #4338ca; color: #fff; }

.faculty-dean__name {
  margin: 0.625rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.3;
}

.faculty-dean__position {
  margin: 0.35rem 0 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #64748b;
}

.faculty-dean__contacts {
  display: grid;
  gap: 0.5rem;
  margin-top: 1rem;
}

@media (min-width: 640px) {
  .faculty-dean__contacts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.faculty-dean__toggle,
.faculty-deputy__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  padding: 0.75rem;
  border: none;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0a1158;
  cursor: pointer;
  transition: background 0.2s ease;
}

.faculty-dean__toggle:hover,
.faculty-deputy__toggle:hover {
  background: #f1f5f9;
}

.faculty-dean__panels,
.faculty-deputy__panels {
  display: grid;
  gap: 0;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 768px) {
  .faculty-dean__panels:not(.faculty-dean__panels--single),
  .faculty-deputy__panels:not(.faculty-deputy__panels--single) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.faculty-dean__panel,
.faculty-deputy__panel {
  padding: 1rem 1.25rem 1.25rem;
  background: #f8fafc;
}

.faculty-dean__panel + .faculty-dean__panel,
.faculty-deputy__panel + .faculty-deputy__panel {
  border-left: 1px solid rgba(10, 17, 88, 0.08);
}

.faculty-dean__panel-title,
.faculty-deputy__panel-title {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0a1158;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.faculty-dean__panel-scroll,
.faculty-deputy__panel-scroll {
  max-height: 320px;
  overflow-y: auto;
  padding-right: 0.35rem;
}

/* Deputy cards */
.faculty-deputy {
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.faculty-deputy--open {
  border-color: rgba(10, 17, 88, 0.16);
  box-shadow: 0 12px 32px -20px rgba(10, 17, 88, 0.18);
}

.faculty-deputy__header {
  display: flex;
  gap: 0.875rem;
  padding: 1rem;
}

.faculty-deputy__portrait {
  flex-shrink: 0;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0.75rem;
  overflow: hidden;
  background: #f1f5f9;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.faculty-deputy__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center 12%;
     object-position: center 12%;
}

.faculty-deputy__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.75rem;
  color: #94a3b8;
}

.faculty-deputy__badge {
  display: inline-flex;
  padding: 0.2rem 0.5rem;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.08);
  color: #0a1158;
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.faculty-deputy--education .faculty-deputy__badge { background: rgba(37, 99, 235, 0.12); color: #2563eb; }
.faculty-deputy--youth .faculty-deputy__badge { background: rgba(124, 58, 237, 0.12); color: #7c3aed; }
.faculty-deputy--international .faculty-deputy__badge { background: rgba(67, 56, 202, 0.12); color: #4338ca; }

.faculty-deputy__name {
  margin: 0.45rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
}

.faculty-deputy__position {
  margin: 0.2rem 0 0;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.faculty-deputy__contacts {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.625rem;
}

/* Contact pills */
.faculty-pill {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  border-radius: 0.625rem;
  background: rgba(10, 17, 88, 0.04);
  border: 1px solid rgba(10, 17, 88, 0.06);
  text-decoration: none;
  color: inherit;
  transition: background 0.2s ease;
}

a.faculty-pill:hover {
  background: rgba(10, 17, 88, 0.07);
}

.faculty-pill i {
  flex-shrink: 0;
  margin-top: 0.1rem;
  font-size: 0.9375rem;
  color: #6366f1;
}

.faculty-pill__label {
  display: block;
  font-size: 0.625rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

.faculty-pill__value {
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  color: #334155;
  word-break: break-word;
}

/* About article */
.faculty-page__article {
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 768px) {
  .faculty-page__article {
    padding: 1.5rem 1.75rem;
  }
}

.faculty-page--clinical .faculty-page__article { border-top: 3px solid #dc2626; }
.faculty-page--preventive .faculty-page__article { border-top: 3px solid #059669; }
.faculty-page--international .faculty-page__article { border-top: 3px solid #6366f1; }
.faculty-page--pediatric .faculty-page__article { border-top: 3px solid #ea580c; }

.faculty-cms-mission {
  margin: 0 0 1.25rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  border-left: 4px solid #ffd600;
  background: linear-gradient(135deg, rgba(10, 17, 88, 0.04) 0%, rgba(10, 17, 88, 0.02) 100%);
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #0a1158;
  font-style: normal;
}

.faculty-cms-p {
  margin: 0 0 1rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #334155;
  text-align: justify;
}

.faculty-cms-strong {
  color: #0a1158;
  font-weight: 700;
}

.faculty-cms-list {
  margin: 0 0 1.25rem;
  padding-left: 0;
  list-style: none;
}

.faculty-cms-list--ordered {
  counter-reset: faculty-counter;
}

.faculty-cms-item {
  position: relative;
  margin-bottom: 0.625rem;
  padding: 0.75rem 0.875rem 0.75rem 2rem;
  border-radius: 0.625rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.06);
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #334155;
  text-align: justify;
}

.faculty-cms-list--ordered .faculty-cms-item {
  counter-increment: faculty-counter;
}

.faculty-cms-list--ordered .faculty-cms-item::before {
  content: counter(faculty-counter);
  position: absolute;
  left: 0.75rem;
  top: 0.8rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #0a1158;
  color: #ffd600;
  font-size: 0.6875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.faculty-cms-list:not(.faculty-cms-list--ordered) .faculty-cms-item::before {
  content: "";
  position: absolute;
  left: 0.875rem;
  top: 1.125rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 9999px;
  background: #6366f1;
}

.faculty-page__article table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.875rem;
}

.faculty-page__article td,
.faculty-page__article th {
  border: 1px solid rgba(10, 17, 88, 0.1);
  padding: 0.5rem 0.75rem;
}

.menu-sidebar--fakultet .cms-sidebar__link--active {
  border-left: 3px solid #8b5cf6;
  padding-left: calc(1.25rem - 3px);
}
/* ── Kafedra sahifalari ── */

.department-page {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.department-page__section-title {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0a1158;
  letter-spacing: -0.02em;
}

/* Hero */
.department-hero {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(10, 17, 88, 0.28);
}

.department-hero__inner {
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .department-hero__inner {
    padding: 2rem;
  }
}

.department-hero--preventive .department-hero__inner {
  background: linear-gradient(135deg, #065f46 0%, #0a1158 55%, #0d9488 100%);
}

.department-hero--basic .department-hero__inner {
  background: linear-gradient(135deg, #1e3a8a 0%, #0a1158 50%, #0891b2 100%);
}

.department-hero--clinical .department-hero__inner {
  background: linear-gradient(135deg, #7f1d1d 0%, #0a1158 48%, #b91c1c 100%);
}

.department-hero--social .department-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 50%, #7c3aed 100%);
}

.department-hero--tech .department-hero__inner {
  background: linear-gradient(135deg, #155e75 0%, #0a1158 50%, #0284c7 100%);
}

.department-hero--nursing .department-hero__inner {
  background: linear-gradient(135deg, #115e59 0%, #0a1158 50%, #14b8a6 100%);
}

.department-hero__brand {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: flex-start;
}

@media (min-width: 640px) {
  .department-hero__brand {
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
  }
}

.department-hero__logo-wrap {
  flex-shrink: 0;
  width: 5rem;
  height: 5rem;
  padding: 0.5rem;
  border-radius: 0.875rem;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .department-hero__logo-wrap {
    width: 6rem;
    height: 6rem;
  }
}

.department-hero__logo {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.department-hero__eyebrow {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.department-hero__title {
  margin: 0.35rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.25rem, 2.6vw, 1.75rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.03em;
}

.department-hero__intro {
  margin: 1.25rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  max-width: 62ch;
}

.department-hero__fallback-note {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin: 1rem 0 0;
  padding: 0.75rem 1rem;
  border-radius: 0.625rem;
  background: rgba(255, 214, 0, 0.15);
  border: 1px solid rgba(255, 214, 0, 0.35);
  font-size: 0.8125rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
}

.department-hero__fallback-note i {
  flex-shrink: 0;
  margin-top: 0.1rem;
  color: #ffd600;
}

/* Kafedra mudiri — reuse leader-dept with page spacing */
.department-page__head .leader-dept {
  box-shadow: 0 12px 32px -20px rgba(10, 17, 88, 0.18);
}

/* About article */
.department-page__article {
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 768px) {
  .department-page__article {
    padding: 1.5rem 1.75rem;
  }
}

.department-page--preventive .department-page__article { border-top: 3px solid #059669; }
.department-page--basic .department-page__article { border-top: 3px solid #2563eb; }
.department-page--clinical .department-page__article { border-top: 3px solid #dc2626; }
.department-page--social .department-page__article { border-top: 3px solid #7c3aed; }
.department-page--tech .department-page__article { border-top: 3px solid #0284c7; }
.department-page--nursing .department-page__article { border-top: 3px solid #14b8a6; }

.department-page__empty {
  border: 1px dashed rgba(10, 17, 88, 0.15);
}

/* CMS typography */
.department-cms-p {
  margin: 0 0 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #334155;
  text-align: justify;
}

.department-cms-strong {
  color: #0a1158;
  font-weight: 700;
}

.department-cms-subtitle,
.department-fallback-heading {
  margin: 1.5rem 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
}

.department-cms-list {
  margin: 0 0 1.25rem;
  padding-left: 0;
  list-style: none;
}

.department-cms-list--ordered {
  counter-reset: dept-counter;
}

.department-cms-item {
  position: relative;
  margin-bottom: 0.5rem;
  padding: 0.625rem 0.75rem 0.625rem 1.75rem;
  border-radius: 0.5rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.06);
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
  text-align: justify;
}

.department-cms-list--ordered .department-cms-item {
  counter-increment: dept-counter;
}

.department-cms-list--ordered .department-cms-item::before {
  content: counter(dept-counter);
  position: absolute;
  left: 0.75rem;
  top: 0.8rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #0891b2;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.department-cms-list:not(.department-cms-list--ordered) .department-cms-item::before {
  content: "";
  position: absolute;
  left: 0.875rem;
  top: 1.125rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 9999px;
  background: #0891b2;
}

.department-cms-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0.75rem auto;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.department-cms-img--logo {
  max-width: 7rem;
  max-height: 5rem;
  -o-object-fit: contain;
     object-fit: contain;
  padding: 0.35rem;
  background: #f8fafc;
}

.department-cms-img--portrait {
  width: 5.5rem;
  height: 7rem;
  max-width: 5.5rem;
  max-height: 7rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
  margin: 0 auto;
}

.department-cms-img--banner {
  max-width: 100%;
  max-height: 14rem;
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
  background: #f8fafc;
}

.department-cms-img--inline {
  max-width: min(100%, 22rem);
  max-height: 12rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.department-cms-img--stripped {
  display: none;
}

.department-staff-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11.5rem, 1fr));
  gap: 0.875rem;
  margin: 1.25rem 0;
}

.department-staff-card {
  display: flex;
  flex-direction: column;
  border-radius: 0.75rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.08);
  overflow: hidden;
}

.department-staff-card:hover {
  border-color: rgba(10, 17, 88, 0.14);
  box-shadow: 0 8px 20px -14px rgba(10, 17, 88, 0.18);
}

.department-staff-card__photo {
  margin: 0;
  padding: 0.75rem 0.75rem 0;
  display: flex;
  justify-content: center;
  background: linear-gradient(180deg, rgba(10, 17, 88, 0.04) 0%, transparent 100%);
}

.department-staff-card__photo .department-cms-img--portrait {
  width: 4.75rem;
  height: 6rem;
  max-width: 4.75rem;
  max-height: 6rem;
}

.department-staff-card__info {
  padding: 0.625rem 0.75rem 0.75rem;
  font-size: 0.75rem;
  line-height: 1.55;
  color: #475569;
  max-height: 9.5rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.department-staff-card__info .department-cms-strong,
.department-staff-card__info strong {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
}

.department-staff-card__info p {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  line-height: 1.55;
  text-align: justify;
}

.dept-head {
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  overflow: hidden;
  box-shadow: 0 8px 24px -18px rgba(10, 17, 88, 0.14);
}

.dept-head--open {
  border-color: rgba(10, 17, 88, 0.14);
}

.dept-head__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "photo info" "toggle toggle";
  gap: 0.75rem 1rem;
  padding: 1rem 1.125rem;
  align-items: start;
}

@media (min-width: 640px) {
  .dept-head__summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "photo info toggle";
    align-items: center;
  }
}

.dept-head__portrait {
  grid-area: photo;
  width: 4rem;
  height: 4.75rem;
  border-radius: 0.625rem;
  overflow: hidden;
  background: #f1f5f9;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.dept-head__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.dept-head__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  color: #94a3b8;
}

.dept-head__info {
  grid-area: info;
  min-width: 0;
}

.dept-head__badge {
  display: inline-flex;
  padding: 0.15rem 0.45rem;
  border-radius: 0.375rem;
  background: rgba(8, 145, 178, 0.1);
  color: #0e7490;
  font-size: 0.625rem;
  font-weight: 700;
}

.dept-head__name {
  margin: 0.35rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
}

.dept-head__role {
  margin: 0.15rem 0 0;
  font-size: 0.6875rem;
  font-weight: 600;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dept-head__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-top: 0.5rem;
}

.dept-head__contact {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  background: rgba(10, 17, 88, 0.04);
  font-size: 0.6875rem;
  color: #334155;
  text-decoration: none;
  word-break: break-word;
}

a.dept-head__contact:hover {
  background: rgba(10, 17, 88, 0.07);
}

.dept-head__contact i {
  color: #0891b2;
}

.dept-head__toggle {
  grid-area: toggle;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #f8fafc;
  font-size: 0.75rem;
  font-weight: 700;
  color: #0a1158;
  cursor: pointer;
  justify-self: start;
}

@media (min-width: 640px) {
  .dept-head__toggle {
    justify-self: end;
  }
}

.dept-head__panels {
  display: grid;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

@media (min-width: 768px) {
  .dept-head__panels:not(.dept-head__panels--single) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.dept-head__panel {
  padding: 0.875rem 1rem 1rem;
}

.dept-head__panel + .dept-head__panel {
  border-left: 1px solid rgba(10, 17, 88, 0.08);
}

.dept-head__panel-title {
  margin: 0 0 0.625rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #0a1158;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.dept-head__panel-scroll {
  max-height: 16rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
}

.dept-head__panel-scroll .leader-cms-p,
.dept-head__panel-scroll .leader-cms-item {
  font-size: 0.8125rem;
  line-height: 1.6;
}

.department-page__article table {
  width: 100%;
  border-collapse: collapse;
  margin: 1rem 0;
  font-size: 0.875rem;
}

.department-page__article td,
.department-page__article th {
  border: 1px solid rgba(10, 17, 88, 0.1);
  padding: 0.5rem 0.75rem;
  vertical-align: top;
}

.department-page__article img:not([class*="department-cms-img"]) {
  max-width: min(100%, 20rem);
  max-height: 11rem;
  -o-object-fit: contain;
     object-fit: contain;
}

.department-page__article font,
.department-page__article span[style] {
  font-family: inherit !important;
  font-size: inherit !important;
  color: inherit !important;
}

.menu-sidebar--kafedra .cms-sidebar__link--active {
  border-left: 3px solid #0891b2;
  padding-left: calc(1.25rem - 3px);
}

.menu-sidebar__link {
  font-size: 0.8125rem;
  line-height: 1.4;
}
/* ── Institut bo'limlari (menu 75) ── */

.unit-page {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.unit-page__section-title {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #0a1158;
  letter-spacing: -0.02em;
}

/* Hero */
.unit-hero {
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(10, 17, 88, 0.28);
}

.unit-hero__inner {
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .unit-hero__inner {
    padding: 2rem;
  }
}

.unit-hero--admin .unit-hero__inner {
  background: linear-gradient(135deg, #1e3a8a 0%, #0a1158 52%, #2563eb 100%);
}

.unit-hero--hr .unit-hero__inner {
  background: linear-gradient(135deg, #065f46 0%, #0a1158 50%, #059669 100%);
}

.unit-hero--tech .unit-hero__inner {
  background: linear-gradient(135deg, #155e75 0%, #0a1158 50%, #0284c7 100%);
}

.unit-hero--youth .unit-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 50%, #7c3aed 100%);
}

.unit-hero--records .unit-hero__inner {
  background: linear-gradient(135deg, #334155 0%, #0a1158 50%, #475569 100%);
}

.unit-hero--compliance .unit-hero__inner {
  background: linear-gradient(135deg, #7f1d1d 0%, #0a1158 48%, #b91c1c 100%);
}

.unit-hero--accounting .unit-hero__inner {
  background: linear-gradient(135deg, #92400e 0%, #0a1158 50%, #d97706 100%);
}

.unit-hero--marketing .unit-hero__inner {
  background: linear-gradient(135deg, #c2410c 0%, #0a1158 50%, #ea580c 100%);
}

.unit-hero--planning .unit-hero__inner {
  background: linear-gradient(135deg, #3730a3 0%, #0a1158 50%, #4f46e5 100%);
}

.unit-hero--digital .unit-hero__inner {
  background: linear-gradient(135deg, #0e7490 0%, #0a1158 50%, #06b6d4 100%);
}

.unit-hero--library .unit-hero__inner {
  background: linear-gradient(135deg, #1d4ed8 0%, #0a1158 50%, #3b82f6 100%);
}

.unit-hero--youthUnion .unit-hero__inner {
  background: linear-gradient(135deg, #6d28d9 0%, #0a1158 50%, #8b5cf6 100%);
}

.unit-hero--women .unit-hero__inner {
  background: linear-gradient(135deg, #9d174d 0%, #0a1158 50%, #db2777 100%);
}

.unit-hero--quality .unit-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 50%, #10b981 100%);
}

.unit-hero--academic .unit-hero__inner {
  background: linear-gradient(135deg, #1e40af 0%, #0a1158 50%, #2563eb 100%);
}

.unit-hero--graduate .unit-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 50%, #6366f1 100%);
}

.unit-hero--international .unit-hero__inner {
  background: linear-gradient(135deg, #0369a1 0%, #0a1158 50%, #0ea5e9 100%);
}

.unit-hero--research .unit-hero__inner {
  background: linear-gradient(135deg, #4c1d95 0%, #0a1158 50%, #7c3aed 100%);
}

.unit-hero--talent .unit-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #f59e0b 100%);
}

.unit-hero__eyebrow {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.unit-hero__title {
  margin: 0.35rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.25rem, 2.6vw, 1.75rem);
  font-weight: 800;
  line-height: 1.25;
  letter-spacing: -0.03em;
}

.unit-hero__intro {
  margin: 1.25rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  max-width: 62ch;
}

/* Bo'lim boshlig'i */
.unit-head {
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  overflow: hidden;
  box-shadow: 0 8px 24px -18px rgba(10, 17, 88, 0.14);
}

.unit-head--open {
  border-color: rgba(10, 17, 88, 0.14);
}

.unit-head__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "photo info" "toggle toggle";
  gap: 0.75rem 1rem;
  padding: 1rem 1.125rem;
  align-items: start;
}

@media (min-width: 640px) {
  .unit-head__summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
    grid-template-areas: "photo info toggle";
    align-items: center;
  }
}

.unit-head__portrait {
  grid-area: photo;
  width: 4rem;
  height: 4.75rem;
  border-radius: 0.625rem;
  overflow: hidden;
  background: #f1f5f9;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.unit-head__photo {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top center;
     object-position: top center;
}

.unit-head__photo-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 1.5rem;
  color: #94a3b8;
}

.unit-head__info {
  grid-area: info;
  min-width: 0;
}

.unit-head__badge {
  display: inline-flex;
  padding: 0.15rem 0.45rem;
  border-radius: 0.375rem;
  background: rgba(8, 145, 178, 0.1);
  color: #0e7490;
  font-size: 0.625rem;
  font-weight: 700;
}

.unit-head__name {
  margin: 0.35rem 0 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
}

.unit-head__role {
  margin: 0.15rem 0 0;
  font-size: 0.8125rem;
  font-weight: 500;
  color: #475569;
  line-height: 1.45;
}

.unit-head__pending {
  margin: 0.35rem 0 0;
  padding: 0.35rem 0.625rem;
  border-radius: 0.5rem;
  background: rgba(217, 119, 6, 0.1);
  border: 1px dashed rgba(217, 119, 6, 0.35);
  font-size: 0.8125rem;
  font-weight: 600;
  color: #b45309;
  line-height: 1.45;
}

.unit-head__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  margin-top: 0.5rem;
}

.unit-head__contact {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 0.375rem;
  background: rgba(10, 17, 88, 0.04);
  font-size: 0.6875rem;
  color: #334155;
  text-decoration: none;
  word-break: break-word;
}

a.unit-head__contact:hover {
  background: rgba(10, 17, 88, 0.07);
}

.unit-head__contact--plain {
  cursor: default;
}

.unit-head__contact i {
  color: #0891b2;
}

.unit-head__toggle {
  grid-area: toggle;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #f8fafc;
  font-size: 0.75rem;
  font-weight: 700;
  color: #0a1158;
  cursor: pointer;
  justify-self: start;
}

@media (min-width: 640px) {
  .unit-head__toggle {
    justify-self: end;
  }
}

.unit-head__panels {
  display: grid;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

@media (min-width: 768px) {
  .unit-head__panels:not(.unit-head__panels--single) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.unit-head__panel {
  padding: 0.875rem 1rem 1rem;
}

.unit-head__panel + .unit-head__panel {
  border-top: 1px solid rgba(10, 17, 88, 0.06);
}

@media (min-width: 768px) {
  .unit-head__panels:not(.unit-head__panels--single) .unit-head__panel + .unit-head__panel {
    border-top: none;
    border-left: 1px solid rgba(10, 17, 88, 0.06);
  }
}

.unit-head__panel-title {
  margin: 0 0 0.5rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #0a1158;
}

.unit-head__panel-scroll {
  max-height: 14rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  font-size: 0.8125rem;
  line-height: 1.6;
  color: #475569;
}

.unit-head__detail-list {
  margin: 0;
  display: grid;
  gap: 0.625rem;
}

.unit-head__detail-list dt {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.unit-head__detail-list dd {
  margin: 0.15rem 0 0;
  font-size: 0.875rem;
  color: #0a1158;
}

.unit-head__detail-list a {
  color: #0891b2;
  text-decoration: none;
}

.unit-head__detail-list a:hover {
  text-decoration: underline;
}

.unit-head__empty-note {
  margin: 1rem 0 0;
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  background: rgba(10, 17, 88, 0.04);
  font-size: 0.75rem;
  line-height: 1.55;
  color: #64748b;
}

/* About article */
.unit-page__article {
  padding: 1.25rem 1.5rem;
  border-radius: 1rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

@media (min-width: 768px) {
  .unit-page__article {
    padding: 1.5rem 1.75rem;
  }
}

.unit-page--admin .unit-page__article { border-top: 3px solid #2563eb; }
.unit-page--hr .unit-page__article { border-top: 3px solid #059669; }
.unit-page--tech .unit-page__article { border-top: 3px solid #0284c7; }
.unit-page--youth .unit-page__article { border-top: 3px solid #7c3aed; }
.unit-page--records .unit-page__article { border-top: 3px solid #475569; }
.unit-page--compliance .unit-page__article { border-top: 3px solid #dc2626; }
.unit-page--accounting .unit-page__article { border-top: 3px solid #d97706; }
.unit-page--marketing .unit-page__article { border-top: 3px solid #ea580c; }
.unit-page--planning .unit-page__article { border-top: 3px solid #4f46e5; }
.unit-page--digital .unit-page__article { border-top: 3px solid #06b6d4; }
.unit-page--library .unit-page__article { border-top: 3px solid #3b82f6; }
.unit-page--youthUnion .unit-page__article { border-top: 3px solid #8b5cf6; }
.unit-page--women .unit-page__article { border-top: 3px solid #db2777; }
.unit-page--quality .unit-page__article { border-top: 3px solid #10b981; }
.unit-page--academic .unit-page__article { border-top: 3px solid #2563eb; }
.unit-page--graduate .unit-page__article { border-top: 3px solid #6366f1; }
.unit-page--international .unit-page__article { border-top: 3px solid #0ea5e9; }
.unit-page--research .unit-page__article { border-top: 3px solid #7c3aed; }
.unit-page--talent .unit-page__article { border-top: 3px solid #f59e0b; }

/* CMS typography */
.unit-cms-p {
  margin: 0 0 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #334155;
  text-align: justify;
}

.unit-cms-section-title {
  margin: 1.5rem 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0a1158;
  line-height: 1.35;
  text-align: left !important;
  text-transform: none;
}

.unit-cms-section-title:first-child {
  margin-top: 0;
}

.unit-cms-strong {
  color: #0a1158;
  font-weight: 700;
}

.unit-cms-list {
  margin: 0 0 1.25rem;
  padding-left: 0;
  list-style: none;
}

.unit-cms-list--ordered {
  counter-reset: unit-counter;
}

.unit-cms-item {
  position: relative;
  margin-bottom: 0.5rem;
  padding: 0.625rem 0.75rem 0.625rem 1.75rem;
  border-radius: 0.5rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.06);
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
  text-align: justify;
}

.unit-cms-list--ordered .unit-cms-item {
  counter-increment: unit-counter;
}

.unit-page--admin .unit-cms-list--ordered .unit-cms-item::before {
  content: counter(unit-counter);
  position: absolute;
  left: 0.75rem;
  top: 0.8rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #2563eb;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.unit-page--hr .unit-cms-list--ordered .unit-cms-item::before {
  content: counter(unit-counter);
  position: absolute;
  left: 0.75rem;
  top: 0.8rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #059669;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.unit-page--tech .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--youth .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--records .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--compliance .unit-cms-list--ordered .unit-cms-item::before {
  content: counter(unit-counter);
  position: absolute;
  left: 0.75rem;
  top: 0.8rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 9999px;
  background: #0891b2;
  color: #ffffff;
  font-size: 0.6875rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
}

.unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before {
  content: "";
  position: absolute;
  left: 0.875rem;
  top: 1.125rem;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 9999px;
  background: #0891b2;
}

.unit-page--admin .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #2563eb; }
.unit-page--hr .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #059669; }
.unit-page--compliance .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #dc2626; }
.unit-page--accounting .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--accounting .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #d97706; }
.unit-page--marketing .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--marketing .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #ea580c; }
.unit-page--planning .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--planning .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #4f46e5; }
.unit-page--digital .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--digital .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #06b6d4; }
.unit-page--library .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--library .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #3b82f6; }
.unit-page--youthUnion .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--youthUnion .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #8b5cf6; }
.unit-page--women .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--women .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #db2777; }
.unit-page--quality .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--quality .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #10b981; }
.unit-page--academic .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--academic .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #2563eb; }
.unit-page--graduate .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--graduate .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #6366f1; }
.unit-page--international .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--international .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #0ea5e9; }
.unit-page--research .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--research .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #7c3aed; }
.unit-page--talent .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--talent .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #f59e0b; }

.unit-cms-img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0.75rem auto;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

/* PDF download */
.unit-page__doc {
  margin-top: -0.5rem;
}

.unit-page__doc-link {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.1);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.unit-page__doc-link:hover {
  border-color: rgba(10, 17, 88, 0.18);
  box-shadow: 0 8px 24px -18px rgba(10, 17, 88, 0.2);
}

.unit-page__doc-link > i:first-child {
  flex-shrink: 0;
  font-size: 1.75rem;
  color: #dc2626;
}

.unit-page__doc-link strong {
  display: block;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.unit-page__doc-link small {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.75rem;
  color: #64748b;
}

.unit-page__doc-icon {
  margin-left: auto;
  font-size: 1.25rem;
  color: #0891b2;
}

/* ── Tibbiyot texnikumlari (menu 337) ── */

.unit-hero--texnikum .unit-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 50%, #10b981 100%);
}

.unit-hero--tx-fergana-city .unit-hero__inner {
  background: linear-gradient(135deg, #0e7490 0%, #0a1158 50%, #0891b2 100%);
}

.unit-hero--tx-margilan-1 .unit-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 50%, #059669 100%);
}

.unit-hero--tx-margilan-2 .unit-hero__inner {
  background: linear-gradient(135deg, #0f766e 0%, #0a1158 50%, #0d9488 100%);
}

.unit-hero--tx-qoqon .unit-hero__inner {
  background: linear-gradient(135deg, #1e40af 0%, #0a1158 50%, #2563eb 100%);
}

.unit-hero--tx-quva .unit-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 50%, #7c3aed 100%);
}

.unit-hero--tx-buvayda .unit-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #d97706 100%);
}

.unit-hero--tx-fergana-district .unit-hero__inner {
  background: linear-gradient(135deg, #0369a1 0%, #0a1158 50%, #0284c7 100%);
}

.unit-hero--tx-rishton .unit-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 50%, #6366f1 100%);
}

.unit-hero--tx-beshariq .unit-hero__inner {
  background: linear-gradient(135deg, #be123c 0%, #0a1158 50%, #e11d48 100%);
}

.unit-page--texnikum .unit-page__article,
.unit-page--tx-fergana-city .unit-page__article { border-top: 3px solid #0891b2; }
.unit-page--tx-margilan-1 .unit-page__article { border-top: 3px solid #059669; }
.unit-page--tx-margilan-2 .unit-page__article { border-top: 3px solid #0d9488; }
.unit-page--tx-qoqon .unit-page__article { border-top: 3px solid #2563eb; }
.unit-page--tx-quva .unit-page__article { border-top: 3px solid #7c3aed; }
.unit-page--tx-buvayda .unit-page__article { border-top: 3px solid #d97706; }
.unit-page--tx-fergana-district .unit-page__article { border-top: 3px solid #0284c7; }
.unit-page--tx-rishton .unit-page__article { border-top: 3px solid #6366f1; }
.unit-page--tx-beshariq .unit-page__article { border-top: 3px solid #e11d48; }

.unit-page--tx-fergana-city .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-fergana-city .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #0891b2; }
.unit-page--tx-margilan-1 .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-margilan-1 .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #059669; }
.unit-page--tx-margilan-2 .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-margilan-2 .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #0d9488; }
.unit-page--tx-qoqon .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-qoqon .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #2563eb; }
.unit-page--tx-quva .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-quva .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #7c3aed; }
.unit-page--tx-buvayda .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-buvayda .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #d97706; }
.unit-page--tx-fergana-district .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-fergana-district .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #0284c7; }
.unit-page--tx-rishton .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-rishton .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #6366f1; }
.unit-page--tx-beshariq .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--tx-beshariq .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before { background: #e11d48; }

/* ── Karyera markazi (menu 367) ── */

.unit-hero--career .unit-hero__inner {
  background: linear-gradient(135deg, #0f766e 0%, #0a1158 50%, #14b8a6 100%);
}

.unit-hero--cr-about .unit-hero__inner {
  background: linear-gradient(135deg, #0f766e 0%, #0a1158 50%, #14b8a6 100%);
}

.unit-hero--cr-docs .unit-hero__inner {
  background: linear-gradient(135deg, #1e3a8a 0%, #0a1158 50%, #3b82f6 100%);
}

.unit-hero--cr-regions .unit-hero__inner {
  background: linear-gradient(135deg, #0369a1 0%, #0a1158 50%, #0284c7 100%);
}

.unit-hero--cr-graduates .unit-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 50%, #6366f1 100%);
}

.unit-hero--cr-schools .unit-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 50%, #10b981 100%);
}

.unit-hero--cr-employment .unit-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #f59e0b 100%);
}

.unit-hero--cr-faq .unit-hero__inner {
  background: linear-gradient(135deg, #0e7490 0%, #0a1158 50%, #06b6d4 100%);
}

.unit-hero--cr-employers .unit-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 50%, #8b5cf6 100%);
}

.unit-hero--cr-event .unit-hero__inner {
  background: linear-gradient(135deg, #be123c 0%, #0a1158 50%, #f43f5e 100%);
}

.unit-hero--cr-contracts .unit-hero__inner {
  background: linear-gradient(135deg, #334155 0%, #0a1158 50%, #64748b 100%);
}

.unit-page--career .unit-page__article,
.unit-page--cr-about .unit-page__article { border-top: 3px solid #14b8a6; }
.unit-page--cr-docs .unit-page__article { border-top: 3px solid #3b82f6; }
.unit-page--cr-regions .unit-page__article { border-top: 3px solid #0284c7; }
.unit-page--cr-graduates .unit-page__article { border-top: 3px solid #6366f1; }
.unit-page--cr-schools .unit-page__article { border-top: 3px solid #10b981; }
.unit-page--cr-employment .unit-page__article { border-top: 3px solid #f59e0b; }
.unit-page--cr-faq .unit-page__article { border-top: 3px solid #06b6d4; }
.unit-page--cr-employers .unit-page__article { border-top: 3px solid #8b5cf6; }
.unit-page--cr-event .unit-page__article { border-top: 3px solid #f43f5e; }
.unit-page--cr-contracts .unit-page__article { border-top: 3px solid #64748b; }

.unit-cms-table-wrap {
  overflow-x: auto;
  margin: 1rem 0 1.25rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.unit-cms-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
  line-height: 1.55;
}

.unit-cms-table th,
.unit-cms-table td {
  padding: 0.625rem 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  text-align: left;
  vertical-align: top;
  color: #334155;
}

.unit-cms-table th {
  background: #f1f5f9;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-weight: 700;
  color: #0a1158;
}

.unit-cms-table tr:nth-child(even) td {
  background: #f8fafc;
}

.unit-cms-faq-q {
  margin: 1.25rem 0 0.5rem !important;
  padding: 0.75rem 1rem !important;
  border-radius: 0.625rem;
  background: rgba(6, 182, 212, 0.08);
  border-left: 3px solid #06b6d4;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  color: #0a1158 !important;
  text-align: left !important;
}

.unit-cms-faq-q:first-child {
  margin-top: 0 !important;
}

.unit-cms-faq-a {
  margin: 0 0 1rem !important;
  padding: 0 0 0 1rem !important;
  border-left: 2px solid rgba(10, 17, 88, 0.08);
  font-size: 0.875rem !important;
  color: #475569 !important;
}

.unit-cms-faq-block {
  margin-bottom: 0.75rem;
}

.unit-cms-contact-card {
  margin-bottom: 0.875rem;
  padding: 0.875rem 1rem;
  border-radius: 0.625rem;
  background: #f8fafc;
  border: 1px solid rgba(10, 17, 88, 0.08);
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
}

.unit-cms-contact-card strong,
.unit-cms-contact-card b {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  color: #0a1158;
}

.unit-page__article--faq .unit-cms-p:not(.unit-cms-faq-q):not(.unit-cms-faq-a) {
  font-size: 0.875rem;
}

.unit-page__article--documents .unit-cms-table-wrap {
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.12);
}

/* ── Matbuot xizmati (menu 514) ── */

.unit-hero--press .unit-hero__inner,
.unit-hero--press-main .unit-hero__inner {
  background: linear-gradient(135deg, #0e7490 0%, #0a1158 50%, #0891b2 100%);
}

.unit-page--press .unit-page__article,
.unit-page--press-main .unit-page__article {
  border-top: 3px solid #0891b2;
}

.unit-page--press-main .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--press-main .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before {
  background: #0891b2;
}

/* ── Registrator ofisi (menu 530) ── */

.unit-hero--registrar .unit-hero__inner,
.unit-hero--registrar-main .unit-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 50%, #6366f1 100%);
}

.unit-page--registrar .unit-page__article,
.unit-page--registrar-main .unit-page__article {
  border-top: 3px solid #6366f1;
}

.unit-page--registrar-main .unit-cms-list--ordered .unit-cms-item::before,
.unit-page--registrar-main .unit-cms-list:not(.unit-cms-list--ordered) .unit-cms-item::before {
  background: #6366f1;
}

.unit-page__team {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.unit-page__team--multi {
  display: grid;
  gap: 0.875rem;
}

@media (min-width: 768px) {
  .unit-page__team--multi {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .unit-page__team--multi {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.unit-page__team--multi .unit-head__summary {
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas: "photo info" "toggle toggle";
}

.unit-page__team--multi .unit-head__toggle {
  justify-self: start;
}

@media (min-width: 640px) {
  .unit-page__team--multi .unit-head__summary {
    grid-template-columns: auto minmax(0, 1fr);
    grid-template-areas: "photo info" "toggle toggle";
  }
}
/* ── Ilmiy faoliyat (menu 48) ── */

.science-section__intro {
  margin-bottom: 1.5rem;
  padding: 0 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #475569;
}

.science-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #059669;
  padding-left: calc(1.25rem - 3px);
}

.faoliyat-sidebar .cms-sidebar__link--active {
  border-left: 3px solid #059669;
  padding-left: calc(1.25rem - 3px);
}

/* ── Faoliyat page layout + hero ── */

.faoliyat-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.faoliyat-hero {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(10, 17, 88, 0.28);
}

.faoliyat-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.14) 0%, transparent 42%);
  pointer-events: none;
}

.faoliyat-hero__inner {
  position: relative;
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .faoliyat-hero__inner {
    padding: 2rem 2.25rem;
  }
}

.faoliyat-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}

.faoliyat-hero__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1.25rem;
}

.faoliyat-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.faoliyat-hero__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.8vw, 1.875rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.faoliyat-hero__intro {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.86);
  max-width: 68ch;
}

.faoliyat-hero--intl .faoliyat-hero__inner,
.faoliyat-hero--intl-edu .faoliyat-hero__inner {
  background: linear-gradient(135deg, #0369a1 0%, #0a1158 48%, #0ea5e9 100%);
}

.faoliyat-hero--intl-projects .faoliyat-hero__inner {
  background: linear-gradient(135deg, #0f766e 0%, #0a1158 48%, #14b8a6 100%);
}

.faoliyat-hero--intl-partners .faoliyat-hero__inner {
  background: linear-gradient(135deg, #1d4ed8 0%, #0a1158 48%, #3b82f6 100%);
}

.faoliyat-hero--intl-climate .faoliyat-hero__inner {
  background: linear-gradient(135deg, #15803d 0%, #0a1158 48%, #22c55e 100%);
}

.faoliyat-hero--intl-thumbay .faoliyat-hero__inner {
  background: linear-gradient(135deg, #7c2d12 0%, #0a1158 48%, #ea580c 100%);
}

.faoliyat-hero--finance .faoliyat-hero__inner {
  background: linear-gradient(135deg, #92400e 0%, #0a1158 50%, #d97706 100%);
}

.faoliyat-hero--finance-contract .faoliyat-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 48%, #f59e0b 100%);
}

.faoliyat-hero--finance-currency .faoliyat-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 48%, #10b981 100%);
}

.faoliyat-hero--finance-quarter .faoliyat-hero__inner {
  background: linear-gradient(135deg, #1d4ed8 0%, #0a1158 48%, #3b82f6 100%);
}

.faoliyat-hero--finance-budget .faoliyat-hero__inner {
  background: linear-gradient(135deg, #92400e 0%, #0a1158 50%, #ea580c 100%);
}

.faoliyat-hero--finance-property .faoliyat-hero__inner {
  background: linear-gradient(135deg, #475569 0%, #0a1158 48%, #64748b 100%);
}

.faoliyat-hero--finance-travel .faoliyat-hero__inner {
  background: linear-gradient(135deg, #0e7490 0%, #0a1158 48%, #06b6d4 100%);
}

.faoliyat-hero--finance-procurement .faoliyat-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 48%, #a78bfa 100%);
}

.faoliyat-hero--finance-commission .faoliyat-hero__inner {
  background: linear-gradient(135deg, #be123c 0%, #0a1158 48%, #f43f5e 100%);
}

.faoliyat-page--finance .cms-science__badge,
.faoliyat-page--finance .cms-finance-docs__badge {
  background: rgba(217, 119, 6, 0.1);
  color: #b45309;
}

.faoliyat-page--finance .cms-science-btn--primary {
  background: #92400e;
  border-color: #92400e;
}

.faoliyat-page--finance .cms-science-btn--primary:hover {
  background: #78350f;
  border-color: #78350f;
}

.faoliyat-page--finance .cms-science-doc__icon,
.faoliyat-page--finance .cms-finance-doc__icon {
  background: rgba(217, 119, 6, 0.1);
  color: #b45309;
}

.faoliyat-hero--culture .faoliyat-hero__inner {
  background: linear-gradient(135deg, #9d174d 0%, #0a1158 50%, #db2777 100%);
}

.faoliyat-hero--culture-support .faoliyat-hero__inner {
  background: linear-gradient(135deg, #be185d 0%, #0a1158 48%, #ec4899 100%);
}

.faoliyat-page--culture .cms-science__badge {
  background: rgba(219, 39, 119, 0.1);
  color: #be185d;
}

.faoliyat-hero--academic .faoliyat-hero__inner {
  background: linear-gradient(135deg, #1e40af 0%, #0a1158 50%, #2563eb 100%);
}

.faoliyat-hero--faculty .faoliyat-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 50%, #8b5cf6 100%);
}

.faoliyat-hero--faculty-pediatric .faoliyat-hero__inner {
  background: linear-gradient(135deg, #c2410c 0%, #0a1158 48%, #f97316 100%);
}

.faoliyat-page--faculty .cms-science-btn--primary {
  background: #ea580c;
  border-color: #ea580c;
}

.faoliyat-page--faculty .cms-science-btn--primary:hover {
  background: #c2410c;
  border-color: #c2410c;
}

.faoliyat-hero--compliance .faoliyat-hero__inner {
  background: linear-gradient(135deg, #7f1d1d 0%, #0a1158 48%, #b91c1c 100%);
}

.faoliyat-hero--projects .faoliyat-hero__inner {
  background: linear-gradient(135deg, #3730a3 0%, #0a1158 50%, #6366f1 100%);
}

.faoliyat-hero--projects-fundamental .faoliyat-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 48%, #818cf8 100%);
}

.faoliyat-page--projects .cms-science-btn--primary {
  background: #4338ca;
  border-color: #4338ca;
}

.faoliyat-page--projects .cms-science-btn--primary:hover {
  background: #3730a3;
  border-color: #3730a3;
}

.faoliyat-hero--doctorate .faoliyat-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 50%, #6366f1 100%);
}

.faoliyat-hero--doctorate-info .faoliyat-hero__inner {
  background: linear-gradient(135deg, #3730a3 0%, #0a1158 48%, #6366f1 100%);
}

.faoliyat-hero--doctorate-autoreferat .faoliyat-hero__inner {
  background: linear-gradient(135deg, #1e40af 0%, #0a1158 48%, #3b82f6 100%);
}

.faoliyat-hero--doctorate-dissertation .faoliyat-hero__inner {
  background: linear-gradient(135deg, #312e81 0%, #0a1158 48%, #4f46e5 100%);
}

.faoliyat-hero--doctorate-monograph .faoliyat-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 48%, #8b5cf6 100%);
}

.faoliyat-hero--doctorate-exams .faoliyat-hero__inner {
  background: linear-gradient(135deg, #0e7490 0%, #0a1158 48%, #06b6d4 100%);
}

.faoliyat-page--doctorate .cms-science__badge,
.faoliyat-page--doctorate .cms-doc-badge {
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
}

.faoliyat-page--doctorate .cms-science-btn--primary {
  background: #4338ca;
  border-color: #4338ca;
}

.faoliyat-page--doctorate .cms-science-btn--primary:hover {
  background: #3730a3;
  border-color: #3730a3;
}

.faoliyat-placeholder {
  padding: 1.25rem 1.375rem;
  border-radius: 0.875rem;
  border: 1px dashed rgba(10, 17, 88, 0.16);
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.05) 0%, #f8fafc 100%);
}

.faoliyat-placeholder__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding: 0.375rem 0.75rem;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.1);
  color: #047857;
  font-size: 0.75rem;
  font-weight: 700;
}

.faoliyat-placeholder__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
}

.faoliyat-placeholder__links-title {
  margin: 1.25rem 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.faoliyat-page__body {
  margin: 0;
}

.cms-science {
  display: grid;
  gap: 1.25rem;
}

.cms-science__cover,
.cms-science-journal__cover {
  margin: 0;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 16px 40px -24px rgba(10, 17, 88, 0.22);
}

.cms-science__cover img,
.cms-science-journal__cover img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-science__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cms-science__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.75rem;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.08);
  color: #047857;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-science__count {
  font-size: 0.8125rem;
  color: #64748b;
}

.cms-science-decisions,
.cms-science-docs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.cms-science-decision,
.cms-science-doc {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-science-decision:hover,
.cms-science-doc:hover {
  border-color: rgba(10, 17, 88, 0.16);
  box-shadow: 0 12px 32px -20px rgba(10, 17, 88, 0.18);
}

.cms-science-decision__num,
.cms-science-doc__num {
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  background: rgba(10, 17, 88, 0.06);
  color: #0a1158;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-science-doc__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(5, 150, 105, 0.08);
  color: #047857;
  font-size: 1.25rem;
}

.cms-science-decision__body,
.cms-science-doc__body {
  min-width: 0;
  flex: 1;
}

.cms-science-decision__title,
.cms-science-doc__title {
  margin: 0 0 0.625rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0f172a;
}

.cms-science-decision__title {
  text-decoration: none;
}

a.cms-science-decision__title:hover {
  color: #059669;
}

.cms-science-decision__actions,
.cms-science-doc__actions,
.cms-science-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cms-science-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.5rem 0.875rem;
  border-radius: 0.625rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-science-btn:hover {
  background: #f8fafc;
  border-color: rgba(10, 17, 88, 0.2);
}

.cms-science-btn--primary {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
}

.cms-science-btn--primary:hover {
  background: #060a3d;
  border-color: #060a3d;
}

.cms-science-preamble {
  display: grid;
  gap: 0.875rem;
}

.cms-science-preamble__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
}

.cms-science__preview,
.cms-science__primary {
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

.cms-science__preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.875rem;
}

.cms-science__preview-title,
.cms-science__primary-title {
  margin: 0 0 0.875rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-science__preview-close {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.375rem 0.625rem;
  border: none;
  border-radius: 0.5rem;
  background: transparent;
  color: #64748b;
  cursor: pointer;
}

.cms-science__empty {
  text-align: center;
  padding: 2rem 1rem;
  border-radius: 0.875rem;
  border: 1px dashed rgba(10, 17, 88, 0.14);
  background: #f8fafc;
}

.cms-science__empty--soft {
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.04) 0%, #ffffff 100%);
}

.cms-science__empty-icon {
  font-size: 2rem;
  color: #059669;
  margin-bottom: 0.75rem;
}

.cms-science__empty-title {
  margin: 0 0 0.5rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-science__empty-text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #64748b;
  max-width: 36rem;
  margin-inline: auto;
}

.cms-science-journal__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cms-science-journal__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  border-radius: 0.75rem;
  background: #0a1158;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

.cms-science-journal__cta--secondary {
  background: #ffffff;
  color: #0a1158;
  border: 1px solid rgba(10, 17, 88, 0.12);
}

.cms-science-dissertation__links {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cms-science-dissertation__links {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-science-dissertation__link {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  color: #0a1158;
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.45;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-science-dissertation__link:hover {
  border-color: rgba(5, 150, 105, 0.35);
  box-shadow: 0 12px 32px -20px rgba(5, 150, 105, 0.25);
}

.cms-science-dissertation__link i {
  color: #059669;
  font-size: 1.125rem;
}

.cms-article--science {
  font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif);
  font-size: 1rem;
  line-height: 1.75;
  color: #334155;
}

.cms-article--science .cms-science-hero {
  margin: 0 0 1.25rem;
  border-radius: 1rem;
  overflow: hidden;
}

.cms-article--science .cms-science-hero__img,
.cms-article--science .cms-science-inline-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.75rem;
}

.cms-article--science .cms-science-section-title {
  margin: 1.5rem 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.125rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-article--science .cms-science-text,
.cms-article--science .cms-science-step {
  margin: 0 0 1rem;
}

.cms-article--science .cms-science-step {
  padding-left: 0.25rem;
}

.cms-article--science .cms-science-list {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.cms-article--science .cms-science-table-wrap {
  overflow-x: auto;
  margin: 1rem 0;
}

.cms-article--science .cms-science-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.cms-article--science .cms-science-table td,
.cms-article--science .cms-science-table th {
  border: 1px solid rgba(10, 17, 88, 0.1);
  padding: 0.625rem 0.75rem;
}

.cms-article--science a {
  color: #0a1158;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-science--autoreferat .cms-autoreferat-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.cms-science--autoreferat .cms-science-card__actions {
  margin-top: auto;
  padding-top: 0.875rem;
}

/* ── Moliyaviy faoliyat (menu 50) ── */

.cms-science--finance-pdf,
.cms-science--finance-docs,
.cms-science--finance-intro {
  gap: 1rem;
}

.cms-finance-pdf__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #fffbeb;
}

.cms-finance-pdf__label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #92400e;
}

.cms-finance-file {
  display: flex;
  gap: 1rem;
  padding: 1.25rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: linear-gradient(135deg, rgba(251, 191, 36, 0.08) 0%, #ffffff 100%);
}

.cms-finance-file__icon {
  flex-shrink: 0;
  width: 3rem;
  height: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(217, 119, 6, 0.12);
  color: #b45309;
  font-size: 1.5rem;
}

.cms-finance-file__title {
  margin: 0 0 0.375rem;
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-finance-file__text {
  margin: 0 0 0.875rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #64748b;
}

.cms-finance-docs__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.cms-finance-docs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.cms-finance-doc {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: #ffffff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-finance-doc:hover {
  border-color: rgba(146, 64, 14, 0.2);
  box-shadow: 0 12px 32px -20px rgba(146, 64, 14, 0.18);
}

.cms-finance-doc__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(217, 119, 6, 0.1);
  color: #b45309;
  font-size: 1.25rem;
}

.cms-finance-doc__body {
  min-width: 0;
  flex: 1;
}

.cms-finance-doc__num {
  display: inline-block;
  margin-bottom: 0.375rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #92400e;
}

.cms-finance-doc__title {
  margin: 0 0 0.625rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0f172a;
}

.cms-finance-doc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cms-finance-intro__text {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

/* ── Kam ta'minlangan talabalar (menu 51) ── */

.cms-science--kam-taminlangan {
  gap: 1.5rem;
}

.cms-kam-intro {
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(190, 24, 93, 0.12);
  background: linear-gradient(135deg, rgba(236, 72, 153, 0.06) 0%, #ffffff 100%);
  font-size: 0.9375rem;
  line-height: 1.8;
  color: #334155;
}

.cms-kam-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cms-kam-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cms-kam-stats {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.cms-kam-stat {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  box-shadow: 0 10px 28px -22px rgba(190, 24, 93, 0.35);
}

.cms-kam-stat__icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(219, 39, 119, 0.1);
  color: #be185d;
  font-size: 1.125rem;
}

.cms-kam-stat__value {
  display: block;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.375rem;
  font-weight: 800;
  line-height: 1.1;
  color: #0a1158;
}

.cms-kam-stat__label {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.cms-kam-sections__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #0a1158;
}

.cms-kam-sections__grid {
  display: grid;
  gap: 0.875rem;
}

@media (min-width: 768px) {
  .cms-kam-sections__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-kam-section {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.125rem 1.25rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-kam-section:hover {
  border-color: rgba(190, 24, 93, 0.22);
  box-shadow: 0 14px 36px -24px rgba(190, 24, 93, 0.28);
}

.cms-kam-section__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.cms-kam-section__icon {
  flex-shrink: 0;
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(219, 39, 119, 0.1);
  color: #be185d;
  font-size: 1.125rem;
}

.cms-kam-section__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.45;
  color: #0a1158;
}

.cms-kam-section__body {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #475569;
}

/* ── Pediatriya fakulteti faoliyati (menu 409) ── */

.cms-science--pediatriya-faoliyat {
  gap: 1.5rem;
}

.cms-ped-faoliyat-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.cms-ped-faoliyat-stat {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(234, 88, 12, 0.14);
  background: linear-gradient(135deg, rgba(249, 115, 22, 0.06) 0%, #ffffff 100%);
}

.cms-ped-faoliyat-stat__icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(234, 88, 12, 0.12);
  color: #ea580c;
  font-size: 1.125rem;
}

.cms-ped-faoliyat-stat__value {
  display: block;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.125rem;
  font-weight: 800;
  color: #0a1158;
}

.cms-ped-faoliyat-stat__label {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
}

.cms-ped-faoliyat-grid {
  display: grid;
  gap: 0.875rem;
}

@media (min-width: 768px) {
  .cms-ped-faoliyat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-ped-faoliyat-card {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  padding: 1.125rem 1.25rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  box-shadow: 0 12px 32px -24px rgba(234, 88, 12, 0.25);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-ped-faoliyat-card:hover {
  border-color: rgba(234, 88, 12, 0.22);
  box-shadow: 0 16px 40px -24px rgba(234, 88, 12, 0.32);
}

.cms-ped-faoliyat-card__head {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.cms-ped-faoliyat-card__icon {
  flex-shrink: 0;
  width: 2.375rem;
  height: 2.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(234, 88, 12, 0.1);
  color: #ea580c;
  font-size: 1.125rem;
}

.cms-ped-faoliyat-card__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 800;
  line-height: 1.4;
  color: #0a1158;
}

.cms-ped-faoliyat-card__body {
  margin: 0;
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #475569;
}

.cms-ped-faoliyat-card__doc {
  padding-top: 0.875rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-ped-faoliyat-card__doc-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #ea580c;
}

.cms-ped-faoliyat-card__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

/* ── Fundamental loyiha hub (menu 581) ── */

.cms-science--fundamental-hub {
  gap: 1.5rem;
}

.cms-fundamental-status {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px dashed rgba(67, 56, 202, 0.22);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, #ffffff 100%);
}

.cms-fundamental-status__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
  padding: 0.375rem 0.75rem;
  border-radius: 999px;
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-fundamental-status__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
}

.cms-fundamental-block__title {
  margin: 0 0 0.875rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #0a1158;
}

.cms-fundamental-block__lead {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.8;
  color: #475569;
}

.cms-fundamental-areas {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cms-fundamental-areas {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-fundamental-area {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
}

.cms-fundamental-area__icon {
  display: inline-flex;
  width: 2.25rem;
  height: 2.25rem;
  align-items: center;
  justify-content: center;
  margin-bottom: 0.625rem;
  border-radius: 0.625rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-size: 1.125rem;
}

.cms-fundamental-area__title {
  margin: 0 0 0.375rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-fundamental-area__text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.65;
  color: #64748b;
}

.cms-fundamental-tracks {
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cms-fundamental-tracks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-fundamental-track {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-fundamental-track--active:hover {
  border-color: rgba(67, 56, 202, 0.24);
  box-shadow: 0 14px 36px -24px rgba(67, 56, 202, 0.28);
}

.cms-fundamental-track--soon {
  opacity: 0.72;
  background: #f8fafc;
}

.cms-fundamental-track__icon {
  flex-shrink: 0;
  width: 2.375rem;
  height: 2.375rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-size: 1.125rem;
}

.cms-fundamental-track__body {
  min-width: 0;
  flex: 1;
}

.cms-fundamental-track__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

.cms-fundamental-track__title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-fundamental-track__soon {
  padding: 0.125rem 0.5rem;
  border-radius: 999px;
  background: rgba(100, 116, 139, 0.12);
  color: #64748b;
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.cms-fundamental-track__text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.65;
  color: #64748b;
}

.cms-fundamental-links {
  display: grid;
  gap: 0.625rem;
}

@media (min-width: 768px) {
  .cms-fundamental-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-fundamental-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, background 0.2s ease;
}

.cms-fundamental-link:hover {
  border-color: rgba(67, 56, 202, 0.2);
  background: #f8fafc;
}

.cms-fundamental-link__icon {
  flex-shrink: 0;
  width: 2.125rem;
  height: 2.125rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-size: 1rem;
}

.cms-fundamental-link__body {
  min-width: 0;
  flex: 1;
  display: grid;
  gap: 0.125rem;
}

.cms-fundamental-link__title {
  font-size: 0.875rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-fundamental-link__desc {
  font-size: 0.75rem;
  line-height: 1.45;
  color: #64748b;
}

.cms-fundamental-link__arrow {
  flex-shrink: 0;
  color: #94a3b8;
  font-size: 1.125rem;
}

/* ── Doktorantura (menu 591) ── */

.cms-science--doctorate-info,
.cms-science--doctorate-exams,
.cms-science--dissertation-hub {
  gap: 1.5rem;
}

.cms-doc-intro {
  margin: 0;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(99, 102, 241, 0.14);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, #ffffff 100%);
  font-size: 0.9375rem;
  line-height: 1.8;
  color: #334155;
}

.cms-doc-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.cms-doc-stat {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
}

.cms-doc-stat__icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-size: 1.125rem;
}

.cms-doc-stat__value {
  display: block;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.25rem;
  font-weight: 800;
  color: #0a1158;
}

.cms-doc-stat__label {
  display: block;
  font-size: 0.75rem;
  color: #64748b;
}

.cms-doc-block__title {
  margin: 0 0 0.625rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.0625rem;
  font-weight: 800;
  color: #0a1158;
}

.cms-doc-block__lead {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #64748b;
}

.cms-doc-specialties {
  display: grid;
  gap: 0.625rem;
}

@media (min-width: 768px) {
  .cms-doc-specialties {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-doc-specialty {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-doc-specialty--link:hover {
  border-color: rgba(67, 56, 202, 0.22);
  box-shadow: 0 12px 32px -24px rgba(67, 56, 202, 0.28);
}

.cms-doc-specialty__code {
  padding: 0.25rem 0.5rem;
  border-radius: 0.5rem;
  background: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  font-size: 0.75rem;
  font-weight: 700;
  white-space: nowrap;
}

.cms-doc-specialty__title {
  font-size: 0.875rem;
  line-height: 1.45;
  color: #0f172a;
}

.cms-doc-specialty__soon {
  font-size: 0.6875rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #94a3b8;
}

.cms-doc-article {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

.cms-doc-regulations {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.cms-doc-regulation {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #ffffff;
}

.cms-doc-regulation__title {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0a1158;
}

.cms-doc-regulation__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cms-doc-status__badge {
  background: rgba(99, 102, 241, 0.12);
  color: #4338ca;
}
/* ── Bakalavriat qabul sahifalari (menu 99) ── */

.admission-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.admission-hero {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(180, 83, 9, 0.28);
}

.admission-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.16) 0%, transparent 42%);
  pointer-events: none;
}

.admission-hero__inner {
  position: relative;
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .admission-hero__inner {
    padding: 2rem 2.25rem;
  }
}

.admission-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}

.admission-hero__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1.25rem;
}

.admission-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.admission-hero__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.8vw, 1.875rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.admission-hero__intro {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.88);
  max-width: 68ch;
}

.admission-hero--admission-register .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 52%, #f59e0b 100%);
}

.admission-hero--admission-test .admission-hero__inner {
  background: linear-gradient(135deg, #0369a1 0%, #0a1158 50%, #38bdf8 100%);
}

.admission-hero--admission-rules .admission-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 52%, #6366f1 100%);
}

.admission-hero--admission-quota .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #92400e 48%, #0a1158 100%);
}

.admission-hero--admission-subjects .admission-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 50%, #34d399 100%);
}

.admission-hero--admission-news .admission-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 52%, #f97316 100%);
}

.admission-hero--admission-contact .admission-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 50%, #2dd4bf 100%);
}

.admission-hero--admission-docs .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #a78bfa 100%);
}

.admission-hero--admission-directions .admission-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #60a5fa 100%);
}

.admission-hero--admission-guide .admission-hero__inner {
  background: linear-gradient(135deg, #0891b2 0%, #0a1158 52%, #22d3ee 100%);
}

.admission-hero--admission-grant .admission-hero__inner {
  background: linear-gradient(135deg, #ca8a04 0%, #0a1158 48%, #facc15 100%);
}

.admission-hero--admission-history .admission-hero__inner {
  background: linear-gradient(135deg, #475569 0%, #0a1158 50%, #94a3b8 100%);
}

.admission-hero--admission-join .admission-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 52%, #10b981 100%);
}

.admission-hero--admission-dorm .admission-hero__inner {
  background: linear-gradient(135deg, #ea580c 0%, #0a1158 50%, #fb923c 100%);
}

/* ── Article typography ── */

.cms-article--admission {
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #334155;
}

.cms-article--admission .cms-admission-section-title {
  margin: 1.75rem 0 0.875rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 700;
  line-height: 1.35;
  color: #0a1158;
}

.cms-article--admission .cms-admission-section-title:first-child {
  margin-top: 0;
}

.cms-article--admission .cms-admission-text {
  margin: 0 0 0.875rem;
}

.cms-article--admission .cms-admission-list {
  margin: 0 0 1.25rem;
  padding-left: 1.35rem;
}

.cms-article--admission .cms-admission-list li {
  margin-bottom: 0.45rem;
}

.cms-article--admission .cms-admission-link {
  color: #b45309;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cms-article--admission .cms-admission-link:hover {
  color: #92400e;
}

.cms-article--admission .cms-admission-divider {
  margin: 1.5rem 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(10, 17, 88, 0.12), transparent);
}

.cms-article--admission .cms-admission-video {
  position: relative;
  margin: 1.25rem 0;
  padding-bottom: 56.25%;
  border-radius: 0.875rem;
  overflow: hidden;
  background: #0f172a;
  box-shadow: 0 12px 32px -16px rgba(10, 17, 88, 0.35);
}

.cms-article--admission .cms-admission-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.cms-article--admission .cms-admission-figure {
  margin: 1.25rem 0;
}

.cms-article--admission .cms-admission-img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 0.875rem;
  box-shadow: 0 8px 24px -12px rgba(10, 17, 88, 0.25);
}

.cms-article--admission .cms-admission-table-wrap {
  margin: 1rem 0 1.25rem;
  overflow-x: auto;
  border-radius: 0.75rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-article--admission .cms-admission-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.cms-article--admission .cms-admission-table th,
.cms-article--admission .cms-admission-table td {
  padding: 0.65rem 0.875rem;
  border-bottom: 1px solid rgba(10, 17, 88, 0.08);
  text-align: left;
}

.cms-article--admission .cms-admission-table th {
  background: rgba(10, 17, 88, 0.04);
  font-weight: 700;
  color: #0a1158;
}

/* ── External CTA ── */

.cms-admission-cta {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
  padding: 1.125rem 1.25rem;
  border-radius: 1rem;
  background: linear-gradient(135deg, rgba(180, 83, 9, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border: 1px solid rgba(180, 83, 9, 0.2);
  color: inherit;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.cms-admission-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 32px -20px rgba(180, 83, 9, 0.45);
  border-color: rgba(180, 83, 9, 0.35);
}

.cms-admission-cta__icon {
  width: 3rem;
  height: 3rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.875rem;
  background: #b45309;
  color: #fff;
  font-size: 1.35rem;
}

.cms-admission-cta__body {
  flex: 1;
  min-width: 0;
}

.cms-admission-cta__title {
  display: block;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-admission-cta__url {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.8125rem;
  color: #64748b;
  word-break: break-all;
}

.cms-admission-cta__arrow {
  flex-shrink: 0;
  font-size: 1.25rem;
  color: #b45309;
}

/* ── Quota gallery ── */

.cms-admission-gallery {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

@media (min-width: 640px) {
  .cms-admission-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-admission-gallery__item {
  margin: 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #fff;
}

.cms-admission-gallery__img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-admission-gallery__pdf {
  margin-top: 0.5rem;
}

.cms-admission-gallery__pdf-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cms-admission-gallery__pdf-title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: #0a1158;
}

/* ── Contact ── */

.cms-admission-contact__banner {
  margin: 0 0 1.25rem;
  border-radius: 0.875rem;
  overflow: hidden;
}

.cms-admission-contact__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-admission-contact__grid {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 640px) {
  .cms-admission-contact__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-admission-contact__card {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: rgba(10, 17, 88, 0.03);
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-admission-contact__icon {
  width: 2.5rem;
  height: 2.5rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(13, 148, 136, 0.12);
  color: #0d9488;
  font-size: 1.15rem;
}

.cms-admission-contact__label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.cms-admission-contact__value {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: #0f172a;
}

.cms-admission-contact__phones {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.cms-admission-contact__phone {
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0a1158;
  text-decoration: none;
}

.cms-admission-contact__phone:hover {
  color: #b45309;
}

.cms-admission-contact__map {
  margin: 1.25rem 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  aspect-ratio: 16 / 9;
}

.cms-admission-contact__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/* ── Placeholder ── */

.cms-admission-status {
  margin-bottom: 1.5rem;
  padding: 1.25rem 1.35rem;
  border-radius: 0.875rem;
  background: rgba(180, 83, 9, 0.06);
  border: 1px dashed rgba(180, 83, 9, 0.25);
}

.cms-admission-status__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-bottom: 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #b45309;
}

.cms-admission-status__text {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #475569;
}

.cms-admission-related__title {
  margin: 0 0 0.875rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-science--admission-intro .cms-admission-intro__text {
  margin-bottom: 1.5rem;
}

.cms-admission-cta__pdf {
  margin-top: 1.5rem;
}

/* ── Magistratura hero accents (indigo theme) ── */

.admission-hero--magistratura-register .admission-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 50%, #818cf8 100%);
}

.admission-hero--magistratura-rules .admission-hero__inner {
  background: linear-gradient(135deg, #3730a3 0%, #0a1158 52%, #6366f1 100%);
}

.admission-hero--magistratura-quota .admission-hero__inner {
  background: linear-gradient(135deg, #5b21b6 0%, #0a1158 48%, #a78bfa 100%);
}

.admission-hero--magistratura-docs .admission-hero__inner {
  background: linear-gradient(135deg, #6d28d9 0%, #0a1158 52%, #c4b5fd 100%);
}

.admission-hero--magistratura-subjects .admission-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #60a5fa 100%);
}

.admission-hero--magistratura-contact .admission-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 50%, #2dd4bf 100%);
}

.admission-hero--magistratura-results .admission-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 52%, #34d399 100%);
}

.admission-hero--magistratura-grant .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 48%, #ddd6fe 100%);
}

.admission-page--magistratura .cms-admission-cta {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(99, 102, 241, 0.22);
}

.admission-page--magistratura .cms-admission-cta__icon {
  background: #4338ca;
}

.admission-page--magistratura .cms-admission-cta__arrow {
  color: #4338ca;
}

/* ── Documents checklist ── */

.cms-admission-docs__headline {
  margin: 0 0 1rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.2rem);
  font-weight: 700;
  line-height: 1.45;
  color: #0a1158;
}

.cms-admission-docs__intro,
.cms-admission-docs__note {
  margin: 0 0 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
}

.cms-admission-docs__portal {
  margin-bottom: 1.5rem;
}

.cms-admission-docs__highlights {
  display: grid;
  gap: 0.875rem;
  margin: 0 0 1.5rem;
}

@media (min-width: 768px) {
  .cms-admission-docs__highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-admission-docs__highlight {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: rgba(99, 102, 241, 0.06);
  border: 1px solid rgba(99, 102, 241, 0.14);
}

.cms-admission-docs__highlight-icon {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(67, 56, 202, 0.12);
  color: #4338ca;
  font-size: 1.1rem;
}

.cms-admission-docs__highlight-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
}

.cms-admission-docs__section {
  margin: 1.5rem 0;
}

.cms-admission-docs__section-title {
  margin: 0 0 1rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.4;
  color: #0a1158;
}

.cms-admission-docs__checklist {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.cms-admission-docs__checklist-item {
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: #fff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -12px rgba(10, 17, 88, 0.25);
}

.cms-admission-docs__checklist-num {
  width: 1.75rem;
  height: 1.75rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #4338ca;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-admission-docs__checklist-text {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: #334155;
}

.cms-admission-docs__deadline {
  display: flex;
  gap: 0.875rem;
  align-items: flex-start;
  margin: 1.25rem 0;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: rgba(180, 83, 9, 0.08);
  border: 1px solid rgba(180, 83, 9, 0.2);
  color: #92400e;
}

.cms-admission-docs__deadline i {
  font-size: 1.35rem;
  margin-top: 0.1rem;
}

.cms-admission-docs__deadline-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  opacity: 0.85;
}

.cms-admission-docs__deadline-value {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-admission-docs__pdf {
  margin-top: 1.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-admission-docs__pdf-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

.cms-article--admission .cms-admission-list-item-text {
  display: block;
  font-size: 0.9375rem;
  line-height: 1.65;
}

/* ── Ordinatura theme ── */

.admission-hero--ordinatura-docs .admission-hero__inner,
.admission-hero--ordinatura-submit .admission-hero__inner {
  background: linear-gradient(135deg, #047857 0%, #0a1158 50%, #34d399 100%);
}

.admission-hero--ordinatura-reminder .admission-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 52%, #2dd4bf 100%);
}

.admission-hero--ordinatura-rules .admission-hero__inner {
  background: linear-gradient(135deg, #065f46 0%, #0a1158 50%, #10b981 100%);
}

.admission-hero--ordinatura-mandat .admission-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 48%, #6ee7b7 100%);
}

.admission-hero--ordinatura-news .admission-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 52%, #f97316 100%);
}

.admission-hero--ordinatura-locations .admission-hero__inner {
  background: linear-gradient(135deg, #0891b2 0%, #0a1158 50%, #22d3ee 100%);
}

.admission-hero--ordinatura-permit .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #fbbf24 100%);
}

.admission-page--ordinatura .cms-admission-cta {
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(5, 150, 105, 0.22);
}

.admission-page--ordinatura .cms-admission-cta__icon {
  background: #047857;
}

.admission-page--ordinatura .cms-admission-cta__arrow {
  color: #047857;
}

.cms-admission-docs-table__head {
  margin-bottom: 1.25rem;
  text-align: center;
}

.cms-admission-docs-table__subtitle {
  margin: 0 0 0.35rem;
  font-size: 0.875rem;
  color: #64748b;
}

.cms-admission-docs-table__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.15rem;
  font-weight: 800;
  color: #0a1158;
}

.cms-admission-docs-table__wrap {
  overflow-x: auto;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.08);
  margin-bottom: 1.25rem;
}

.cms-admission-docs-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.cms-admission-docs-table th,
.cms-admission-docs-table td {
  padding: 0.875rem 1rem;
  border-bottom: 1px solid rgba(10, 17, 88, 0.08);
  text-align: left;
  vertical-align: top;
}

.cms-admission-docs-table th {
  background: rgba(4, 120, 87, 0.08);
  font-weight: 700;
  color: #047857;
}

.cms-admission-docs-table__type {
  font-weight: 600;
  color: #0a1158;
  min-width: 12rem;
}

.cms-admission-docs-table__footnote {
  margin: 0 0 0.65rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #475569;
}

.cms-admission-docs-table__phones {
  margin: 1.25rem 0;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: rgba(10, 17, 88, 0.03);
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-admission-docs-table__phones-label {
  margin: 0 0 0.5rem;
  font-size: 0.8125rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #64748b;
}

.cms-admission-locations__banner,
.cms-ordinatura-reminder__banner {
  margin: 0 0 1.25rem;
  border-radius: 0.875rem;
  overflow: hidden;
}

.cms-admission-locations__banner img,
.cms-ordinatura-reminder__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-admission-locations__intro,
.cms-admission-locations__heading {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.7;
  color: #334155;
}

.cms-admission-locations__heading {
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-weight: 700;
  color: #dc2626;
}

.cms-admission-locations__grid {
  display: grid;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .cms-admission-locations__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-admission-locations__card {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: #fff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -12px rgba(10, 17, 88, 0.25);
}

.cms-admission-locations__region {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #047857;
}

.cms-admission-locations__venue {
  margin: 0 0 0.35rem;
  font-size: 0.9375rem;
  font-weight: 600;
  color: #0a1158;
}

.cms-admission-locations__address {
  margin: 0 0 0.65rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: #475569;
}

.cms-admission-locations__map {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #0891b2;
  text-decoration: none;
}

.cms-admission-locations__map:hover {
  color: #0e7490;
}

.cms-admission-locations__alert {
  display: flex;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: rgba(220, 38, 38, 0.06);
  border: 1px solid rgba(220, 38, 38, 0.16);
  color: #991b1b;
}

.cms-admission-locations__alert i {
  flex-shrink: 0;
  font-size: 1.25rem;
  margin-top: 0.1rem;
}

.cms-admission-locations__alert p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.65;
}

.cms-admission-locations__portal {
  margin-top: 0.5rem;
}

.cms-ordinatura-reminder__title {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.15rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-ordinatura-reminder__sections {
  display: grid;
  gap: 1rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 768px) {
  .cms-ordinatura-reminder__sections {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-ordinatura-reminder__section {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: rgba(4, 120, 87, 0.05);
  border: 1px solid rgba(4, 120, 87, 0.12);
}

.cms-ordinatura-reminder__section-title {
  margin: 0 0 0.65rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #047857;
}

.cms-ordinatura-reminder__list {
  margin: 0;
  padding-left: 1.1rem;
}

.cms-ordinatura-reminder__list li {
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #334155;
}

/* ── Qo'shma ta'lim theme ── */

.admission-hero--qoshma-contract .admission-hero__inner,
.admission-hero--qoshma-quota .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 48%, #fbbf24 100%);
}

.admission-hero--qoshma-contact .admission-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 50%, #2dd4bf 100%);
}

.admission-hero--qoshma-docs .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #c4b5fd 100%);
}

.admission-page--qoshma .cms-admission-cta {
  background: linear-gradient(135deg, rgba(180, 83, 9, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(180, 83, 9, 0.22);
}

.admission-page--qoshma .cms-admission-cta__icon {
  background: #b45309;
}

.cms-qoshma-program__banner,
.cms-qoshma-docs__banner {
  margin: 0 0 1.25rem;
  border-radius: 0.875rem;
  overflow: hidden;
}

.cms-qoshma-program__banner img,
.cms-qoshma-docs__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-qoshma-program__head {
  margin-bottom: 1.25rem;
  text-align: center;
}

.cms-qoshma-program__title {
  margin: 0 0 0.35rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 800;
  line-height: 1.35;
  color: #0a1158;
}

.cms-qoshma-program__subtitle {
  margin: 0;
  font-size: 0.875rem;
  color: #64748b;
}

.cms-qoshma-program__partner {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  margin: 0 0 1rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: rgba(13, 148, 136, 0.06);
  border: 1px solid rgba(13, 148, 136, 0.14);
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #0f766e;
}

.cms-qoshma-program__partner i {
  flex-shrink: 0;
  font-size: 1.25rem;
  margin-top: 0.1rem;
}

.cms-qoshma-program__name {
  margin-bottom: 1.25rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: rgba(10, 17, 88, 0.04);
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-qoshma-program__name-label {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

.cms-qoshma-program__name-value {
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-qoshma-program__stats {
  display: grid;
  gap: 0.875rem;
}

@media (min-width: 640px) {
  .cms-qoshma-program__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .cms-qoshma-program__stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.cms-qoshma-program__stat {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: #fff;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 4px 16px -12px rgba(10, 17, 88, 0.25);
}

.cms-qoshma-program__stat-icon {
  width: 2.25rem;
  height: 2.25rem;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(180, 83, 9, 0.12);
  color: #b45309;
  font-size: 1.1rem;
}

.cms-qoshma-program__stat-label {
  display: block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #64748b;
}

.cms-qoshma-program__stat-value {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-qoshma-docs__intro {
  margin: 0 0 0.875rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: center;
}

.cms-qoshma-docs__contact-grid {
  display: grid;
  gap: 1rem;
  margin: 1.25rem 0;
}

@media (min-width: 768px) {
  .cms-qoshma-docs__contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-qoshma-docs__schedule {
  margin: 0.5rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: #64748b;
}

.cms-qoshma-docs__address {
  margin-bottom: 1rem;
}

/* ── O'qishni ko'chirish theme ── */

.admission-hero--kochirish-restore .admission-hero__inner {
  background: linear-gradient(135deg, #0369a1 0%, #0a1158 48%, #38bdf8 100%);
}

.admission-hero--kochirish-results .admission-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 50%, #6ee7b7 100%);
}

.admission-hero--kochirish-specialties .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #c4b5fd 100%);
}

.admission-hero--kochirish-faq .admission-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 50%, #fca5a5 100%);
}

.admission-page--kochirish .cms-admission-cta {
  background: linear-gradient(135deg, rgba(3, 105, 161, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(3, 105, 161, 0.22);
}

.admission-page--kochirish .cms-admission-cta__icon {
  background: #0369a1;
}

.cms-kochirish-restore__banner,
.cms-admission-faq__banner {
  margin: 0 0 1.25rem;
  border-radius: 0.875rem;
  overflow: hidden;
}

.cms-kochirish-restore__banner img,
.cms-admission-faq__banner img {
  display: block;
  width: 100%;
  height: auto;
}

.cms-kochirish-restore__headline {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  font-weight: 800;
  line-height: 1.35;
  color: #0a1158;
  text-align: center;
}

.cms-kochirish-restore__intro {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: justify;
}

.cms-kochirish-restore__portals {
  display: grid;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
}

@media (min-width: 640px) {
  .cms-kochirish-restore__portals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-kochirish-restore__deadline {
  margin-bottom: 1.25rem;
}

.cms-kochirish-restore__video,
.cms-admission-faq__video {
  margin: 1.25rem 0;
  border-radius: 0.875rem;
  overflow: hidden;
}

.cms-kochirish-restore__rejections {
  margin-top: 1.5rem;
}

.cms-admission-faq__list {
  display: grid;
  gap: 0.75rem;
}

.cms-admission-faq__item {
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.1);
  background: #fff;
  overflow: hidden;
}

.cms-admission-faq__question {
  display: flex;
  gap: 0.65rem;
  align-items: flex-start;
  padding: 1rem 1.125rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
  color: #0a1158;
  cursor: pointer;
  list-style: none;
}

.cms-admission-faq__question::-webkit-details-marker {
  display: none;
}

.cms-admission-faq__question i {
  flex-shrink: 0;
  margin-top: 0.15rem;
  color: #dc2626;
  font-size: 1.1rem;
}

.cms-admission-faq__answer {
  padding: 0 1.125rem 1rem 2.85rem;
  font-size: 0.875rem;
  line-height: 1.75;
  color: #475569;
  white-space: pre-line;
}

.cms-admission-faq__map {
  margin-top: 1.25rem;
}

/* ── Doktorantura theme ── */

.admission-hero--doc-exam .admission-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 48%, #a5b4fc 100%);
}

.admission-hero--doc-mandat .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #fcd34d 100%);
}

.admission-page--doktorantura .cms-science-btn--primary {
  background: #4338ca;
  border-color: #4338ca;
}

.cms-admission-doc-exam__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
  text-align: center;
}

.cms-admission-doc-exam__code {
  display: inline-flex;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(67, 56, 202, 0.1);
  border: 1px solid rgba(67, 56, 202, 0.2);
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #4338ca;
}

.cms-admission-doc-exam__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  font-weight: 800;
  line-height: 1.35;
  color: #0a1158;
}

.cms-admission-doc-exam__pdf,
.cms-admission-doc-mandat__pdf {
  margin-bottom: 1.5rem;
}

.cms-admission-doc-exam__related,
.cms-admission-doc-mandat__specialties {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-admission-doc-mandat__intro {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: center;
}

.cms-admission-doc-mandat__specialties-lead {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #64748b;
}

.admission-page--doktorantura .cms-doc-specialty--link:hover {
  border-color: rgba(67, 56, 202, 0.35);
  background: rgba(67, 56, 202, 0.04);
}

.admission-page--doktorantura .cms-doc-specialty__code {
  background: rgba(67, 56, 202, 0.1);
  color: #4338ca;
}

/* ── Internatura theme ── */

.admission-hero--internatura-contact .admission-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 48%, #5eead4 100%);
}

.admission-hero--internatura-submit .admission-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #93c5fd 100%);
}

.admission-hero--internatura-distribution .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #c4b5fd 100%);
}

.admission-hero--internatura-mandat .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #fcd34d 100%);
}

.admission-page--internatura .cms-admission-cta {
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(13, 148, 136, 0.22);
}

.admission-page--internatura .cms-admission-cta__icon {
  background: #0d9488;
}

.admission-page--internatura .cms-science-btn--primary {
  background: #0d9488;
  border-color: #0d9488;
}

.cms-admission-internatura__lead {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: center;
}

.cms-admission-internatura__deadline {
  margin-bottom: 1.25rem;
}

.cms-admission-internatura__block {
  margin-bottom: 1.25rem;
}

.cms-admission-internatura__text {
  margin: 0 0 0.75rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: justify;
}

.cms-admission-internatura__portals {
  display: grid;
  gap: 0.875rem;
  margin-top: 1.25rem;
}

@media (min-width: 640px) {
  .cms-admission-internatura__portals {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-admission-internatura__pdf {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.admission-page--internatura .cms-admission-internatura__related {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

/* ── Xorijiy qabul theme ── */

.admission-hero--foreign-bachelor .admission-hero__inner {
  background: linear-gradient(135deg, #1d4ed8 0%, #0a1158 48%, #60a5fa 100%);
}

.admission-hero--foreign-ordinatura .admission-hero__inner {
  background: linear-gradient(135deg, #0f766e 0%, #0a1158 50%, #2dd4bf 100%);
}

.admission-hero--foreign-docs .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #c4b5fd 100%);
}

.admission-hero--foreign-contract .admission-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 50%, #fcd34d 100%);
}

.admission-hero--foreign-mandat .admission-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 50%, #fca5a5 100%);
}

.admission-page--xorijiy .cms-admission-cta {
  background: linear-gradient(135deg, rgba(29, 78, 216, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(29, 78, 216, 0.22);
}

.admission-page--xorijiy .cms-admission-cta__icon {
  background: #1d4ed8;
}

.admission-page--xorijiy .cms-science-btn--primary {
  background: #1d4ed8;
  border-color: #1d4ed8;
}

.cms-admission-foreign__badge {
  display: inline-flex;
  margin: 0 auto 1rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(29, 78, 216, 0.1);
  border: 1px solid rgba(29, 78, 216, 0.2);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #1d4ed8;
  text-align: center;
}

.cms-science--foreign-bachelor .cms-admission-foreign__badge {
  display: flex;
  justify-content: center;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

.cms-admission-foreign__greeting {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0a1158;
  text-align: center;
}

.cms-admission-foreign__text,
.cms-admission-foreign__lead,
.cms-admission-foreign__note,
.cms-admission-foreign__notice {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: justify;
}

.cms-admission-foreign__lead {
  text-align: center;
}

.cms-admission-foreign__note {
  margin-top: 1.25rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: rgba(29, 78, 216, 0.06);
  border: 1px solid rgba(29, 78, 216, 0.12);
  text-align: center;
}

.cms-admission-foreign__cta {
  margin-bottom: 1.25rem;
}

.cms-admission-foreign__deadline {
  margin-bottom: 0.875rem;
}

.cms-admission-foreign__languages {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.65rem;
  align-items: center;
  margin-bottom: 1rem;
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  background: rgba(10, 17, 88, 0.04);
  font-size: 0.875rem;
}

.cms-admission-foreign__languages-label {
  font-weight: 700;
  color: #0a1158;
}

.cms-admission-foreign__docs-link {
  margin-bottom: 1.25rem;
}

.cms-admission-foreign__programs {
  margin-top: 1.25rem;
}

.cms-admission-foreign__program-cards {
  display: grid;
  gap: 0.875rem;
}

@media (min-width: 640px) {
  .cms-admission-foreign__program-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-admission-foreign__program {
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: #fff;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-admission-foreign__program h4 {
  margin: 0 0 0.5rem;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-admission-foreign__program p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #64748b;
}

.cms-admission-foreign__contract-section {
  margin-bottom: 1.5rem;
}

.cms-admission-foreign__contract-subtitle {
  margin: 0 0 0.875rem;
  font-size: 0.8125rem;
  color: #64748b;
}

.cms-admission-foreign__contract-table th,
.cms-admission-foreign__contract-table td {
  white-space: nowrap;
}

.cms-admission-foreign__contract-table td:nth-child(2) {
  white-space: normal;
  min-width: 10rem;
}

.cms-admission-internatura__related,
.cms-admission-foreign__related {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

/* ── Texnikum bitiruvchilari theme ── */

.admission-hero--texnikum-online .admission-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 48%, #6ee7b7 100%);
}

.admission-hero--texnikum-news .admission-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #93c5fd 100%);
}

.admission-hero--texnikum-nizom .admission-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #c4b5fd 100%);
}

.admission-hero--texnikum-callcenter .admission-hero__inner {
  background: linear-gradient(135deg, #0891b2 0%, #0a1158 50%, #67e8f9 100%);
}

.admission-hero--texnikum-appeal .admission-hero__inner {
  background: linear-gradient(135deg, #ea580c 0%, #0a1158 50%, #fdba74 100%);
}

.admission-hero--texnikum-hub .admission-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 50%, #5eead4 100%);
}

.admission-page--texnikum .cms-admission-cta {
  background: linear-gradient(135deg, rgba(5, 150, 105, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(5, 150, 105, 0.22);
}

.admission-page--texnikum .cms-admission-cta__icon {
  background: #059669;
}

.admission-page--texnikum .cms-science-btn--primary {
  background: #059669;
  border-color: #059669;
}

.cms-admission-texnikum__headline {
  margin: 0 0 0.75rem;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: 1.05rem;
  font-weight: 800;
  color: #0a1158;
  text-align: center;
}

.cms-admission-texnikum__text,
.cms-admission-texnikum__lead,
.cms-admission-texnikum__note,
.cms-admission-texnikum__notice {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: justify;
}

.cms-admission-texnikum__lead {
  text-align: center;
}

.cms-admission-texnikum__note {
  margin-top: 1.25rem;
  padding: 1rem;
  border-radius: 0.875rem;
  background: rgba(5, 150, 105, 0.06);
  border: 1px solid rgba(5, 150, 105, 0.12);
  text-align: center;
}

.cms-admission-texnikum__notice {
  padding: 0.875rem 1rem;
  border-radius: 0.875rem;
  background: rgba(234, 88, 12, 0.06);
  border: 1px solid rgba(234, 88, 12, 0.12);
  text-align: center;
}

.cms-admission-texnikum__cta {
  margin-bottom: 1.25rem;
}

.cms-admission-texnikum__deadline {
  margin-bottom: 0.875rem;
}

.cms-admission-texnikum__summary {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
}

.cms-admission-texnikum__summary li + li {
  margin-top: 0.5rem;
}

.cms-admission-texnikum__colleges {
  margin-top: 1.5rem;
}

.cms-admission-texnikum__college-list {
  display: grid;
  gap: 0.625rem;
}

@media (min-width: 640px) {
  .cms-admission-texnikum__college-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-admission-texnikum__pdf {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-admission-texnikum__related {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}
/* ── Talabalar — Bakalavriat (menu 29) ── */

.student-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.student-hero {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(37, 99, 235, 0.24);
}

.student-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.16) 0%, transparent 42%);
  pointer-events: none;
}

.student-hero__inner {
  position: relative;
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .student-hero__inner {
    padding: 2rem 2.25rem;
  }
}

.student-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}

.student-hero__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1.25rem;
}

.student-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.student-hero__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.8vw, 1.875rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.student-hero__intro {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.88);
  max-width: 68ch;
}

.student-hero--student-guide .student-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #93c5fd 100%);
}

.student-hero--student-talented .student-hero__inner {
  background: linear-gradient(135deg, #ca8a04 0%, #0a1158 48%, #fde047 100%);
}

.student-hero--student-tests .student-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 50%, #6ee7b7 100%);
}

.student-hero--student-schedule .student-hero__inner {
  background: linear-gradient(135deg, #0891b2 0%, #0a1158 52%, #67e8f9 100%);
}

.student-hero--student-dak .student-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 52%, #c4b5fd 100%);
}

.student-hero--student-status .student-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 50%, #fca5a5 100%);
}

.student-hero--student-qualifications .student-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 50%, #5eead4 100%);
}

.student-hero--student-dorm .student-hero__inner {
  background: linear-gradient(135deg, #ea580c 0%, #0a1158 50%, #fdba74 100%);
}

.student-hero--student-grants .student-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 52%, #a5b4fc 100%);
}

.student-hero--student-mag-guide .student-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 50%, #c4b5fd 100%);
}

.student-hero--student-mag-dissertation .student-hero__inner {
  background: linear-gradient(135deg, #4338ca 0%, #0a1158 52%, #818cf8 100%);
}

.student-hero--student-mag-criteria .student-hero__inner {
  background: linear-gradient(135deg, #0891b2 0%, #0a1158 50%, #67e8f9 100%);
}

.student-hero--student-mag-yda .student-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 48%, #6ee7b7 100%);
}

.student-hero--student-mag-status .student-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 50%, #fca5a5 100%);
}

.student-hero--student-mag-grants .student-hero__inner {
  background: linear-gradient(135deg, #b45309 0%, #0a1158 48%, #fcd34d 100%);
}

.student-page--magistratura-student .cms-admission-cta {
  background: linear-gradient(135deg, rgba(124, 58, 237, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(124, 58, 237, 0.22);
}

.student-page--magistratura-student .cms-admission-cta__icon {
  background: #7c3aed;
}

.student-page--magistratura-student .cms-science-btn--primary {
  background: #7c3aed;
  border-color: #7c3aed;
}

.student-page--magistratura-student .cms-student__badge {
  background: rgba(124, 58, 237, 0.08);
  border-color: rgba(124, 58, 237, 0.14);
  color: #7c3aed;
}

.student-page--magistratura-student .cms-student-doc__icon {
  background: rgba(124, 58, 237, 0.08);
  color: #7c3aed;
}

.student-hero--student-ord-guide .student-hero__inner {
  background: linear-gradient(135deg, #0d9488 0%, #0a1158 50%, #5eead4 100%);
}

.student-hero--student-ord-stipendiya .student-hero__inner {
  background: linear-gradient(135deg, #ca8a04 0%, #0a1158 48%, #fde047 100%);
}

.student-hero--student-ord-exams .student-hero__inner {
  background: linear-gradient(135deg, #dc2626 0%, #0a1158 50%, #fca5a5 100%);
}

.student-page--ordinatura-student .cms-admission-cta {
  background: linear-gradient(135deg, rgba(13, 148, 136, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(13, 148, 136, 0.22);
}

.student-page--ordinatura-student .cms-admission-cta__icon {
  background: #0d9488;
}

.student-page--ordinatura-student .cms-science-btn--primary {
  background: #0d9488;
  border-color: #0d9488;
}

.student-page--ordinatura-student .cms-student__badge {
  background: rgba(13, 148, 136, 0.08);
  border-color: rgba(13, 148, 136, 0.14);
  color: #0d9488;
}

.student-page--ordinatura-student .cms-student-doc__icon {
  background: rgba(13, 148, 136, 0.08);
  color: #0d9488;
}

.student-hero--student-intl-dept .student-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #93c5fd 100%);
}

.student-hero--student-intl-contract .student-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 48%, #fcd34d 100%);
}

.student-hero--student-intl-dorm .student-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 50%, #c4b5fd 100%);
}

.student-hero--student-intl-safety .student-hero__inner {
  background: linear-gradient(135deg, #e11d48 0%, #0a1158 50%, #fda4af 100%);
}

.student-page--xorijiy-student .cms-admission-cta {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(37, 99, 235, 0.22);
}

.student-page--xorijiy-student .cms-admission-cta__icon {
  background: #2563eb;
}

.student-page--xorijiy-student .cms-science-btn--primary {
  background: #2563eb;
  border-color: #2563eb;
}

.student-page--xorijiy-student .cms-student__badge {
  background: rgba(37, 99, 235, 0.08);
  border-color: rgba(37, 99, 235, 0.14);
  color: #2563eb;
}

.student-page--xorijiy-student .cms-student-doc__icon {
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
}

.student-hero--student-iq-yutuqlar .student-hero__inner {
  background: linear-gradient(135deg, #d97706 0%, #0a1158 50%, #fcd34d 100%);
}

.student-hero--student-iq-respublika .student-hero__inner {
  background: linear-gradient(135deg, #0284c7 0%, #0a1158 48%, #7dd3fc 100%);
}

.student-hero--student-iq-xalqaro .student-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 50%, #6ee7b7 100%);
}

.student-hero--student-iq-sertifikat .student-hero__inner {
  background: linear-gradient(135deg, #9333ea 0%, #0a1158 48%, #d8b4fe 100%);
}

.student-hero--student-iq-anjuman .student-hero__inner {
  background: linear-gradient(135deg, #4f46e5 0%, #0a1158 50%, #a5b4fc 100%);
}

.student-page--iqtidorli-student .cms-admission-cta {
  background: linear-gradient(135deg, rgba(217, 119, 6, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(217, 119, 6, 0.22);
}

.student-page--iqtidorli-student .cms-admission-cta__icon {
  background: #d97706;
}

.student-page--iqtidorli-student .cms-science-btn--primary {
  background: #d97706;
  border-color: #d97706;
}

.student-page--iqtidorli-student .cms-student__badge {
  background: rgba(217, 119, 6, 0.08);
  border-color: rgba(217, 119, 6, 0.14);
  color: #d97706;
}

.student-page--iqtidorli-student .cms-student-doc__icon {
  background: rgba(217, 119, 6, 0.08);
  color: #d97706;
}

.student-hero--student-kf-videos .student-hero__inner {
  background: linear-gradient(135deg, #0891b2 0%, #0a1158 50%, #67e8f9 100%);
}

.student-hero--student-kf-step1 .student-hero__inner {
  background: linear-gradient(135deg, #ea580c 0%, #0a1158 48%, #fdba74 100%);
}

.student-page--klinik-fikrlash-student .cms-admission-cta {
  background: linear-gradient(135deg, rgba(8, 145, 178, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(8, 145, 178, 0.22);
}

.student-page--klinik-fikrlash-student .cms-admission-cta__icon {
  background: #0891b2;
}

.student-page--klinik-fikrlash-student .cms-science-btn--primary {
  background: #0891b2;
  border-color: #0891b2;
}

.student-page--klinik-fikrlash-student .cms-student__badge {
  background: rgba(8, 145, 178, 0.08);
  border-color: rgba(8, 145, 178, 0.14);
  color: #0891b2;
}

.student-page--klinik-fikrlash-student .cms-student-doc__icon {
  background: rgba(8, 145, 178, 0.08);
  color: #0891b2;
}

.cms-student-info__list {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
}

.cms-student-info__list li + li {
  margin-top: 0.5rem;
}

.cms-student__note {
  margin: 0;
  padding: 1rem;
  border-radius: 0.875rem;
  background: rgba(13, 148, 136, 0.06);
  border: 1px solid rgba(13, 148, 136, 0.12);
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: center;
}

.student-page--bakalavriat-student .cms-admission-cta {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(37, 99, 235, 0.22);
}

.student-page--bakalavriat-student .cms-admission-cta__icon {
  background: #2563eb;
}

.student-page--bakalavriat-student .cms-science-btn--primary {
  background: #2563eb;
  border-color: #2563eb;
}

.cms-student__lead {
  margin: 0 0 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #475569;
  text-align: center;
}

.cms-student__cover {
  margin: 0 0 1.25rem;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-student__cover img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 280px;
  -o-object-fit: cover;
     object-fit: cover;
}

.cms-student-search {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 1rem;
  padding: 0.75rem 1rem;
  border-radius: 0.875rem;
  background: rgba(10, 17, 88, 0.04);
  border: 1px solid rgba(10, 17, 88, 0.08);
  color: #64748b;
}

.cms-student-search__input {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 0.9375rem;
  color: #0a1158;
  outline: none;
}

.cms-student__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.cms-student__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.14);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #2563eb;
}

.cms-student__count {
  font-size: 0.8125rem;
  color: #64748b;
}

.cms-student-docs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.cms-student-doc {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.875rem;
  background: #fff;
  border: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-student-doc__icon {
  width: 2.25rem;
  height: 2.25rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(37, 99, 235, 0.08);
  color: #2563eb;
  flex-shrink: 0;
}

.cms-student-doc__body {
  flex: 1;
  min-width: 0;
}

.cms-student-doc__num {
  display: inline-block;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #94a3b8;
}

.cms-student-doc__title {
  margin: 0 0 0.625rem;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.55;
  color: #0a1158;
}

.cms-student-doc__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cms-student-test__groups {
  display: grid;
  gap: 1.5rem;
}

.cms-student-test__list {
  display: grid;
  gap: 0.625rem;
}

.cms-student-test__actions {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #2563eb;
}

.cms-student-test__preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: none;
  border-radius: 0.5rem;
  background: rgba(37, 99, 235, 0.1);
  color: #2563eb;
  cursor: pointer;
}

.cms-student__cta {
  margin-bottom: 1.25rem;
}

.cms-student__deadline {
  margin-bottom: 1.25rem;
}

.cms-student__pdf,
.cms-student-gallery__pdf-head {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-student-gallery__pdf-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0;
  padding-top: 0;
  border-top: none;
  margin-bottom: 1rem;
}

.cms-student-gallery__pdf-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-student-status {
  text-align: center;
  margin-bottom: 1.5rem;
}

.cms-student-status__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.85rem;
  border-radius: 999px;
  background: rgba(37, 99, 235, 0.08);
  border: 1px solid rgba(37, 99, 235, 0.14);
  font-size: 0.8125rem;
  font-weight: 700;
  color: #2563eb;
}

.cms-student-status__text {
  margin: 0.875rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: #64748b;
}

.cms-student-related__title {
  margin: 0 0 0.875rem;
  font-size: 1rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-article--student table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.8125rem;
}

.cms-article--student table th,
.cms-article--student table td {
  border: 1px solid rgba(10, 17, 88, 0.12);
  padding: 0.5rem 0.625rem;
  text-align: center;
  vertical-align: middle;
}

.cms-article--student table th {
  background: rgba(37, 99, 235, 0.06);
  color: #0a1158;
  font-weight: 700;
}

.cms-article--student .cms-admission-video,
.cms-article--student iframe {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border: none;
  border-radius: 0.875rem;
}

.cms-article--student img {
  max-width: 100%;
  height: auto;
  border-radius: 0.75rem;
}

@media (max-width: 767px) {
  .cms-article--student .cms-admission-docs-table__wrap,
  .cms-article--student table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
/* ── Xorijiy talabalar (menu 6) ── */

.xorijiy-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.xorijiy-hero {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(37, 99, 235, 0.28);
}

.xorijiy-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.16) 0%, transparent 42%);
  pointer-events: none;
}

.xorijiy-hero__inner {
  position: relative;
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .xorijiy-hero__inner {
    padding: 2rem 2.25rem;
  }
}

.xorijiy-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}

.xorijiy-hero__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1.25rem;
}

.xorijiy-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.xorijiy-hero__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.8vw, 1.875rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.xorijiy-hero__intro {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.88);
  max-width: 68ch;
}

.xorijiy-hero--xorijiy-study .xorijiy-hero__inner {
  background: linear-gradient(135deg, #2563eb 0%, #0a1158 50%, #93c5fd 100%);
}

.xorijiy-hero--xorijiy-abiturient .xorijiy-hero__inner {
  background: linear-gradient(135deg, #7c3aed 0%, #0a1158 48%, #c4b5fd 100%);
}

.xorijiy-hero--xorijiy-events .xorijiy-hero__inner {
  background: linear-gradient(135deg, #059669 0%, #0a1158 50%, #6ee7b7 100%);
}

.xorijiy-page--xorijiy .cms-admission-cta {
  background: linear-gradient(135deg, rgba(37, 99, 235, 0.08) 0%, rgba(10, 17, 88, 0.04) 100%);
  border-color: rgba(37, 99, 235, 0.22);
}

.xorijiy-page--xorijiy .cms-admission-cta__icon {
  background: #2563eb;
}

.xorijiy-page--xorijiy .cms-science-btn--primary {
  background: #2563eb;
  border-color: #2563eb;
}

.cms-article--xorijiy hr {
  margin: 1.5rem 0;
  border: none;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-article--xorijiy ol {
  margin: 0 0 1rem;
  padding-left: 1.25rem;
}

.cms-article--xorijiy ol > li {
  margin-bottom: 1rem;
}

.cms-article--xorijiy ul {
  margin: 0.5rem 0 0;
  padding-left: 1.25rem;
}

.cms-science--xorijiy-portal .cms-xorijiy__cta {
  margin-bottom: 1.5rem;
}
/* ── Kongress bo'limi (menu 362) ── */

.kongress-page {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.kongress-hero {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 20px 50px -24px rgba(217, 119, 6, 0.32);
}

.kongress-hero__glow {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.18) 0%, transparent 45%);
  pointer-events: none;
}

.kongress-hero__inner {
  position: relative;
  padding: 1.5rem;
  color: #ffffff;
}

@media (min-width: 768px) {
  .kongress-hero__inner {
    padding: 2rem 2.25rem;
  }
}

.kongress-hero__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.875rem;
}

.kongress-hero__icon {
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.14);
  font-size: 1.25rem;
}

.kongress-hero__eyebrow {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.kongress-hero__title {
  margin: 0;
  font-family: var(--font-heading, Manrope, system-ui, sans-serif);
  font-size: clamp(1.35rem, 2.8vw, 1.875rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -0.03em;
}

.kongress-hero__intro {
  margin: 1rem 0 0;
  font-size: 0.9375rem;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.88);
  max-width: 68ch;
}

.kongress-hero--kongress-main .kongress-hero__inner {
  background: linear-gradient(135deg, #d97706 0%, #0a1158 52%, #fcd34d 100%);
}

.cms-kongress {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.cms-kongress__hero-image {
  margin: 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  box-shadow: 0 16px 48px -28px rgba(10, 17, 88, 0.2);
}

.cms-kongress__hero-image img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 28rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center top;
     object-position: center top;
}

.cms-kongress__stats {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.cms-kongress__stat {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.4rem 0.75rem;
  border-radius: 9999px;
  background: rgba(217, 119, 6, 0.1);
  border: 1px solid rgba(217, 119, 6, 0.2);
  color: #b45309;
  font-size: 0.8125rem;
  font-weight: 600;
}

.cms-kongress__featured {
  list-style: none;
  padding: 0;
  margin: 0;
}

.cms-kongress__block {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(10, 17, 88, 0.08);
}

.cms-kongress__block:first-of-type {
  padding-top: 0;
  border-top: 0;
}

.cms-kongress__block-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.625rem 1rem;
}

.cms-kongress__block-title {
  margin: 0;
  font-family: var(--font-heading, inherit);
  font-size: 1.125rem;
  font-weight: 800;
  color: #0a1158;
  line-height: 1.35;
}

.cms-kongress__block-year {
  padding: 0.25rem 0.625rem;
  border-radius: 9999px;
  background: rgba(10, 17, 88, 0.06);
  color: #475569;
  font-size: 0.75rem;
  font-weight: 700;
}

.cms-kongress__banner {
  margin: 0;
  border-radius: 0.875rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f8fafc;
}

.cms-kongress__banner img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 22rem;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.cms-kongress__gallery {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.625rem;
}

@media (min-width: 768px) {
  .cms-kongress__gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

.cms-kongress__gallery-item {
  border-radius: 0.75rem;
  overflow: hidden;
  border: 1px solid rgba(10, 17, 88, 0.08);
  background: #f1f5f9;
  aspect-ratio: 4 / 3;
}

.cms-kongress__gallery-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
  transition: transform 0.4s ease;
}

.cms-kongress__gallery-item:hover img {
  transform: scale(1.04);
}

.cms-kongress__videos {
  display: grid;
  gap: 1rem;
}

@media (min-width: 768px) {
  .cms-kongress__videos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-kongress__video {
  position: relative;
  border-radius: 0.875rem;
  overflow: hidden;
  background: #0a1158;
  aspect-ratio: 16 / 9;
  box-shadow: 0 12px 36px -20px rgba(10, 17, 88, 0.28);
}

.cms-kongress__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.cms-kongress__docs {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .cms-kongress__docs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.cms-kongress__doc {
  display: flex;
  gap: 0.875rem;
  padding: 1rem 1.125rem;
  border-radius: 0.75rem;
  background: linear-gradient(135deg, #fffbeb 0%, #ffffff 100%);
  border: 1px solid rgba(217, 119, 6, 0.14);
  box-shadow: 0 4px 16px -8px rgba(10, 17, 88, 0.1);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.cms-kongress__doc:hover {
  border-color: rgba(217, 119, 6, 0.35);
  box-shadow: 0 8px 24px -12px rgba(10, 17, 88, 0.14);
}

.cms-kongress__doc--featured {
  background: linear-gradient(135deg, rgba(217, 119, 6, 0.12) 0%, #ffffff 100%);
  border-color: rgba(217, 119, 6, 0.28);
}

.cms-kongress__doc-icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.625rem;
  background: rgba(217, 119, 6, 0.15);
  color: #b45309;
  font-size: 1.25rem;
}

.cms-kongress__doc-body {
  min-width: 0;
  flex: 1;
}

.cms-kongress__doc-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

.cms-kongress__doc-year {
  font-size: 0.6875rem;
  font-weight: 700;
  color: #64748b;
}

.cms-kongress__doc-badge {
  padding: 0.2rem 0.5rem;
  border-radius: 9999px;
  background: rgba(217, 119, 6, 0.15);
  color: #b45309;
  font-size: 0.6875rem;
  font-weight: 700;
}

.cms-kongress__doc-title {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.5;
  color: #0f172a;
}

.cms-kongress__doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cms-kongress__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.45rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  color: #0a1158;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.cms-kongress__btn:hover {
  border-color: rgba(217, 119, 6, 0.4);
  background: #fffbeb;
}

.cms-kongress__btn--primary {
  background: #0a1158;
  border-color: #0a1158;
  color: #ffffff;
}

.cms-kongress__btn--primary:hover {
  background: #060a3d;
  border-color: #060a3d;
}

.cms-kongress__preview {
  margin-top: 1rem;
  padding: 1rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(10, 17, 88, 0.1);
  background: #f8fafc;
}

.cms-kongress__preview--global {
  margin-top: 0.5rem;
}

.cms-kongress__preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.875rem;
}

.cms-kongress__preview-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-kongress__preview-close {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.4rem 0.75rem;
  border-radius: 0.5rem;
  border: 1px solid rgba(10, 17, 88, 0.12);
  background: #ffffff;
  font-size: 0.75rem;
  font-weight: 600;
  color: #475569;
  cursor: pointer;
}

.cms-kongress__empty {
  padding: 2.5rem 1.5rem;
  text-align: center;
  border-radius: 0.875rem;
  border: 1px dashed rgba(10, 17, 88, 0.15);
  background: #f8fafc;
}

.cms-kongress__empty-icon {
  font-size: 2.5rem;
  color: #d97706;
  opacity: 0.5;
}

.cms-kongress__empty-title {
  margin: 0.75rem 0 0.375rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #0a1158;
}

.cms-kongress__empty-text {
  margin: 0;
  font-size: 0.875rem;
  color: #64748b;
  line-height: 1.65;
}
