*, ::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: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 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;
}
.container {
  width: 100%;
}
@media (min-width: 640px) {

  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}
@media (min-width: 768px) {

  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}
@media (min-width: 834px) {

  .\!container {
    max-width: 834px !important;
  }

  .container {
    max-width: 834px;
  }
}
@media (min-width: 1024px) {

  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}
@media (min-width: 1220px) {

  .\!container {
    max-width: 1220px !important;
  }

  .container {
    max-width: 1220px;
  }
}
@media (min-width: 1280px) {

  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}
@media (min-width: 1536px) {

  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}
@media (min-width: 1920px) {

  .\!container {
    max-width: 1920px !important;
  }

  .container {
    max-width: 1920px;
  }
}
.\!visible {
  visibility: visible !important;
}
.visible {
  visibility: visible;
}
.collapse {
  visibility: collapse;
}
.static {
  position: static;
}
.fixed {
  position: fixed;
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.block {
  display: block;
}
.inline-block {
  display: inline-block;
}
.inline {
  display: inline;
}
.table {
  display: table;
}
.table-caption {
  display: table-caption;
}
.table-cell {
  display: table-cell;
}
.contents {
  display: contents;
}
.\!hidden {
  display: none !important;
}
.hidden {
  display: none;
}
.transform {
  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));
}
.resize {
  resize: both;
}
.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rounded {
  border-radius: 0.25rem;
}
.border {
  border-width: 1px;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
.text-red-600 {
  --tw-text-opacity: 1;
  color: rgb(220 38 38 / var(--tw-text-opacity, 1));
}
.shadow {
  --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}
.\!invert {
  --tw-invert: invert(100%) !important;
  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) !important;
}
.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) !important;
}
.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);
}
.transition {
  transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

/* Center the introduction when the slider is disabled or has no active slides. */
.hero.hero-without-slider { grid-template-columns: minmax(0, 1fr); }
.hero-without-slider .hero-copy { width:100%; max-width:900px; margin-inline:auto; padding-inline:0; align-items:center; text-align:center; }
.hero-without-slider .hero-actions { justify-content:center; }
.hero-without-slider .hero-note { justify-content:center; }

/* Persistent language selection shared by desktop and mobile controls. */
.language-switcher{display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--border-default);border-radius:12px;flex-shrink:0;margin:0}
.language-option{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;padding:6px;border:0;border-radius:8px;background:transparent;color:var(--foreground-secondary);font-size:12px;font-weight:700;line-height:1.2}
.language-option:hover{background:var(--soft-accent);color:var(--accent-default)}
.language-option.is-active{background:var(--accent-default);color:#fff}
@media(min-width:901px) and (max-width:1150px){.site-header .header-details{display:none}}
@media(max-width:900px){.site-header .header-inner{flex-wrap:wrap;-moz-column-gap:12px;column-gap:12px}.header-inner .brand{flex:1;min-width:0}.header-inner .language-switcher{order:4;flex-basis:100%;justify-content:flex-end;border:0;padding:0}.language-option{min-height:40px}}

/* Preload Manrope and briefly wait for it instead of retaining the fallback font. */
@font-face{font-family:Manrope;font-style:normal;font-display:block;font-weight:200 800;src:url('/fonts/manrope/manrope-cyrillic-ext-wght-normal.woff2') format('woff2');unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:Manrope;font-style:normal;font-display:block;font-weight:200 800;src:url('/fonts/manrope/manrope-cyrillic-wght-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;font-style:normal;font-display:block;font-weight:200 800;src:url('/fonts/manrope/manrope-latin-wght-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Brand palette, Manrope, button shapes and 24px surfaces from KOZ.WEB. */
:root{--page-background:#f5f5f5;--card-background:#fff;--accent-default:#04555d;--accent-hover:#088c9a;--brand-colors-brand:#0bbed1;--foreground-main:#0a0a0a;--foreground-secondary:#525252;--border-default:#e5e5e5;--surface:#f4f8f8;--soft-accent:#e9f6f7}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;font-family:Manrope,Arial,sans-serif;color:var(--foreground-main);background:var(--page-background);font-size:20px;line-height:1.65}button,input{font:inherit}button,a,input{touch-action:manipulation}a{color:inherit;text-decoration:none}button{cursor:pointer}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.25;font-weight:650;letter-spacing:-.035em}p{color:var(--foreground-secondary)}[hidden]{display:none!important}.icon{flex-shrink:0;vertical-align:middle}a,button{transition:background .18s,color .18s,border-color .18s}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--accent-hover);outline-offset:4px}.container{width:100%;max-width:1480px;margin-inline:auto;padding-inline:40px}.skip-link{position:fixed;top:8px;left:8px;padding:12px 20px;background:#fff;z-index:100;transform:translateY(-160%)}.skip-link:focus{transform:none}.utility-bar{background:#f4f7f7;color:#5d6869;font-size:17px}.utility-inner{display:flex;align-items:center;gap:24px;min-height:39px}.utility-address{margin-left:auto}.site-header{border-bottom:1px solid var(--border-default);background:#fff}.header-inner{display:flex;align-items:center;justify-content:space-between;min-height:91px;gap:24px}.brand{display:flex;align-items:center;gap:23px}.site-logo{display:inline-flex;align-items:center}.brand-divider{height:32px;width:1px;background:#dbe2e2}.brand-education{font-size:18px;line-height:1.5;font-weight:600;color:#485557}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;background:var(--accent-default);color:#fff;padding:15px 22px;border:1px solid transparent;border-radius:12px;font-weight:600;font-size:19px;min-height:50px;line-height:1.4}.button:hover{background:var(--accent-hover)}.button .icon{width:19px;height:19px}.button-small{padding:12px 18px;min-height:44px}.button-secondary{color:var(--accent-default);background:#d8f1f4}.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--accent-default);font-size:19px;font-weight:650}.text-link:hover{color:var(--accent-hover)}.text-link .icon{height:19px;width:19px}.main-navigation{display:flex;align-items:stretch;gap:24px;min-height:55px;font-size:19px;font-weight:600}.nav-home,.nav-item-heading{display:flex;align-items:center}.nav-home,.nav-item-heading>a{padding-block:16px;border-bottom:2px solid transparent}.main-navigation .active{color:var(--accent-default);border-bottom-color:var(--brand-colors-brand)}.nav-item{position:relative}.nav-item-heading{gap:7px}.submenu-toggle{background:none;border:0;color:#607173;width:28px;height:32px;font-size:24px;border-radius:6px}.submenu-toggle:hover{background:var(--soft-accent)}.nav-dropdown{position:absolute;left:-16px;top:100%;min-width:300px;background:#fff;border:1px solid var(--border-default);box-shadow:0 14px 30px #193e4914;border-radius:0 0 16px 16px;padding:12px;z-index:30}.nav-dropdown>a{display:flex;justify-content:space-between;gap:20px;padding:12px;border-radius:8px;font-weight:500}.nav-dropdown>a:hover{background:var(--soft-accent);color:var(--accent-default)}.menu-toggle{display:none}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:700;letter-spacing:.12em;color:var(--accent-default);line-height:1.5}.status-dot{height:6px;width:6px;display:inline-block;background:var(--brand-colors-brand);border-radius:50%}.home-page{padding-top:28px}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:16px}.hero-copy{padding:40px 24px 30px 0;display:flex;flex-direction:column;align-items:flex-start}.hero h1{font-size:clamp(42px,4.2vw,60px);line-height:1.16;margin-top:24px;letter-spacing:-.052em}.hero h1>span{color:var(--accent-default)}.hero-copy>p{margin-top:24px;font-size:20px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:28px}.hero-note{display:flex;align-items:center;gap:12px;margin-top:auto;padding-top:40px;font-size:16px;color:#718081;line-height:1.8}.hero-note strong{color:#4c5c5d;font-weight:500}.hero-note-icon{width:40px;height:40px;border-radius:50%;border:1px solid #dfe8e8;display:grid;place-items:center;color:var(--accent-default)}.hero-note-icon .icon{width:20px}.hero-gallery{position:relative;overflow:hidden;border-radius:24px;min-height:447px;background:#dbe5e5}.hero-slide{height:100%;position:absolute;inset:0}.hero-slide:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,#051f29b8 100%)}.hero-slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:42% center;object-position:42% center}.photo-caption{position:absolute;left:30px;bottom:72px;color:#fff;z-index:1}.photo-label{font-size:15px;letter-spacing:.15em;font-weight:600}.photo-caption h2{font-size:36px;margin-top:12px;font-weight:550;letter-spacing:-.035em}.gallery-controls{position:absolute;bottom:20px;left:30px;right:24px;display:flex;justify-content:space-between;align-items:center;z-index:2}.gallery-dots{display:flex;gap:6px}.gallery-dots button{padding:0;width:24px;height:24px;background:transparent;border:0;position:relative}.gallery-dots button:before{content:'';position:absolute;inset:9px 4px;border-radius:8px;background:#ffffff55}.gallery-dots button.selected:before{background:#fff}.gallery-arrows{display:flex;gap:6px}.gallery-arrows button{height:40px;width:40px;background:#ffffff17;border:1px solid #ffffff45;border-radius:50%;color:#fff;font-size:24px}.gallery-arrows button:hover{background:#ffffff40}.section{margin-top:66px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:25px}.section h2{font-size:36px;margin-top:9px}.section-heading>p{font-size:18px;line-height:1.8}.direction-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.direction-card{padding:23px 22px 18px;background:#f4f8f8;border:1px solid #edf1f1;border-radius:20px;display:flex;flex-direction:column;min-width:0}.direction-residency{background:#e8f5f6;border-color:#e0f0f0}.direction-events{background:#f4f4f8;border-color:#efeff3}.direction-contacts{background:#f7f7f3;border-color:#f0f0e9}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.icon-tile{display:inline-grid;place-items:center;flex-shrink:0;width:42px;height:42px;background:#fff;border:1px solid #e4eeee;border-radius:12px;color:var(--accent-default)}.card-index{font-size:17px;color:#899999}.direction-card h3{font-size:24px;min-height:56px}.direction-card h3 a{display:flex;justify-content:space-between;gap:14px}.direction-card h3 span{color:var(--accent-default);font-size:26px;flex-shrink:0;font-weight:450}.direction-card>p{font-size:19px;line-height:1.8;min-height:65px;margin-top:10px;margin-bottom:24px}.card-links{margin-top:auto;border-top:1px solid #dce7e6;padding-top:9px}.card-links>a{display:flex;justify-content:space-between;gap:10px;padding:8px 0;font-size:18px;font-weight:600;color:#415b5c}.card-links>a:hover{color:var(--accent-hover)}.learning-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.learning-feature{position:relative;overflow:hidden;background:var(--accent-default);color:#fff;border-radius:22px;padding:30px;min-height:295px;display:flex;flex-direction:column;justify-content:space-between}.pill{display:inline-block;background:var(--soft-accent);color:var(--accent-default);font-size:16px;line-height:1.4;border-radius:6px;padding:6px 9px;font-weight:600;letter-spacing:.03em}.learning-feature .pill{background:#ffffff17;color:#daf8fb;border:1px solid #ffffff26;font-size:15px}.learning-feature h3{font-size:36px;margin-top:18px;position:relative;z-index:1}.learning-feature p{color:#d0e5e6;font-size:18px;margin-top:12px}.feature-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px;font-size:16px;color:#d0e5e6;z-index:1}.round-arrow{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid #ffffff55;border-radius:50%;color:#fff;line-height:1}.decorative-orbit{position:absolute;height:260px;width:260px;border:40px solid #ffffff07;right:-85px;top:26px;border-radius:50%;box-shadow:0 0 0 36px #ffffff04,0 0 0 72px #ffffff03}.learning-side{display:grid;grid-template-rows:1fr 1fr;gap:14px}.resource-card{display:flex;align-items:center;gap:19px;background:#f5f8f8;border:1px solid #edf1f1;border-radius:20px;padding:24px}.resource-card h3{font-size:24px;margin-top:9px;letter-spacing:-.025em}.resource-card p{font-size:19px;margin-top:7px}.resource-card .eyebrow{font-size:14px}.resource-arrow{margin-left:auto;align-self:flex-start;color:var(--accent-default);font-size:26px}.resource-card:hover{background:var(--soft-accent)}.about-section{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;border-top:1px solid var(--border-default);padding-top:48px}.about-intro>p{max-width:430px;font-size:20px;margin-top:23px;line-height:1.9}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 32px}.benefit-grid article>.icon{color:var(--accent-default);width:25px;height:25px;margin-bottom:13px}.benefit-grid h3{font-size:20px;letter-spacing:-.015em}.benefit-grid p{font-size:19px;margin-top:8px;line-height:1.8}.contact-banner{margin:65px 0 55px;padding:32px;background:#eaf5f5;border:1px solid #e1efef;border-radius:22px;display:flex;align-items:center;justify-content:space-between;gap:35px}.contact-banner h2{font-size:32px;margin:9px 0}.contact-banner p{font-size:18px;max-width:660px}.contact-banner .button{flex-shrink:0}.site-footer{background:#f6f8f8;border-top:1px solid #e9eeee;padding:40px 0 16px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:60px}.footer-grid h2{font-size:18px;font-weight:700;letter-spacing:0;margin-bottom:14px}.footer-grid>div>a:not(.site-logo){display:block;font-size:18px;color:#526667;margin:7px 0}.footer-grid p{font-size:17px;line-height:1.9;margin:14px 0}.footer-grid a:hover{color:var(--accent-hover)}.footer-bottom{display:flex;justify-content:space-between;margin-top:32px;padding-top:18px;border-top:1px solid #dfe6e6;font-size:15px;color:#6e7c7d}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:17px;color:#78898a;margin:25px 0 32px}.breadcrumbs a:hover{color:var(--accent-hover)}.breadcrumbs [aria-current]{color:#304647}.page-heading{margin-bottom:36px}.page-heading h1{font-size:42px;margin-top:14px}.page-heading p{max-width:720px;font-size:20px;margin-top:16px}.page-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:38px;align-items:start}.section-sidebar{position:sticky;top:24px;border-radius:16px;border:1px solid var(--border-default);padding:20px 12px;background:#fff}.section-sidebar>.eyebrow{padding-inline:12px}.section-sidebar nav{margin-top:15px}.section-sidebar nav a{display:flex;justify-content:space-between;gap:10px;padding:11px 12px;border-radius:9px;font-size:18px;color:#4f6263}.section-sidebar nav .active{background:var(--soft-accent);color:var(--accent-default);font-weight:650}.section-sidebar nav a:hover{background:var(--surface)}.sidebar-help{border-top:1px solid var(--border-default);margin:20px 12px 0;padding-top:23px}.sidebar-help>.icon{color:var(--accent-default)}.sidebar-help h3{font-size:20px;margin:12px 0 8px}.sidebar-help p{font-size:17px}.sidebar-help a{display:block;font-size:18px;margin-top:13px}.page-content{min-width:0;display:grid;gap:24px}.content-panel{padding:30px;border:1px solid var(--border-default);border-radius:20px}.content-panel h2,.content-heading h2,.contact-detail h2,.schedule-panel h2{font-size:32px;letter-spacing:-.025em}.content-panel>.pill{margin-bottom:16px}.content-panel p{font-size:19px;margin-top:14px;line-height:1.9}.content-panel h3{font-size:21px;margin-top:24px}.content-panel ul{list-style:disc outside;padding-left:24px;margin-top:13px;color:var(--foreground-secondary);font-size:19px;line-height:2}.content-panel>.button{margin-top:25px}.muted{color:#6f8485}.fact-grid{display:flex;gap:32px;flex-wrap:wrap;background:var(--surface);padding:20px;border-radius:12px;margin-top:25px}.fact-grid span{display:block;font-size:16px;color:#5e7273;margin-bottom:7px}.fact-grid strong{display:block;font-size:19px;font-weight:650;max-width:240px}.notice{display:flex;align-items:flex-start;gap:15px;padding:23px;background:#eff7f7;border-radius:16px;color:var(--accent-default)}.notice strong{font-size:20px}.notice p{font-size:18px;margin-top:7px}.document-checklist{counter-reset:documents;list-style:none;padding:0;margin:22px 0}.document-checklist li{counter-increment:documents;position:relative;padding:16px 8px 16px 44px;border-bottom:1px solid var(--border-default);font-size:19px}.document-checklist li:before{content:counter(documents);position:absolute;left:0;top:13px;width:28px;height:28px;display:grid;place-items:center;background:var(--soft-accent);border-radius:7px;color:var(--accent-default);font-size:17px;font-weight:700}.external-resources{display:grid;gap:12px;margin-top:24px}.external-resources a{padding:20px;background:var(--surface);border-radius:12px;display:flex;justify-content:space-between;align-items:center;color:var(--accent-default)}.external-resources small{display:block;color:#627778;font-size:17px;margin-top:4px}.external-resources a:hover{background:var(--soft-accent)}.download-list{display:grid;gap:12px;margin-top:25px}.download-list a{display:flex;align-items:center;gap:16px;padding:19px;background:var(--surface);border:1px solid #e6eeee;border-radius:12px;font-size:19px;font-weight:600}.download-list a:hover{background:var(--soft-accent)}.download-list .icon{margin-left:auto;color:var(--accent-default);width:20px}.file-format{display:grid;place-items:center;height:38px;width:47px;border-radius:7px;background:#fff;border:1px solid #dce8e9;font-size:15px;color:var(--accent-default);flex-shrink:0}.source-note{font-size:16px!important;color:#6c7e7f!important;line-height:1.8;margin:12px 0}.source-note a{text-decoration:underline;text-underline-offset:3px}.course-browser{padding-top:8px}.content-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.course-tools{display:grid;gap:14px;margin:25px 0 15px}.search-field{display:flex;align-items:center;gap:12px;border:1px solid #d3dfe0;padding:13px 16px;border-radius:12px;color:#708788;background:#fff}.search-field input{width:100%;min-width:0;border:0;background:transparent;color:#183f42;font-size:19px;outline:0}.search-field:focus-within{outline:2px solid var(--accent-hover);outline-offset:2px}.filter-buttons{display:flex;gap:7px;flex-wrap:wrap}.filter-buttons button{border:1px solid #dce6e6;border-radius:8px;padding:8px 13px;font-size:17px;background:#fff;color:#536869}.filter-buttons button.selected{background:var(--accent-default);color:#fff;border-color:var(--accent-default)}.result-count{font-size:17px;margin-bottom:15px}.course-list{display:grid;grid-template-columns:1fr 1fr;gap:14px}.course-card{display:flex;flex-direction:column;align-items:flex-start;padding:23px;border:1px solid #e1e8e8;border-radius:16px}.course-card h3{font-size:22px;line-height:1.5;letter-spacing:-.025em;margin-top:15px}.course-meta{display:grid;gap:8px;margin-top:18px;font-size:17px;color:#647879}.course-meta span{display:flex;align-items:center;gap:7px}.course-meta .icon{width:16px;height:16px}.course-teacher{font-size:16px;margin-top:10px}.course-card>.text-link{padding-top:22px;margin-top:auto;font-size:17px}.empty-state{text-align:center;padding:45px 26px;background:var(--surface);border-radius:20px}.empty-state>.icon-tile{margin-bottom:22px}.empty-state p{max-width:570px;margin:15px auto 25px;font-size:19px}.empty-state .button{margin-top:8px}.content-photo{display:block;width:100%;height:auto;border-radius:16px;margin-top:24px}.pending-list{list-style:none;padding:0!important;margin-top:23px!important}.pending-list li{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid var(--border-default);line-height:1.6}.pending-list small{font-size:15px;white-space:normal;color:#718586}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-detail{padding:27px;background:var(--surface);border-radius:18px;min-width:0}.contact-detail h2{font-size:24px;margin:20px 0 18px}.contact-detail>a{display:block;font-size:18px;margin-top:13px;overflow-wrap:anywhere}.contact-detail .contact-value{font-size:24px;font-weight:600;color:var(--accent-default);line-height:1.5}.contact-detail p{font-size:18px;margin-top:14px}.schedule-panel{padding:27px;border:1px solid var(--border-default);border-radius:18px;display:flex;align-items:flex-start;gap:18px}.schedule-panel>.icon{color:var(--accent-default)}.schedule-panel h2{font-size:26px;margin-bottom:18px}.schedule-panel p{font-size:18px;margin:9px 0}.schedule-panel strong{margin-left:20px;font-weight:600;color:#29484b}.admission-steps{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:25px}.admission-steps article{background:var(--surface);border-radius:12px;padding:20px}.admission-steps article>span{font-size:18px;color:var(--accent-default);font-weight:700}.admission-steps h3{margin-top:12px!important}.admission-steps p{font-size:18px;margin-top:8px}.admission-steps .text-link{font-size:17px;margin-top:12px}

@media(min-width:1500px){.container{max-width:1560px}.hero-gallery{min-height:480px}.hero-copy{padding-top:48px}.hero h1{font-size:64px}.hero-copy>p{font-size:21px}.direction-card>p{font-size:18px}.card-links>a{font-size:17px}}
@media(max-width:1100px){.container{padding-inline:28px}.main-navigation{gap:25px}.hero-copy{padding-top:28px}.hero h1{font-size:48px}.hero-gallery{min-height:420px}.hero-actions{gap:16px;flex-wrap:wrap}.direction-grid{grid-template-columns:1fr 1fr}.direction-card>p{min-height:0;font-size:18px}.direction-card h3{min-height:0}.card-links>a{font-size:18px}.about-section{gap:36px}.resource-card{padding:20px;gap:12px}.resource-card .icon-tile{display:none}.page-grid{grid-template-columns:220px minmax(0,1fr);gap:24px}.course-list{grid-template-columns:1fr}.contact-grid{grid-template-columns:1fr}.contact-banner h2{font-size:30px}.utility-address{display:none}.utility-inner>a:nth-of-type(2){margin-left:auto}}
@media(max-width:900px){.container{padding-inline:10px}.utility-inner{min-height:40px;gap:4px 16px;font-size:15px;justify-content:space-between;flex-wrap:wrap;padding-block:8px}.utility-inner>a:nth-of-type(2){margin-left:0}.header-inner{min-height:110px}.brand{gap:8px;flex-direction:column;align-items:flex-start;min-width:0}.brand-divider{display:none}.site-logo svg{width:128px;height:auto}.brand-education{font-size:15px;border:0;padding:0}.header-contact{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:42px;height:42px;flex-shrink:0;border:1px solid #e1e8e8;border-radius:10px;background:#fff}.menu-toggle span{width:18px;height:1.5px;background:var(--accent-default)}.main-navigation{display:none;padding-top:7px;padding-bottom:14px;gap:0;font-size:20px;flex-direction:column}.main-navigation.open{display:flex}.nav-home,.nav-item-heading{border-bottom:1px solid #eef2f2;justify-content:space-between}.nav-item-heading>a{padding-block:12px;flex:1}.nav-dropdown{position:static;border:0;box-shadow:none;padding:4px 6px 12px;min-width:0;background:#f4f8f8;border-radius:10px;margin:8px 0}.submenu-toggle{height:40px;width:40px}.hero{grid-template-columns:1fr;gap:24px}.home-page{padding-top:12px}.hero-copy{padding:23px 0 0}.hero .eyebrow{font-size:15px;letter-spacing:.08em}.hero h1{font-size:48px;margin-top:21px}.hero-copy>p{font-size:19px;margin-top:20px}.desktop-break{display:none}.hero-actions{margin-top:23px;gap:20px}.hero-note{padding-top:25px}.hero-gallery{min-height:350px}.photo-caption{left:24px;bottom:67px}.photo-caption h2{font-size:32px}.gallery-controls{left:24px}.section{margin-top:44px}.section-heading{align-items:flex-start;flex-direction:column;gap:13px;margin-bottom:22px}.section-heading>p br{display:none}.section h2{font-size:32px;margin-top:8px}.direction-grid{gap:12px}.direction-card{padding:19px 16px}.card-top{margin-bottom:20px}.direction-card h3{font-size:21px}.direction-card h3 span{font-size:24px}.direction-card>p{font-size:19px;margin-bottom:18px}.card-links>a{font-size:16px}.learning-grid{grid-template-columns:1fr}.learning-feature{min-height:285px;padding:26px}.learning-feature h3{font-size:32px}.resource-card{padding:23px;gap:15px}.resource-card .icon-tile{display:grid}.resource-card h3{font-size:22px}.resource-card .eyebrow{font-size:14px}.learning-side{gap:12px}.about-section{grid-template-columns:1fr;gap:30px;padding-top:34px}.about-intro>p{max-width:none}.benefit-grid{gap:25px 20px}.benefit-grid h3{font-size:19px}.contact-banner{margin:43px 0 36px;padding:25px;align-items:flex-start;flex-direction:column;gap:20px}.contact-banner h2{font-size:30px}.footer-grid{grid-template-columns:1fr 1fr;gap:25px}.footer-brand{grid-column:1/-1}.footer-grid p{margin:10px 0}.footer-bottom{flex-direction:column;gap:7px;margin-top:26px}.site-footer{padding-top:28px}.breadcrumbs{margin:19px 0 26px;font-size:16px;gap:8px}.page-heading h1{font-size:42px}.page-heading p{font-size:19px}.page-grid{grid-template-columns:1fr;gap:24px}.section-sidebar{position:static;padding:15px}.section-sidebar nav{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.section-sidebar nav a{font-size:18px;padding:10px 12px;background:#f4f8f8}.section-sidebar nav a span{display:none}.sidebar-help{display:none}.content-panel{padding:23px}.content-panel h2,.content-heading h2{font-size:30px}.fact-grid{gap:22px;padding:18px}.notice{padding:20px}.notice strong{font-size:20px}.content-heading{align-items:flex-start;flex-direction:column;gap:12px}.contact-grid{grid-template-columns:1fr 1fr;gap:12px}.contact-detail{padding:22px}.contact-detail h2{font-size:22px}.contact-detail .contact-value{font-size:21px}.pending-list li{align-items:flex-start;flex-direction:column;gap:6px}.admission-steps{gap:12px}.admission-steps article{padding:16px}}
@media(max-width:430px){.direction-grid{grid-template-columns:1fr}.direction-card{padding:23px}.direction-card>p{font-size:18px}.card-links>a{font-size:18px}.card-top{margin-bottom:16px}.direction-card h3{font-size:26px}.hero h1{font-size:42px}.hero-gallery{min-height:320px}.hero-actions .button{font-size:18px;padding:14px 16px;gap:12px}.hero-actions>.text-link{font-size:17px}.hero-actions{gap:15px}.contact-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-brand{grid-column:auto}.brand-education{font-size:14px}.brand{gap:10px}.brand-education{padding-left:0}.site-logo svg{width:118px}.resource-card{gap:12px;padding:20px}.resource-card .icon-tile{width:36px;height:36px}.resource-card h3{font-size:21px}.admission-steps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a,button{transition:none}}


/* Section labels navigate; separate arrow buttons control submenus. */
.nav-item-heading > .nav-control {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: auto;
    height: auto;
    min-height: 58px;
    padding: 16px 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--foreground-main);
    font-size: 19px;
    font-weight: 600;
    text-align: left;
    line-height: 1.5;
    white-space: nowrap;
}
.nav-item-heading > .nav-control:hover,
.nav-item-heading > .submenu-toggle[aria-expanded="true"] {
    background: transparent;
    color: var(--accent-default);
}
.nav-item-heading > .nav-control.active {
    color: var(--accent-default);
    border-bottom-color: var(--brand-colors-brand);
}
.nav-chevron { display: block; flex-shrink: 0; width: 16px; height: 16px; color: currentColor; }
.site-logo img { display:block; width:280px; height:52px; -o-object-fit:contain; object-fit:contain; -o-object-position:left center; object-position:left center; }
@media(max-width:900px) { .site-logo img { width:240px; height:40px; } }
.nav-dropdown a { display:flex; justify-content:space-between; gap:20px; padding:12px; border-radius:8px; font-weight:500; }
.main-navigation .nav-dropdown a.active,
.main-navigation .nav-dropdown a.active:hover { background:var(--soft-accent); color:var(--accent-default); font-weight:700; }
.nav-dropdown .nav-menu-label.active { color:var(--accent-default); }
.nav-item-heading { gap: 6px; }
.nav-item-heading > .submenu-toggle {
    display: grid;
    place-items: center;
    width: 36px;
    height: 44px;
    flex-shrink: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--foreground-main);
}
.nav-item-heading > .submenu-toggle:hover { background: var(--soft-accent); }
.nav-dropdown { left: 0; top: calc(100% + 12px); border-radius: 14px; }
/* Keep the hover area continuous across the visual gap. */
.nav-dropdown::before { content: ""; position: absolute; left: 0; right: 0; top: -13px; height: 13px; }
@media (max-width: 900px) {
    .nav-item-heading > .nav-control { flex: 1; min-width: 0; padding: 14px 0; white-space: normal; }
    .nav-item-heading > .submenu-toggle { width: 44px; height: 44px; }
    .nav-dropdown { margin-top: 8px; }
    .nav-dropdown::before { display: none; }
}
.site-logo :is(img, svg) { display: block; width: 280px; height: auto; max-width: 100%; }
@media (max-width: 900px) {
    .site-logo :is(img, svg) { width: 240px; }
}
@media (max-width: 430px) {
    .site-logo :is(img, svg) { width: 220px; }
}
.about-intro, .benefit-grid, .benefit-grid article { min-width: 0; }
.eyebrow { max-width: 100%; }
.benefit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 430px) {
    .benefit-grid { grid-template-columns: minmax(0, 1fr); }
}
.document-with-template { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.document-with-template > span { flex: 1; min-width: 0; }
.document-template-action { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; flex-shrink: 0; }
.template-download { padding: 10px 14px; min-height: 42px; gap: 10px; font-size: 17px; white-space: nowrap; }
.template-format { font-size: 14px; font-weight: 500; }
.template-download:disabled { background: #f0f3f3; color: #6b7677; cursor: default; }
.template-unavailable { font-size: 15px; color: var(--foreground-secondary); }
@media (max-width: 1100px) {
    .document-with-template { flex-direction: column; gap: 12px; }
}

/* Readable section navigation and distinct education facts. */
.page-grid { grid-template-columns: 360px minmax(0, 1fr); gap: 32px; }
.page-heading p { max-width: 920px; }
.section-sidebar { padding: 24px 18px 18px; border-color: #dce8e8; border-radius: 22px; box-shadow: 0 8px 28px #173e4508; }
.sidebar-title { display: flex; align-items: center; gap: 14px; padding: 0 10px 20px; border-bottom: 1px solid #e3ebeb; }
.sidebar-title > div { min-width: 0; }
.sidebar-title .icon-tile { width: 48px; height: 48px; background: var(--soft-accent); border: 0; }
.sidebar-title .eyebrow { font-size: 13px; letter-spacing: .09em; }
.sidebar-title h2 { margin-top: 5px; font-size: 22px; letter-spacing: -.025em; }
.section-sidebar nav { display: grid; gap: 6px; margin-top: 20px; }
.section-sidebar nav a { position: relative; display: flex; align-items: center; gap: 10px; padding: 15px 14px; min-height: 58px; border: 1px solid transparent; border-radius: 12px; font-size: 19px; line-height: 1.5; font-weight: 500; color: #425c5e; }
.sidebar-link-label { flex: 1; min-width: 0; }
.sidebar-link-arrow { display: flex; align-items: center; color: #81999a; flex-shrink: 0; }
.sidebar-link-arrow .icon { width: 19px; height: 19px; }
.section-sidebar nav a:hover { background: #f2f8f8; border-color: #e1eded; color: var(--accent-default); }
.section-sidebar nav a.active { background: #e6f4f5; border-color: #d0e9eb; color: var(--accent-default); font-weight: 700; }
.section-sidebar nav a.active::before { content: ''; position: absolute; left: -1px; top: 14px; bottom: 14px; width: 3px; border-radius: 4px; background: var(--brand-colors-brand); }
.section-sidebar nav a.active .sidebar-link-arrow { color: var(--accent-default); }
.sidebar-help { margin: 22px 0 0; padding: 22px 20px; border: 0; border-radius: 15px; background: #f0f6f6; }
.sidebar-help h3 { font-size: 22px; }
.sidebar-help p { font-size: 17px; line-height: 1.65; }
.sidebar-help a { font-size: 18px; }
.content-panel { padding: 34px; }
.fact-grid { gap: 24px; }
.fact-grid strong { max-width: none; }
.residency-facts { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.6fr); gap: 16px; padding: 0; margin-top: 30px; background: transparent; }
.residency-facts > .education-fact { display: flex; align-items: flex-start; gap: 16px; min-width: 0; padding: 24px; border: 1px solid #dbe9e9; border-radius: 16px; background: #f4f9f9; }
.residency-facts .fact-icon { display: grid; place-items: center; width: 46px; height: 46px; flex-shrink: 0; margin: 0; border: 1px solid #dbe9e9; border-radius: 12px; background: #fff; color: var(--accent-default); }
.fact-copy { min-width: 0; }
.residency-facts .fact-label { margin: 0 0 10px; font-size: 16px; font-weight: 500; color: #607779; }
.residency-facts strong { font-size: 22px; line-height: 1.45; font-weight: 700; color: #163f43; }
@media (max-width: 1200px) {
    .page-grid { grid-template-columns: 320px minmax(0, 1fr); gap: 24px; }
    .section-sidebar { padding-inline: 14px; }
    .section-sidebar nav a { padding-inline: 12px; font-size: 18px; }
    .residency-facts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
    .page-grid { grid-template-columns: minmax(0, 1fr); }
    .section-sidebar { position: static; padding: 22px 16px 16px; }
    .sidebar-title { padding-inline: 6px; }
    .section-sidebar nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .section-sidebar nav a { font-size: 18px; }
    .section-sidebar nav a .sidebar-link-label { display: block; }
    .section-sidebar nav a .sidebar-link-arrow { display: flex; }
    .sidebar-help { display: none; }
    .content-panel { padding: 26px; }
    .residency-facts { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 540px) {
    .section-sidebar nav { grid-template-columns: minmax(0, 1fr); }
    .section-sidebar nav a { min-height: 52px; padding-block: 12px; }
    .content-panel { padding: 22px; }
    .residency-facts > .education-fact { padding: 20px; gap: 14px; }
    .residency-facts strong { font-size: 20px; }
    .contact-banner .button { white-space: normal; max-width: 100%; }
}
.learning-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.learning-side, .learning-feature, .resource-card, .resource-card > div { min-width: 0; }
@media (max-width: 900px) {
    .learning-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 430px) {
    .resource-card .icon-tile { display: none; }
}

.funding-block { margin-top: 32px; padding-top: 28px; border-top: 1px solid #e2ebeb; }
.content-panel .funding-block h3 { margin-top: 0; font-size: 24px; }
.content-panel .funding-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0; margin: 20px 0 0; list-style: none; }
.funding-option { min-width: 0; padding: 22px; border: 1px solid #dce9e9; border-radius: 16px; background: #f2f8f8; }
.funding-option-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.funding-icon { display: grid; place-items: center; width: 46px; height: 46px; border: 1px solid #d4e7e7; border-radius: 12px; background: #fff; color: var(--accent-default); }
.funding-number { font-size: 15px; font-weight: 600; line-height: 1; color: #819b9d; }
.funding-label { display: block; font-size: 19px; font-weight: 650; line-height: 1.5; letter-spacing: -.02em; color: #24484b; }
.funding-local { border-color: #e3e5ee; background: #f6f6fa; }
.funding-local .funding-icon { border-color: #e2e3ed; color: #5e6687; }
.funding-personal { border-color: #e7e7de; background: #f8f8f3; }
.funding-personal .funding-icon { border-color: #e4e4d7; color: #72724b; }
@media (min-width: 601px) and (max-width: 1300px) {
    .content-panel .funding-options { grid-template-columns: minmax(0, 1fr); }
    .funding-option { display: flex; align-items: center; gap: 20px; }
    .funding-option-top { margin-bottom: 0; }
    .funding-number { display: none; }
}
@media (max-width: 600px) {
    .content-panel .funding-options { grid-template-columns: minmax(0, 1fr); }
    .funding-option { display: flex; align-items: center; gap: 16px; padding: 20px; }
    .funding-option-top { flex-shrink: 0; margin-bottom: 0; }
    .funding-number { display: none; }
    .funding-label { font-size: 18px; }
}

.round-arrow .icon { display: block; width: 24px; height: 24px; }

.news-archive { padding: 28px; border-radius: 24px; background: #f2f5f4; }
.archive-intro { display: flex; align-items: flex-start; flex-direction: column; gap: 16px; margin-bottom: 26px; }
.archive-intro p { max-width: 730px; font-size: 18px; line-height: 1.65; }
.archive-intro > .text-link { flex-shrink: 0; }
.archive-news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.archive-news-card { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; min-height: 320px; padding: 28px; border: 1px solid #dde6e5; border-radius: 20px; background: #fff; }
.archive-news-card time { display: block; margin-bottom: 22px; font-size: 15px; line-height: 1.5; color: #718183; }
.archive-news-card h2 { font-size: 20px; line-height: 1.45; letter-spacing: -.025em; }
.archive-news-card:hover { border-color: var(--accent-default); background: #fbfefe; }
.archive-news-card:hover h2 { color: var(--accent-default); }
.archive-news-link { margin-top: auto; padding-top: 28px; font-size: 16px; }
@media (max-width: 1100px) {
    .archive-news-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .archive-intro { align-items: flex-start; flex-direction: column; gap: 16px; }
}
@media (max-width: 650px) {
    .news-archive { padding: 18px; border-radius: 20px; }
    .archive-news-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .archive-news-card { min-height: 260px; padding: 24px; }
    .archive-news-card h2 { font-size: 20px; }
    .archive-news-card time { margin-bottom: 20px; }
    .archive-intro p { font-size: 17px; }
    .archive-intro > .text-link { font-size: 17px; }
}
.admission-video-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 18px; }
.admission-video-links a { display: inline-flex; align-items: center; justify-content: space-between; gap: 4px; max-width: 100%; padding: 11px 8px; border: 1px solid #ffffff26; border-radius: 12px; background: var(--accent-default); color: #fff; font-size: 16px; font-weight: 650; line-height: 1.5; }
.admission-video-links a:hover { background: var(--accent-hover); }
.admission-video-links .icon { width: 14px; height: 14px; }
.external-resources a { gap: 20px; }
.external-resource-action { display: inline-flex; align-items: center; gap: 8px; flex-shrink: 0; font-size: 18px; font-weight: 650; }
.external-resource-action .icon { width: 18px; height: 18px; }
@media (max-width: 600px) { .external-resources a { flex-wrap: wrap; gap: 14px; } }
.content-panel ul.content-list { display: grid; gap: 12px; margin: 20px 0 0; padding-left: 24px; list-style: disc outside; color: var(--foreground-secondary); font-size: 19px; }
.content-list > li { padding-left: 0; }
.content-panel ul > li::marker { color: var(--accent-default); }
.hero-actions { flex-wrap: wrap; }
.hero-actions .button-secondary:hover { background: #d5edef; color: var(--accent-default); }
.button.checklist-download { background: var(--accent-default); color: #fff; }
.button.checklist-download:hover { background: var(--accent-hover); color: #fff; }
.document-checklist { display: grid; gap: 12px; }
.document-checklist li { min-width: 0; padding: 20px 22px 20px 72px; border: 1px solid #e1ebeb; border-radius: 16px; background: #f6f9f9; line-height: 1.7; }
.document-checklist li::before { left: 20px; top: 20px; width: 34px; height: 34px; border-radius: 10px; background: #e0f1f2; color: var(--accent-default); font-size: 16px; }
.document-checklist .document-with-template { background: #edf7f8; border-color: #cfe7e9; }
.document-checklist .document-with-template::before { background: var(--accent-default); color: #fff; }
@media (max-width: 540px) {
    .document-checklist { gap: 10px; }
    .document-checklist li { padding: 16px 16px 16px 58px; font-size: 18px; border-radius: 14px; }
    .document-checklist li::before { left: 14px; top: 16px; width: 30px; height: 30px; border-radius: 9px; }
}
.admission-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 22px; }
.admission-steps article { display: grid; grid-template-columns: 38px minmax(0, 1fr); align-content: start; -moz-column-gap: 16px; column-gap: 16px; row-gap: 6px; padding: 20px; border: 1px solid #e1ebeb; border-radius: 14px; background: #f6f9f9; }
.admission-steps article > span { grid-column: 1; grid-row: 1 / span 2; display: grid; place-items: center; align-self: start; width: 38px; height: 38px; border-radius: 11px; background: #e0f1f2; font-size: 16px; line-height: 1; }
.admission-steps article > :not(span) { grid-column: 2; min-width: 0; }
.admission-steps h3 { margin-top: 0 !important; font-size: 20px; line-height: 1.5; }
.content-panel .admission-steps p { margin-top: 0; font-size: 18px; line-height: 1.65; }
.admission-steps .text-link { justify-self: start; margin-top: 4px; }
.admission-steps .admission-video-links { grid-column: 1 / -1; margin-top: 8px; }
@media (max-width: 700px) { .admission-steps { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 540px) {
    .admission-steps article { padding: 16px; grid-template-columns: 32px minmax(0, 1fr); -moz-column-gap: 12px; column-gap: 12px; }
    .admission-steps article > span { width: 32px; height: 32px; border-radius: 9px; font-size: 14px; }
    .admission-steps h3 { font-size: 19px; }
    .admission-steps .admission-video-links { grid-column: 1 / -1; margin-top: 10px; }
}
.admission-platform { display: inline-block; padding: 1px 8px; border-radius: 6px; background: #d8f0f2; color: var(--accent-default); font-weight: 750; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; white-space: nowrap; }
.admission-platform:hover { background: var(--accent-default); color: #fff; }
.download-list a { background: var(--accent-default); border-color: var(--accent-default); color: #fff; }
.download-list a:hover { background: var(--accent-hover); border-color: var(--accent-hover); }
.download-list .icon { color: #fff; }
.download-list .file-format { background: #ffffff18; border-color: #ffffff40; color: #fff; }
.checklist-download .file-format { background: #ffffff18; border-color: #ffffff40; color: #fff; }
.hero-gallery { isolation: isolate; min-height: 500px; border-radius: 28px; background: #dbe8e9; box-shadow: 0 16px 40px #17454b12; touch-action: pan-y; }
@media (hover:hover) and (pointer:fine) {
    .hero-gallery.has-controls [data-slide] { cursor:grab; -webkit-user-select:none; -moz-user-select:none; user-select:none; }
    .hero-gallery.has-controls .hero-slide-link { cursor:pointer; }
    .hero-gallery.has-controls.is-dragging [data-slide], .hero-gallery.has-controls.is-dragging .hero-slide-link { cursor:grabbing; }
}
.hero-slide { opacity: 0; visibility: hidden; transition: opacity .65s ease, visibility .65s; pointer-events: none; }
.hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
.hero-slide::after { background: none; }
.hero-slide.has-caption::after { background: linear-gradient(180deg, transparent 28%, #052f3670 65%, #052f36c9 100%); }
.hero-slide img { -o-object-position: center; object-position: center; }
.photo-caption { left: 32px; right: 32px; bottom: 110px; }
.photo-label { display: inline-block; font-size: 12px; line-height: 1.6; letter-spacing: .13em; font-weight: 700; padding: 6px 10px; border: 1px solid #ffffff45; border-radius: 7px; background: #ffffff18; backdrop-filter: blur(12px); }
.photo-caption h2 { max-width: 450px; margin-top: 16px; font-size: clamp(26px, 2.5vw, 36px); font-weight: 650; line-height: 1.22; text-wrap: balance; }
.gallery-controls { left: 20px; right: 20px; bottom: 20px; gap: 18px; padding: 10px 12px 10px 18px; border: 1px solid #ffffff45; border-radius: 18px; background: #06363db8; backdrop-filter: blur(18px); z-index: 3; }
.gallery-dots { flex: 1; gap: 8px; max-width: 150px; }
.gallery-dots button { flex: 1; width: auto; min-width: 24px; height: 32px; border-radius: 6px; }
.gallery-dots button::before { display: none; }
.gallery-dots button span { display: block; height: 4px; border-radius: 4px; background: #ffffff45; transition: background .25s; }
.gallery-dots button.selected span { background: #fff; }
.gallery-actions { display: flex; align-items: center; gap: 10px; }
.gallery-counter { font-size: 13px; font-weight: 600; font-variant-numeric: tabular-nums; color: #fff; white-space: nowrap; margin-right: 2px; }
.gallery-arrows { gap: 6px; }
.gallery-arrows button, .gallery-pause { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid #ffffff45; border-radius: 12px; background: #ffffff12; color: #fff; }
.gallery-arrows button:hover, .gallery-pause:hover { background: #ffffff30; }
.gallery-arrows .icon { width: 19px; height: 19px; }
.gallery-arrows [data-slide-prev] .icon { transform: rotate(180deg); }
.gallery-pause { font-size: 17px; line-height: 1; }
.gallery-pause .play-symbol { display: none; font-size: 12px; }
.gallery-pause[aria-pressed="true"] .pause-symbol { display: none; }
.gallery-pause[aria-pressed="true"] .play-symbol { display: block; }
@media (max-width: 900px) {
    .hero-gallery { min-height: 420px; }
    .photo-caption { left: 26px; right: 26px; bottom: 104px; }
}
@media (max-width: 430px) {
    .hero-gallery { min-height: 370px; border-radius: 22px; }
    .photo-caption { left: 22px; right: 22px; bottom: 104px; }
    .photo-caption h2 { font-size: 27px; }
    .photo-label { font-size: 10px; letter-spacing: .08em; }
    .gallery-controls { left: 12px; right: 12px; bottom: 12px; padding: 8px 10px; gap: 12px; }
    .gallery-actions { gap: 6px; }
    .gallery-counter { font-size: 11px; }
    .gallery-arrows button, .gallery-pause { width: 32px; height: 34px; border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) { .hero-slide { transition: none; } }
.hero-gallery { overflow: visible; border-radius: 0; background: transparent; box-shadow: none; }
.hero-slide { overflow: hidden; border-radius: 28px; }
.hero-gallery.has-controls .hero-slide { bottom: 76px; height: auto; }
.hero-gallery .photo-caption { bottom: 28px; }
.hero-gallery .gallery-controls { left: 0; right: 0; bottom: 0; min-height: 76px; padding: 14px 4px; border: 0; border-radius: 0; background: transparent; backdrop-filter: none; }
.gallery-dots button span { background: #d4e4e5; }
.gallery-dots button.selected span { background: var(--accent-default); }
.gallery-counter { color: var(--accent-default); }
.gallery-arrows button, .gallery-pause { border-color: #d8e6e7; background: #edf5f5; color: var(--accent-default); }
.gallery-arrows button:hover, .gallery-pause:hover { background: var(--accent-default); border-color: var(--accent-default); color: #fff; }
@media (max-width: 430px) {
    .hero-slide { border-radius: 22px; }
    .hero-gallery .gallery-controls { padding-inline: 2px; }
    .hero-gallery .photo-caption { bottom: 24px; }
}
.hero-gallery { overflow: hidden; border-radius: 28px; background: #fff; box-shadow: 0 12px 40px #214b5010; }
.hero-slide { border-radius: 0; }
.hero-gallery.has-controls .hero-slide { bottom: 84px; }
.hero-slide.has-caption::after { background: linear-gradient(180deg, transparent 60%, #00000080 100%); }
.hero-gallery .photo-caption { left: 28px; right: 28px; bottom: 26px; }
.photo-caption h2 { max-width: none; margin-top: 8px; font-size: 21px; line-height: 1.4; letter-spacing: -.02em; }
.photo-label { padding: 0; border: 0; background: none; backdrop-filter: none; font-size: 11px; }
.hero-gallery .gallery-controls { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto minmax(0, 1fr) 46px; align-items: center; min-height: 84px; padding: 16px 24px; gap: 12px; background: #fff; }
.gallery-nav { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 0; border-radius: 14px; background: #d8f1f4; color: var(--accent-default); }
.gallery-nav:hover { background: var(--accent-default); color: #fff; }
.gallery-nav .icon { width: 21px; height: 21px; }
.gallery-nav[data-slide-prev] .icon { transform: rotate(180deg); }
.gallery-nav[data-slide-next] { grid-column: 5; }
.gallery-dots { grid-column: 2; justify-self: center; align-items: center; justify-content: center; width: auto; max-width: none; gap: 4px; }
.gallery-dots button { flex: none; width: 24px; min-width: 24px; height: 30px; display: grid; place-items: center; }
.gallery-dots button span { width: 8px; height: 8px; border-radius: 8px; background: #d4d8d8; transition: width .25s, background .25s; }
.gallery-dots button.selected { width: 34px; }
.gallery-dots button.selected span { width: 24px; background: var(--accent-default); }
.gallery-counter { grid-column: 3; margin: 0; color: #526264; font-size: 15px; font-weight: 500; }
@media (max-width: 430px) {
    .hero-gallery { border-radius: 22px; }
    .hero-gallery .gallery-controls { grid-template-columns: 38px minmax(0, 1fr) auto minmax(0, 1fr) 38px; padding-inline: 16px; gap: 5px; }
    .gallery-nav { width: 38px; height: 40px; border-radius: 12px; }
    .gallery-counter { font-size: 13px; }
    .hero-gallery .photo-caption { left: 22px; right: 22px; bottom: 22px; }
    .photo-caption h2 { font-size: 19px; }
}
@media (max-width: 600px) {
    .hero h1 { font-size: clamp(30px, 8vw, 36px); line-height: 1.2; margin-top: 18px; }
    .page-heading h1 { font-size: 32px; }
    .section h2, .content-panel h2, .content-heading h2, .contact-banner h2, .about-section h2 { font-size: 26px; }
    .learning-feature h3 { font-size: 27px; }
    .hero-copy > p { font-size: 18px; line-height: 1.7; }
    .hero-actions { width: 100%; flex-direction: column; align-items: stretch; gap: 12px; }
    .hero-actions .button { width: 100%; justify-content: space-between; font-size: 18px; padding: 14px 18px; }
    .content-panel .button, .contact-banner .button, .empty-state .button { width: 100%; white-space: normal; }
    .content-heading, .document-template-action { width: 100%; }
    .admission-video-links { width: 100%; flex-direction: column; align-items: stretch; }
    .admission-video-links a { width: 100%; padding: 12px 14px; }
}
.button[download] .file-format { background: #ffffff18; border-color: #ffffff40; color: #fff; }
.template-download:disabled .file-format { background: #fff; border-color: #dce8e9; color: #6b7677; }
.button .icon.file-icon, .download-list .icon.file-icon { display: block; width: 32px; height: 34px; margin-left: 0; flex-shrink: 0; }
.template-download:disabled .file-icon { opacity: .55; }
.admission-video-links a { gap: 8px; }
.admission-video-links a > .icon:first-child { width: 22px; height: 22px; }

/* Clear navigation targets in the home page direction cards. */
.direction-card h3 a { align-items: flex-start; border-radius: 6px; }
.direction-card h3 .direction-title { color: inherit; font-size: inherit; font-weight: inherit; flex-shrink: 1; }
.direction-card h3 .direction-title-arrow { display: grid; place-items: center; width: 32px; height: 32px; flex-shrink: 0; border: 1px solid #cbdfe0; border-radius: 50%; background: #fff; color: var(--accent-default); transition: background .18s, color .18s; }
.direction-title-arrow .icon { width: 18px; height: 18px; }


.card-links { display: grid; gap: 8px; padding-top: 16px; }
.card-links > a { align-items: center; min-height: 48px; padding: 11px 12px; border: 1px solid #d3e2e3; border-radius: 10px; background: #fff; color: var(--accent-default); line-height: 1.45; transition: background .18s, border-color .18s, box-shadow .18s; }
.card-links > a > .icon { width: 20px; height: 20px; flex-shrink: 0; }
.card-links .card-link-label { min-width: 0; }
.card-links > a:hover { background: #edf7f7; border-color: var(--accent-default); box-shadow: 0 2px 6px #005e6610; color: var(--accent-default); }
.card-links > a:hover .card-link-label { text-decoration: none; }
.direction-card h3 a:focus-visible, .card-links > a:focus-visible { outline: 3px solid var(--accent-default); outline-offset: 3px; }
.card-link-hint { display: block; margin-top: 3px; font-size: 12px; font-weight: 400; color: #637879; }
.card-links > .card-link-whatsapp { background: #edf8f0; border-color: #c6e3ce; color: #21643a; }
.card-links > .card-link-whatsapp:hover { background: #e1f2e6; border-color: #21643a; color: #21643a; }
/* Extend the section link over the card while keeping quick links clickable. */
.direction-card { position: relative; isolation: isolate; transition: border-color .18s, box-shadow .18s; }
.direction-card h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: 20px; cursor: pointer; }
.direction-card .card-links > a { position: relative; z-index: 2; }

.direction-card h3 a:focus-visible { outline: none; }
.direction-card h3 a:focus-visible::after { outline: 3px solid var(--accent-default); outline-offset: 3px; }
/* Full benefit descriptions from wwwroot/сайт (1).docx, Главная страница. */
.benefit-grid { align-items: stretch; grid-auto-rows: 1fr; }
.benefit-detail { min-width: 0; padding: 16px; margin: -16px; border-radius: 16px; }
.benefit-detail > .icon { display: block; color: var(--accent-default); width: 25px; height: 25px; margin-bottom: 13px; }
.benefit-heading { display: flex; align-items: center; gap: 8px; }
.benefit-heading .benefit-title { margin: 0; font-size: 20px; font-weight: 700; letter-spacing: -.015em; }
.benefit-short { display: block; font-size: 19px; margin-top: 8px; line-height: 1.8; color: #626b6c; }
.benefit-info { display: grid; place-items: center; flex-shrink: 0; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #708b8d; cursor: help; }
.benefit-info:hover, .benefit-info[aria-expanded="true"] { color: var(--accent-default); background: #e8f5f6; }
.benefit-info:focus-visible { outline: 2px solid var(--accent-default); outline-offset: 2px; }
.benefit-tooltip { position: fixed; z-index: 1000; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); overflow-y: auto; overscroll-behavior: contain; padding: 20px; border: 1px solid #d3e2e3; border-radius: 14px; background: #fff; box-shadow: 0 8px 32px #163f4224; }
.benefit-tooltip[hidden] { display: none; }
.benefit-tooltip .benefit-full { margin: 0; font-size: 16px; line-height: 1.75; }
@media (max-width: 900px) { .benefit-heading .benefit-title { font-size: 19px; } }
/* One arrow style for navigation on the home page. */
.home-page .direction-title-arrow .icon,
.home-page .card-links > a > .icon,
.home-page .text-link .icon,
.home-page .round-arrow .icon,
.home-page .resource-arrow .icon,
.home-page .button .icon { display: block; width: 20px; height: 20px; flex-shrink: 0; }
/* Admission dates, delivery address and direct contact actions. */
.admission-reception { padding: 28px; border: 1px solid #d6e9ea; border-radius: 20px; background: #eff7f7; }
.reception-heading { display: flex; align-items: center; gap: 16px; }
.reception-heading h2 { margin-top: 6px; font-size: 28px; }
.reception-heading .eyebrow { font-size: 13px; }
.reception-intro { margin-top: 18px; font-size: 18px; line-height: 1.8; }
.reception-details { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 16px; margin-top: 22px; }
.reception-detail { display: flex; align-items: flex-start; gap: 12px; padding: 20px; border: 1px solid #dce9e9; border-radius: 14px; background: #fff; min-width: 0; }
.reception-detail > .icon { margin-top: 3px; color: var(--accent-default); width: 22px; height: 22px; }
.reception-label { display: block; margin-bottom: 7px; font-size: 14px; color: #657c7e; }
.reception-detail strong { display: block; font-size: 19px; font-weight: 650; line-height: 1.5; color: var(--accent-default); }
.reception-detail p { margin-top: 8px; font-size: 15px; line-height: 1.7; }
.reception-contact { margin-top: 24px; padding-top: 22px; border-top: 1px solid #d6e5e6; }
.reception-contact h3 { font-size: 21px; }
.reception-contact p { margin-top: 8px; font-size: 16px; line-height: 1.7; }
.reception-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 20px; margin-top: 18px; }
.reception-actions .button { background: #fff; border-color: #cbdfe0; gap: 10px; font-size: 16px; min-height: 46px; padding: 12px 16px; }
.reception-actions .button:hover { background: #e1f0f1; }
.reception-email { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; color: var(--accent-default); overflow-wrap: anywhere; }
.reception-actions .icon { width: 20px; height: 20px; }
@media (max-width: 600px) { .admission-reception { padding: 20px; } .reception-heading h2 { font-size: 24px; } .reception-details { grid-template-columns: minmax(0, 1fr); } .reception-detail { padding: 16px; } .reception-actions { align-items: stretch; flex-direction: column; } .reception-email { justify-content: center; padding-block: 8px; } }
.external-resource-label { display: flex; align-items: center; gap: 16px; min-width: 0; }
.external-resource-icon { display: grid; place-items: center; width: 48px; height: 48px; flex-shrink: 0; border: 1px solid #e1e9e9; border-radius: 12px; background: #fff; }
.external-resource-icon .icon { display: block; width: 28px; height: 28px; }
@media (max-width: 600px) { .external-resource-label { gap: 12px; } .external-resource-icon { width: 40px; height: 40px; } .external-resource-icon .icon { width: 24px; height: 24px; } }
.back-to-top { position: fixed; right: max(24px, env(safe-area-inset-right), calc((100vw - var(--back-top-container-width, 1480px)) / 2 - 80px)); bottom: calc(32px + env(safe-area-inset-bottom)); z-index: 40; display: grid; place-items: center; width: 64px; height: 64px; border: 1px solid #ffffff55; border-radius: 50%; background: var(--accent-default); color: #fff; box-shadow: 0 4px 18px #163f4233; cursor: pointer; }
.back-to-top:hover { background: var(--accent-hover); }
.back-to-top .icon { width: 28px; height: 28px; }
@media (min-width: 1500px) { .back-to-top { --back-top-container-width: 1560px; } }
@media (max-width: 600px) { .back-to-top { width: 52px; height: 52px; right: max(16px, env(safe-area-inset-right)); bottom: calc(16px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
/* The navigation stays in document flow and sticks naturally at the top. */
.navigation-bar { background: #fff; border-bottom: 1px solid var(--border-default); }
.site-header { border-bottom: 0; }
.navigation-contact { display: none; }
@media (min-width: 1101px) {
    .navigation-bar { position: sticky; top: 0; z-index: 60; transition: box-shadow .3s ease; }
    .navigation-bar .main-navigation { align-items: center; }
    .navigation-bar .navigation-contact { display: none; flex-shrink: 0; margin-left: auto; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .3s ease, visibility .3s; }
    .navigation-bar.is-stuck { box-shadow: 0 4px 18px #163f4210; }
    .navigation-bar.is-stuck .navigation-contact { display: inline-flex; opacity: 1; visibility: visible; pointer-events: auto; }
    html { scroll-padding-top: 100px; }
    html.has-compact-header .section-sidebar { top: 100px; }
}
@media (prefers-reduced-motion: reduce) { .navigation-bar, .navigation-contact { transition: none !important; } }

/* The eye links home from the left margin below the sticky navigation. */
.scroll-home-eye { position: fixed; top: 100px; left: calc((100vw - 1560px) / 2 - 88px); z-index: 45; display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; }
.scroll-home-eye img { display: block; width: 64px; height: 64px; }
.scroll-home-eye:hover { box-shadow: 0 0 0 6px #0bbed112; }
@media (prefers-reduced-motion: no-preference) { .scroll-home-eye { animation: home-eye-appear .25s ease-out; } }
@keyframes home-eye-appear { from { opacity: 0; } to { opacity: 1; } }
/* Keep the mobile menu button and its dropdown together while scrolling. */
.site-header-shell { display: contents; }
@media (max-width: 900px) {
    .site-header-shell { display: block; position: sticky; top: 0; z-index: 60; background: #fff; box-shadow: 0 3px 14px #163f4210; }
    .site-header-shell .main-navigation.open { max-height: calc(100dvh - 110px); overflow-y: auto; overscroll-behavior: contain; }
    html { scroll-padding-top: 130px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
    .navigation-bar { position: sticky; top: 0; z-index: 60; }
    html { scroll-padding-top: 90px; }
}
/* Mobile menu control with a clear open and close state. */
@media (max-width: 900px) {
    .menu-toggle { position: relative; width: 48px; height: 48px; border: 1px solid #d2e7e9; border-radius: 14px; background: #e8f5f6; box-shadow: 0 2px 6px #163f4208; }
    .menu-toggle:hover { background: #dbf0f2; }
    .menu-toggle span { position: absolute; left: 13px; width: 20px; height: 2px; border-radius: 2px; background: var(--accent-default); transition: transform .22s ease, opacity .18s ease; }
    .menu-toggle span:nth-child(1) { transform: translateY(-6px); }
    .menu-toggle span:nth-child(2) { transform: translateY(0); }
    .menu-toggle span:nth-child(3) { transform: translateY(6px); }
    .menu-toggle[aria-expanded="true"] { background: var(--accent-default); border-color: var(--accent-default); }
    .menu-toggle[aria-expanded="true"] span { background: #fff; }
    .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: rotate(45deg); }
    .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; transform: scaleX(.5); }
    .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: rotate(-45deg); }
}
@media (prefers-reduced-motion: reduce) { .menu-toggle span { transition: none; } }
@media (max-width: 900px) {
    .main-navigation { font-size: 17px; }
    .main-navigation .nav-dropdown > a { font-size: 16px; line-height: 1.5; }
}
/* Shared contact section with direct actions and department details. */
.contact-banner { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: stretch; gap: 44px; padding: 48px; border: 1px solid #ffffff18; border-radius: 28px; background: linear-gradient(115deg, #00565e, #06646d); color: #fff; }
.contact-banner-copy { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.contact-banner-label { display: inline-flex; align-items: center; gap: 10px; font-size: 16px; font-weight: 600; line-height: 1.5; color: #e2f5f6; }
.contact-banner-label .status-dot { width: 8px; height: 8px; background: #0bbed1; flex-shrink: 0; }
.contact-banner h2 { margin: 28px 0 16px; font-size: clamp(30px, 3vw, 44px); line-height: 1.2; letter-spacing: -.035em; color: #eefbfc; }
.contact-banner-copy > p { max-width: 660px; margin: 0; font-size: 18px; line-height: 1.7; color: #c7e5e8; }
.contact-banner-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: auto; padding-top: 38px; }
.contact-banner-actions .button { width: auto; gap: 16px; font-size: 17px; padding: 15px 20px; border-radius: 14px; min-height: 52px; }
.contact-banner-actions .contact-banner-whatsapp { background: #fff; color: #14383b; }
.contact-banner-actions .contact-banner-whatsapp:hover { background: #e6f5f6; }
.contact-banner-actions .contact-banner-phone { background: transparent; border-color: #ffffff55; color: #fff; }
.contact-banner-actions .contact-banner-phone:hover { background: #ffffff14; border-color: #ffffff99; }
.contact-banner-actions .icon { width: 20px; height: 20px; }
.contact-banner-details { padding: 28px; border: 1px solid #ffffff26; border-radius: 22px; background: #ffffff10; min-width: 0; }
.contact-banner-details h3 { margin: 0 0 20px; font-size: 14px; font-weight: 700; letter-spacing: .035em; text-transform: uppercase; color: #b8dde1; }
.contact-banner-details dl { display: grid; gap: 18px; margin: 0; }
.contact-banner-details dt { font-size: 14px; font-weight: 400; color: #b8dde1; }
.contact-banner-details dd { margin: 4px 0 0; font-size: 21px; font-weight: 600; line-height: 1.5; color: #fff; overflow-wrap: anywhere; }
.contact-banner-details dd a:hover { color: #d0f5f8; }
.contact-banner-address { margin-top: 22px; padding-top: 18px; border-top: 1px solid #ffffff20; }
.contact-banner-address p { margin: 5px 0 0; font-size: 15px; line-height: 1.7; color: #c7e5e8; }
@media (max-width: 1100px) { .contact-banner { gap: 28px; padding: 32px; } .contact-banner-details { padding: 24px; } .contact-banner-details dd { font-size: 18px; } }
@media (max-width: 900px) { .contact-banner { grid-template-columns: minmax(0, 1fr); gap: 26px; } .contact-banner h2 { font-size: 32px; margin-top: 22px; } .contact-banner-actions { padding-top: 24px; } }
@media (max-width: 600px) { .contact-banner { padding: 24px; border-radius: 22px; } .contact-banner h2 { font-size: 28px; } .contact-banner-label { font-size: 14px; } .contact-banner-copy > p { font-size: 16px; } .contact-banner-actions { width: 100%; flex-direction: column; } .contact-banner-actions .button { width: 100%; } .contact-banner-details { padding: 22px; border-radius: 16px; } }
@media (min-width: 901px) {
    .main-navigation .nav-dropdown { width: -moz-max-content; width: max-content; min-width: 340px; max-width: calc(100vw - 48px); }
}
.hero-slide-link { position:absolute; inset:0; z-index:2; border-radius:inherit; cursor:pointer; transition:box-shadow .2s ease; }
.hero-slide-link:focus-visible { outline:3px solid #00b9cc; outline-offset:-5px; }
.hero-slide-link-icon { position:absolute; right:24px; top:24px; display:grid; place-items:center; width:44px; height:44px; border-radius:50%; color:#005761; background:rgba(255,255,255,.94); box-shadow:0 4px 16px rgba(0,0,0,.1); transition:background .2s; }
.hero-slide-link:hover .hero-slide-link-icon { background:#fff; }
.hero-slide-link-icon svg { width:22px; height:22px; }
.hero-slide-link-hint { display:flex; gap:10px; width:auto; max-width:calc(100% - 48px); overflow-wrap:anywhere; height:auto; min-height:44px; padding:10px 16px; border-radius:12px; font-size:15px; font-weight:650; line-height:1.4; transition:background-color .4s ease-in-out, color .4s ease-in-out, transform .3s ease; }
/* Header and footer follow the rounded navigation and white cards of KOZ.WEB. */
.site-header { padding-top:16px; background:#f5f5f5; }
.header-inner { min-height:84px; gap:24px; }
.header-inner .brand { gap:18px; min-width:0; }
.header-inner .brand-education { font-size:16px; line-height:1.5; }
.header-details { display:flex; align-items:center; gap:28px; margin-left:auto; }
.header-address { display:flex; flex-direction:column; font-size:14px; line-height:1.5; }
.header-address strong { font-size:16px; font-weight:600; }
.header-address span { color:#525252; }
.header-phone { display:flex; flex-direction:column; gap:4px; font-size:14px; line-height:1.5; color:#04555d; }
.header-phone > a { display:inline-flex; align-items:center; gap:6px; }
.header-phone .icon { width:18px; height:18px; }
.header-phone > a:first-child { font-weight:600; white-space:nowrap; }
.header-phone .header-hours { color:#525252; }
.header-details a:hover { color:#088c9a; }
.header-inner .header-contact { font-size:16px; border-radius:12px; flex-shrink:0; }
.navigation-bar { background:#f5f5f5; border-bottom:0; }
.navigation-bar.is-stuck { background:#fff; }
@media (min-width:901px) {
    .main-navigation { gap:10px; padding-block:10px; align-items:center; }
    .main-navigation .nav-item { flex:1 1 auto; }
    .main-navigation .nav-item-heading { gap:0; min-height:44px; border-radius:12px; background:#fff; transition:background .2s, color .2s; }
    .nav-item-heading > .nav-control { flex:1; justify-content:center; min-height:44px; padding:8px 14px; font-size:18px; font-weight:500; line-height:28px; border:0; border-radius:12px; }
    .nav-item-heading > .submenu-toggle { width:36px; margin-right:6px; border-radius:10px; }
    .main-navigation .nav-item-heading:has(.active) { background:#0aa9bb29; color:#04555d; }
    .nav-item-heading > .nav-control.active { border:0; background:transparent; }
    .main-navigation .nav-item-heading:hover, .main-navigation .nav-item-heading:focus-within { background:#52525229; }
    .nav-item-heading > .submenu-toggle:hover { background:#52525214; }
    .main-navigation .nav-dropdown { min-width:356px; padding:20px; border-radius:12px; border:0; box-shadow:0 16px 36px #0a0a0a14; }
    .main-navigation .nav-dropdown > a { font-size:17px; font-weight:500; padding:10px 12px; border-radius:8px; line-height:1.5; }
    .main-navigation .nav-dropdown > a:hover { background:#1717170a; color:#04555d; }
    .navigation-bar .navigation-contact { font-size:16px; margin-left:0; }
}
.site-footer { margin-top:48px; padding:24px 0 32px; background:#f5f5f5; color:#0a0a0a; border-top:0; }
.education-footer { display:flex; flex-direction:column; gap:10px; }
.education-footer-navigation { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.education-footer-card { padding:40px; border-radius:24px; background:#fff; min-width:0; }
.site-footer .education-footer-card h2 { font-size:24px; font-weight:600; color:#0a0a0a; margin:0 0 28px; letter-spacing:-.02em; }
.education-footer-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; }
.site-footer .education-footer-links a { display:block; margin:0; font-size:17px; font-weight:500; line-height:1.6; color:#04555d; }
.site-footer a:hover { color:#088c9a; }
.education-footer-contacts { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr); gap:40px; }
.education-footer-identity .site-logo { margin-bottom:20px; }
.education-footer-identity .site-logo :is(img, svg) { width:250px; }
.site-footer .education-footer-identity h2 { font-size:18px; line-height:1.5; margin-bottom:12px; }
.site-footer .education-footer-identity p { margin:0; font-size:15px; line-height:1.7; color:#525252; }
.education-footer-contact-group { min-width:0; }
.education-footer-contact-group h3 { margin:0 0 24px; font-size:20px; font-weight:600; color:#0a0a0a; }
.site-footer .education-footer-contact-group a, .education-footer-schedule { display:flex; align-items:flex-start; gap:10px; margin:0 0 16px; font-size:16px; font-weight:500; line-height:1.6; color:#04555d; }
.education-footer-contact-group .icon { width:20px; height:20px; margin-top:3px; }
.education-footer-contact-group span { min-width:0; overflow-wrap:anywhere; }
.education-footer-schedule { color:#525252; margin-bottom:0; }
.education-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 40px; border-radius:24px; background:#1717170a; font-size:15px; line-height:1.5; color:#525252; }
.site-footer .education-footer-bottom a { display:inline-flex; align-items:center; gap:8px; margin:0; color:#04555d; font-size:15px; }
.education-footer-bottom .icon { width:18px; height:18px; }
@media (max-width:1300px) {
    .header-details { gap:18px; }
    .header-address { display:none; }
    .education-footer-card { padding:28px; }
    .education-footer-contacts { gap:24px; }
}
@media (min-width:901px) and (max-width:1200px) {
    .nav-item-heading > .nav-control { font-size:16px; padding-inline:10px; }
    .nav-item-heading > .submenu-toggle { width:28px; margin-right:4px; }
    .header-inner .site-logo :is(img, svg) { width:240px; }
}
@media (max-width:900px) {
    .site-header-shell { background:#f5f5f5; }
    .site-header { padding-top:0; }
    .header-inner { min-height:110px; padding-block:16px; }
    .header-inner .brand { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
    .header-inner .brand-divider, .header-details { display:none; }
    .header-inner .brand-education { font-size:14px; line-height:1.5; }
    .header-inner .brand-education br { display:none; }
    .header-inner .menu-toggle { flex-shrink:0; background:#fff; border:0; box-shadow:none; }
    .header-inner .menu-toggle[aria-expanded="true"] { background:#04555d; }
    .navigation-bar .main-navigation.open { padding-top:10px; padding-bottom:20px; background:#f5f5f5; }
    .main-navigation .nav-item { border-bottom:0; margin-bottom:8px; }
    .main-navigation .nav-item-heading { padding:0 12px; border-radius:12px; background:#fff; }
    .nav-item-heading > .nav-control { font-size:17px; min-height:48px; border:0; }
    .nav-item-heading > .nav-control.active { border:0; }
    .main-navigation .nav-dropdown { padding:10px; margin-top:6px; border-radius:12px; background:#fff; box-shadow:none; }
    .main-navigation .nav-dropdown > a { padding:10px 12px; font-size:16px; }
    .education-footer-links { grid-template-columns:1fr; }
    .education-footer-contacts { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .education-footer-identity { grid-column:1/-1; }
    .site-footer .education-footer-card h2 { font-size:22px; margin-bottom:20px; }
}
@media (max-width:600px) {
    .education-footer-navigation, .education-footer-contacts { grid-template-columns:1fr; }
    .education-footer-card { padding:24px; border-radius:20px; }
    .education-footer-identity { grid-column:auto; }
    .education-footer-contact-group h3 { margin-bottom:16px; }
    .education-footer-bottom { align-items:flex-start; flex-direction:column; gap:12px; padding:24px; border-radius:20px; }
    .site-footer { margin-top:32px; }
}
/* White surface for the logo and contact row within the page container. */
.site-header .header-inner { padding:16px 20px; background:#fff; border-radius:12px; }
@media (max-width:900px) {
    .site-header { padding-top:10px; }
    .site-header .header-inner { padding:12px; }
}
/* Surfaces and supporting text on the shared light gray page background. */
.content-panel, .course-card, .schedule-panel, .contact-detail, .empty-state,
.resource-card, .section-sidebar, .archive-news-card { background:var(--card-background); }
.content-panel, .course-card, .schedule-panel, .resource-card, .section-sidebar {
    border-color:var(--border-default);
}
.direction-card { background:var(--card-background); border-color:var(--border-default); }
.direction-residency { background:#dcefe5; border-color:#bddcca; }
.direction-events { background:#ededf5; border-color:#e1e1ed; }
.direction-contacts { background:#f5f2e9; border-color:#e9e5d9; }
.benefit-grid { gap:16px; }
.benefit-detail { margin:0; padding:20px; background:var(--card-background); border:1px solid var(--border-default); }
.hero-note-icon { background:var(--card-background); }
.hero-note, .breadcrumbs { color:#617173; }
.muted, .source-note, .pending-list small, .archive-news-card time { color:#596f70; }
.news-archive { background:#e9eeee; }
.external-resources small, .course-meta, .reception-label, .benefit-short { color:#596b6d; }
@media (max-width:600px) {
    .benefit-detail { padding:18px; }
}
/* Make linked slides visibly respond to pointer and keyboard interaction. */
.hero-slide-link:focus-visible {
    box-shadow:inset 0 0 0 3px var(--brand-colors-brand);
}
.hero-slide-link:hover .hero-slide-link-icon,
.hero-slide-link:focus-visible .hero-slide-link-icon {
    background:var(--accent-default);
    color:#fff;
    transform:translate(2px,-2px);
}
@media (prefers-reduced-motion:reduce) {
    .hero-slide-link, .hero-slide-link-icon { transition:none; }
    .hero-slide-link:hover .hero-slide-link-icon,
    .hero-slide-link:focus-visible .hero-slide-link-icon { transform:none; }
}
/* Shared light-theme palette from D:/PROJECTS/KOZ/KOZ.WEB/wwwroot/css/site.css. */
:root {
    --accent-hover:#088c9a;
    --accent-press:#0aa9bb;
    --accent-on-default:#e9fbfd;
    --accent-transparent-default:#0aa9bb29;
    --accent-transparent-hover:#0aa9bb3d;
    --background-main:#fff;
    --background-secondary-light:#1717170a;
    --background-secondary-dark:#1717171f;
    --background-secondary-white:#ffffff29;
    --surface:var(--background-secondary-light);
    --soft-accent:var(--accent-transparent-default);
}
.button { color:var(--accent-on-default); }
.button-secondary { background:var(--accent-transparent-default); color:var(--accent-default); }
.button-secondary:hover, .hero-actions .button-secondary:hover {
    background:var(--accent-transparent-hover); color:var(--accent-default);
}
.button:active { background:var(--accent-press); }
.button-secondary:active { background:#0aa9bb66; color:var(--accent-default); }
.direction-residency { background:var(--accent-transparent-default); border-color:var(--border-default); }
.direction-events, .direction-contacts { background:var(--background-main); border-color:var(--border-default); }
.fact-grid, .residency-facts > .education-fact, .funding-option,
.funding-local, .funding-personal, .sidebar-help, .admission-steps article,
.document-checklist li, .news-archive { background:var(--background-secondary-light); }
.notice, .admission-reception, .document-checklist .document-with-template { background:var(--accent-transparent-default); }
.funding-local .funding-icon, .funding-personal .funding-icon,
.funding-label, .residency-facts strong { color:var(--accent-default); }
.hero-note, .breadcrumbs, .muted, .source-note, .pending-list small,
.archive-news-card time, .external-resources small, .course-meta,
.reception-label, .benefit-short, .residency-facts .fact-label,
.card-link-hint, .gallery-counter { color:var(--foreground-secondary); }
.card-links > a:hover, .resource-card:hover, .external-resources a:hover,
.reception-actions .button:hover { background:var(--accent-transparent-default); }
.contact-banner { background:var(--accent-default); }
.contact-banner h2, .contact-banner-label, .contact-banner-copy > p,
.contact-banner-details h3, .contact-banner-details dt,
.contact-banner-address p, .learning-feature p, .feature-bottom { color:var(--accent-on-default); }
.contact-banner-details { background:var(--background-secondary-white); }
.hero-slide-link-icon, .education-footer-bottom a { color:var(--accent-default); }
/* Coordinated direction colors with the institute's teal link accent. */
.direction-residency { --direction-background:#e0f3f2; --direction-border:#c5e4e1; --direction-accent:#0b716f; }
.direction-courses { --direction-background:#e6eef8; --direction-border:#cfdded; --direction-accent:#32668e; }
.direction-events { --direction-background:#eeebf6; --direction-border:#dcd5eb; --direction-accent:#746091; }
.direction-contacts { --direction-background:#f3eee6; --direction-border:#e5dacb; --direction-accent:#856a47; }
.direction-grid .direction-card { background:var(--direction-background); border-color:var(--direction-border); }
.direction-card .card-top .icon-tile { color:var(--direction-accent); border-color:var(--direction-border); }
.direction-card .card-index { color:var(--direction-accent); }
.direction-card .card-links { border-top-color:var(--direction-border); }
.direction-card .card-links > a:not(.card-link-whatsapp) { border-color:var(--direction-border); }
/* Gentle image zoom replaces the slide link arrow. */
.hero-slide img { transition:transform .45s ease; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
    .hero-slide:has(.hero-slide-link:hover) img { transform:scale(1.04); }
}
/* Mobile header reaches the viewport edges. */
@media (max-width:900px) {
    .site-header { padding-top:0; }
    .site-header > .container { padding-inline:0; }
    .site-header .header-inner { border-radius:0; }
}
/* Horizontal slide transitions are driven by the gallery script. */
.hero-slide { transition:none; }
.hero-slide.is-active { z-index:2; }
.hero-slide.is-leaving { opacity:1; visibility:visible; pointer-events:none; z-index:1; }
/* Match the pale-blue slider arrows with a more transparent background. */
.hero-slide-link .hero-slide-link-hint {
    background:rgba(211,239,243,.58);
    color:#04555d;
    border:0;
    border-radius:14px;
    box-shadow:none;
    font-size:16px;
    font-weight:650;
    line-height:1.4;
    backdrop-filter:none;
    transform:none;
    text-shadow:none;
}
.hero-slide-link:hover .hero-slide-link-hint,
.hero-slide-link:focus-visible .hero-slide-link-hint {
    background:rgba(211,239,243,.72);
    color:#04555d;
    transform:none;
}
.search-field input[type="search"]::-webkit-search-cancel-button {
    cursor:pointer;
}
/* Learning plan card interaction. */

.learning-feature .round-arrow { transition:background .25s ease, color .25s ease, border-color .25s ease; }
.learning-feature .round-arrow .icon { transition:transform .25s ease; }
.learning-feature:focus-visible .round-arrow { background:var(--accent-on-default); color:var(--accent-default); border-color:var(--accent-on-default); }
@media (hover:hover) {

    .learning-feature:hover .round-arrow { background:var(--accent-on-default); color:var(--accent-default); border-color:var(--accent-on-default); }

}
@media (prefers-reduced-motion:reduce) {
    .learning-feature, .learning-feature .round-arrow, .learning-feature .round-arrow .icon { transition:none; }
    .learning-feature:hover, .learning-feature:hover .round-arrow .icon { transform:none; }
}
.direction-grid .direction-card:has(h3 a:hover),
.direction-grid .direction-card:has(h3 a:focus-visible) {
    border-color:var(--accent-default);
}

/* Tuition prices transcribed from the 2026 PDF. */
.tuition-prices .content-heading { flex-wrap:wrap; gap:16px; }
.tuition-table { width:100%; border-collapse:collapse; margin:28px 0; font-size:16px; line-height:1.55; }
.tuition-table caption { text-align:left; color:var(--accent-default); font-size:22px; font-weight:650; line-height:1.3; padding:0 0 16px; }
.tuition-table th, .tuition-table td { padding:16px 12px; text-align:left; vertical-align:top; border-bottom:1px solid var(--border-default); }
.tuition-table thead th { background:var(--surface); font-size:14px; color:var(--foreground-secondary); font-weight:600; }
.tuition-table tbody th { width:48%; font-weight:500; }
.tuition-table .tuition-code { color:var(--foreground-secondary); font-variant-numeric:tabular-nums; }
.tuition-table .tuition-amount { text-align:right; white-space:nowrap; color:var(--accent-default); font-variant-numeric:tabular-nums; }
.tuition-table thead th:last-child { text-align:right; }
.tuition-table .tuition-extra th { color:var(--foreground-secondary); }
@media (max-width:700px) {
    .tuition-table, .tuition-table tbody { display:block; }
    .tuition-table caption { display:block; font-size:21px; }
    .tuition-table thead { display:none; }
    .tuition-table tr { display:flex; flex-direction:column; padding:18px 0; gap:10px; border-bottom:1px solid var(--border-default); }
    .tuition-table th, .tuition-table td { display:block; width:100%; border:0; padding:0; }
    .tuition-table tbody th { width:100%; order:-1; font-size:18px; }
    .tuition-table td[data-label] { display:flex; justify-content:space-between; gap:16px; text-align:right; }
    .tuition-table td[data-label]::before { content:attr(data-label); color:var(--foreground-secondary); text-align:left; font-weight:400; }
}
.not-found{display:flex;min-height:55vh;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding-block:64px;text-align:center}
.not-found-code{font-size:clamp(100px,20vw,180px);font-weight:800;line-height:1;color:var(--accent-default)}
.not-found h1{font-size:clamp(28px,5vw,44px);line-height:1.2}
.not-found p{max-width:560px;color:var(--foreground-secondary);font-size:18px;line-height:1.6}

/* Partner information: invitation, areas of collaboration, and a direct contact. */
.partners-content{min-width:0;gap:28px;overflow-wrap:anywhere}
.partners-intro{position:relative;isolation:isolate;overflow:hidden;padding:clamp(28px,4vw,48px);border-radius:24px;background:linear-gradient(120deg,#03464e,#086b73);color:#fff}
.partners-intro::after{content:"";position:absolute;z-index:-1;top:-120px;right:-160px;width:430px;height:430px;border:1px solid #ffffff18;border-radius:50%;box-shadow:0 0 0 48px #ffffff05,0 0 0 96px #ffffff04;pointer-events:none}
.partners-label{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:650;letter-spacing:.04em;color:#d0eff0}
.partners-label>span[aria-hidden]{width:7px;height:7px;flex-shrink:0;border-radius:50%;background:#63ddd2;box-shadow:0 0 0 5px #63ddd214}
.partners-intro h2{max-width:620px;margin:26px 0 20px;font-size:clamp(30px,3.2vw,46px);line-height:1.16;letter-spacing:-.04em}
.partners-intro>p{max-width:760px;font-size:18px;line-height:1.85;color:#e1eff0}
.partners-formats{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}
.partners-formats>span{padding:7px 13px;border:1px solid #ffffff30;border-radius:100px;font-size:13px;line-height:1.5;color:#effcfc;background:#ffffff08}
.partners-cooperation{padding:12px 0 4px}
.partners-cooperation-copy>.eyebrow{font-size:12px;letter-spacing:.09em}
.partners-cooperation-copy>h2{margin:14px 0 16px;font-size:clamp(26px,2.7vw,36px);line-height:1.25;white-space:pre-line}
.partners-cooperation-copy>p{max-width:780px;font-size:17px;line-height:1.85}
.partners-opportunities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.partners-opportunities>article{position:relative;min-width:0;padding:24px 22px;border:1px solid var(--border-default);border-radius:20px;background:var(--card-background)}
.partners-card-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--soft-accent);color:var(--accent-default)}
.partners-card-number{position:absolute;top:28px;right:22px;font-size:12px;font-weight:600;letter-spacing:.08em;color:#748a8c}
.partners-opportunities h3{margin:24px 0 12px;font-size:20px;line-height:1.4;letter-spacing:-.025em}
.partners-opportunities p{font-size:15px;line-height:1.8}
.partners-contact{display:flex;align-items:flex-start;gap:24px;margin:4px 0 44px;padding:32px;border:1px solid #cde4e5;border-radius:24px;background:linear-gradient(120deg,#eaf5f4,#f4f9f9)}
.partners-contact-icon{display:grid;place-items:center;flex-shrink:0;width:56px;height:56px;border-radius:50%;background:var(--accent-default);color:white}
.partners-contact-copy{min-width:0}
.partners-contact .eyebrow{font-size:11px;letter-spacing:.07em}
.partners-contact h2{margin:10px 0 12px;font-size:28px}
.partners-contact p{max-width:620px;font-size:16px;line-height:1.8}
.partners-phone{display:inline-flex;align-items:center;gap:20px;min-height:48px;margin-top:18px;font-size:clamp(22px,2.4vw,32px);font-weight:700;letter-spacing:-.04em;line-height:1.5;color:var(--accent-default)}
.partners-phone>.icon{width:22px;height:22px}
.partners-phone:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:6px}
@media(min-width:901px) and (max-width:1150px){.partners-opportunities{grid-template-columns:1fr}.partners-opportunities>article{padding:24px}.partners-opportunities h3{margin-top:16px}.partners-contact{padding:26px;gap:16px}.partners-contact-icon{width:44px;height:44px}}
@media(max-width:650px){.partners-content{gap:24px}.partners-intro{padding:28px 24px;border-radius:20px}.partners-intro h2{margin-top:24px}.partners-intro>p{font-size:16px;line-height:1.85}.partners-formats{margin-top:24px;gap:6px}.partners-formats>span{font-size:12px;padding:6px 10px}.partners-opportunities{grid-template-columns:1fr;gap:12px}.partners-opportunities>article{padding:22px}.partners-opportunities h3{margin-top:18px;font-size:21px}.partners-opportunities p{font-size:16px}.partners-contact{flex-direction:column;gap:18px;padding:26px 24px;margin-bottom:32px;border-radius:20px}.partners-contact-icon{width:48px;height:48px}.partners-contact h2{font-size:26px}.partners-phone{gap:12px;font-size:clamp(21px,6vw,28px)}.partners-cooperation>h2{font-size:27px}.partners-cooperation>p{font-size:16px}}
