/* =====================================================================
   LIS Redesign – refinement layer (2026-10-08)
   Loaded last. Same brand, fonts and layouts; this file only tunes type, spacing,
   depth and motion. Delete this file (and its enqueue line) to undo it.
   ===================================================================== */
body.lis-rd {
    --lrd-ease: cubic-bezier(.2, .7, .2, 1);
    /* Layered, softer shadows: depth without heaviness */
    --lrd-shadow: 0 1px 2px rgba(11, 30, 54, .05), 0 10px 24px -14px rgba(11, 30, 54, .2), 0 30px 60px -32px rgba(11, 30, 54, .28);
    --lrd-shadow-lift: 0 2px 4px rgba(11, 30, 54, .05), 0 18px 36px -18px rgba(11, 30, 54, .28), 0 44px 80px -40px rgba(11, 30, 54, .32);
}
.lis-rd .lrd, .lis-rd .lrd-header, .lis-rd .lrd-drawer, .lis-rd .lrd-footer { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
.lis-rd ::selection { background: var(--lrd-blue); color: #fff; }

/* ---------- Typography ---------- */
.lis-rd .lrd :is(h1, h2, h3), .lis-rd .lrd-footer h2 { text-wrap: balance; }
.lis-rd .lrd p { text-wrap: pretty; }
/* Section titles: larger and tighter, the way editorial sites set them */
.lis-rd .lrd .lrd-head h2,
.lis-rd .lrd .lrd-split__text h2,
.lis-rd .lrd .lrd-about__intro h2,
.lis-rd .lrd .lrd-platforms h2,
.lis-rd .lrd .lrd-discover__head h2,
.lis-rd .lrd .lrd-welcome__text h2 { font-size: clamp(30px, 3.4vw, 46px); line-height: 1.1; letter-spacing: -0.022em; }
.lis-rd .lrd .lrd-section--navy .lrd-head h2 { font-size: clamp(24px, 2.6vw, 34px); line-height: 1.25; letter-spacing: -0.015em; } /* long sentence titles */
.lis-rd .lrd .lrd-media__side h2 { font-size: clamp(28px, 2.8vw, 38px); line-height: 1.12; letter-spacing: -0.02em; }
.lis-rd .lrd .lrd-phead h1, .lis-rd .lrd .lrd-ahead h1 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.08; letter-spacing: -0.025em; }
.lis-rd .lrd :is(.lrd-panel, .lrd-trio li, .lrd-explore__card, .lrd-pillars li) h3 { letter-spacing: -0.015em; }
.lis-rd .lrd .lrd-lead { font-size: clamp(17.5px, 1.35vw, 20px); line-height: 1.6; color: var(--lrd-ink); }
.lis-rd .lrd :is(.lrd-stats dt, .lrd-pillars__num, .lrd-stages__num) { font-variant-numeric: tabular-nums; }

/* Eyebrows carry the same short red rule as the hero kicker – one signature across the site */
.lis-rd .lrd-eyebrow { display: flex; align-items: center; gap: 10px; }
.lis-rd .lrd-eyebrow::before { content: ''; width: 22px; height: 2px; border-radius: 2px; background: var(--lrd-red); flex: none; }
.lis-rd :is(.lrd-center, .lrd-head--center) .lrd-eyebrow, .lis-rd .lrd-eyebrow.lrd-center { justify-content: center; }
.lis-rd :is(.lrd-section--navy, .lrd-visit, .lrd-panel--navy, .lrd-mvm__card--motto) .lrd-eyebrow::before { background: rgba(255, 255, 255, .55); }

/* ---------- Colour discipline: labels in brand blue; red only as a small accent (rules, quote marks, bullets, hover) ---------- */
/* Hero titles: white; only the home title's highlighted word ("Success") is red. The word-by-word animation wraps
   every word in a span, so the old ".lrd-hero__title span" rule must not reach those. */
.lis-rd .lrd .lrd-hero__title span { color: inherit; }
.lis-rd .lrd .lrd-hero__title > span:not(.lrd-split-w) { color: var(--lrd-red); }
.lrd-eyebrow, .lis-rd .lrd-drawer__label { color: var(--lrd-blue); font-weight: 700; }
.lis-rd .lrd-eyebrow::before { background: var(--lrd-red); }
.lrd-news__body time, .lrd-news__meta time, .lrd-newsx__meta time, .lis-rd .lrd .lrd-events__when { color: var(--lrd-blue); }
.lrd-discover__kicker { color: var(--lrd-blue); }
.lis-rd .lrd-mega__h, .lis-rd .lrd-sub__h { color: var(--lrd-blue); }
.lrd-pillars__num { color: var(--lrd-blue); }
.lis-rd .lrd-corevals__label { color: var(--lrd-blue); }
.lrd-content--builder .elementor-counter-number-wrapper { color: var(--lrd-blue) !important; }
.lrd-content .elementor-column:has(> .elementor-widget-wrap > .elementor-widget-image + .elementor-widget-heading + .elementor-widget-heading) .elementor-widget-heading + .elementor-widget-heading .elementor-heading-title { color: var(--lrd-blue) !important; }
.lis-rd .lrd-quick__btn { color: var(--lrd-blue); }
/* Soft icon tiles: blue rather than pink */
.lrd-trio__icon, .lrd-docs__ico { background: #eaf2fb; color: var(--lrd-blue); }
/* On blue surfaces labels stay white */
.lis-rd :is(.lrd-section--navy, .lrd-visit, .lrd-footer, .lrd-panel--navy, .lrd-mvm__card--motto) .lrd-eyebrow,
.lis-rd .lrd-section--navy .lrd-pillars__num { color: #fff !important; }

/* ---------- Rhythm ---------- */
/* The base list reset (.lrd ul { margin: 0 }) outranked these lists' own spacing – restore it */
.lis-rd .lrd .lrd-tags--center { margin-top: clamp(32px, 4vw, 48px); gap: 10px; }
.lis-rd .lrd .lrd-linklist { margin-top: 28px; }
.lis-rd .lrd .lrd-values { margin-top: 28px; padding-top: 24px; gap: 12px 26px; }
.lis-rd .lrd .lrd-404__campuses { margin-top: 32px; }
.lis-rd .lrd .lrd-org__people { margin-top: 22px; }
@media (max-width: 960px) { .lis-rd .lrd .lrd-arches { padding: 4px 28px 26px; margin: 0 -28px; } }
@media (max-width: 640px) { .lis-rd .lrd .lrd-arches { padding: 4px 16px 24px; margin: 0 -16px; } }
.lrd-section { padding: clamp(60px, 8vw, 120px) 0; }
.lrd-section.lrd-section--tight { padding: clamp(44px, 5.5vw, 72px) 0; }
.lrd-head { margin-bottom: clamp(26px, 3.6vw, 52px); }

/* ---------- Header: frosted glass once the page scrolls ---------- */
.lrd-header { transition: background-color .3s ease, box-shadow .3s ease, border-color .3s ease; }
.lrd-header.is-scrolled {
    background: rgba(255, 255, 255, .86);
    -webkit-backdrop-filter: saturate(180%) blur(18px); backdrop-filter: saturate(180%) blur(18px);
    border-bottom-color: rgba(227, 233, 241, .7);
    box-shadow: 0 1px 0 rgba(11, 30, 54, .04), 0 12px 32px -22px rgba(11, 30, 54, .35);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .lrd-header.is-scrolled { background: #fff; } }
.lrd-mega, .lrd-drop { box-shadow: 0 2px 6px rgba(11, 30, 54, .05), 0 40px 80px -32px rgba(11, 30, 54, .4); transition: opacity .22s ease, transform .35s var(--lrd-ease), visibility 0s linear .35s; }

/* ---------- Menu: top level in capitals, lighter; sub-menus in sentence case, lighter ---------- */
/* .lrd-header scope: the base sheet resets case and spacing on header buttons (Nairobi, Mombasa, Malindi, Careers, EN) */
.lis-rd .lrd-header .lrd-nav__link { font-weight: 600; font-size: 14px; letter-spacing: .06em; text-transform: uppercase; }
.lis-rd .lrd-header .lrd-lang .lrd-nav__link { letter-spacing: .04em; }
.lis-rd .lrd-mega__tab strong, .lis-rd .lrd-mega__link strong, .lis-rd .lrd-mega__photo strong { font-weight: 600; text-transform: none; letter-spacing: 0; }
.lis-rd .lrd-mega__keys a { font-weight: 500; text-transform: none; }
.lis-rd .lrd-mega__main .lrd-mega__home, .lis-rd .lrd-drop a { font-weight: 500; text-transform: none; }
.lis-rd .lrd-acc summary, .lis-rd .lrd-acc--link { font-weight: 600; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; }
.lis-rd .lrd-sub > summary strong, .lis-rd .lrd-drawer__campuses strong { font-weight: 600; text-transform: none; letter-spacing: 0; }
.lis-rd .lrd-sub__links a, .lis-rd .lrd-sub__home { font-weight: 500; text-transform: none; letter-spacing: 0; }
@media (max-width: 1240px) { .lis-rd .lrd-header .lrd-nav__link { font-size: 13.5px; letter-spacing: .04em; padding: 12px 10px; } }

/* ---------- Two-layer header: slim blue top bar (scrolls away) + white main bar (sticky) ---------- */
.lrd-topbar { position: relative; z-index: 1001; background: var(--lrd-blue); background-image: linear-gradient(90deg, rgba(11, 30, 54, .14), rgba(11, 30, 54, 0) 60%); color: rgba(255, 255, 255, .9); font: 500 13px/1.2 var(--lrd-body); -webkit-font-smoothing: antialiased; }
.lrd-topbar *, .lrd-topbar *::before { box-sizing: border-box; }
.lrd-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 42px; }
.lis-rd .lrd-topbar__tag { display: flex; align-items: center; gap: 14px; margin: 0; white-space: nowrap; }
.lrd-topbar__tag strong { font: 700 12px/1 var(--lrd-head); letter-spacing: .14em; text-transform: uppercase; color: #fff; }
.lrd-topbar__tag span { padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, .3); color: rgba(255, 255, 255, .82); }
.lrd-topbar__end { display: flex; align-items: center; gap: 6px; }
.lis-rd .lrd-topbar__link { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 999px; color: #fff; font-weight: 600; text-decoration: none; transition: background-color .2s ease; }
.lis-rd .lrd-topbar__link:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.lrd-topbar__link .lrd-ico { width: 14px; height: 14px; }
.lis-rd .lrd-topbar__social { display: flex; align-items: center; gap: 2px; margin: 0 4px; padding: 0 10px; list-style: none; border-left: 1px solid rgba(255, 255, 255, .25); border-right: 1px solid rgba(255, 255, 255, .25); }
.lis-rd .lrd-topbar__social a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; color: #fff; transition: background-color .2s ease, color .2s ease; }
.lis-rd .lrd-topbar__social a:hover { background: #fff; color: var(--lrd-blue); }
.lrd-topbar__social .lrd-ico { width: 15px; height: 15px; }
.lrd-topbar .lrd-lang { position: relative; }
.lis-rd .lrd-topbar .lrd-nav__link { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px; border: 0; border-radius: 999px; background: none; color: #fff; font: 600 12.5px/1 var(--lrd-head); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.lis-rd .lrd-topbar .lrd-nav__link:hover, .lis-rd .lrd-topbar .lrd-lang.is-open > .lrd-nav__link { background: rgba(255, 255, 255, .14); }
.lrd-topbar .lrd-nav__link .lrd-ico { width: 14px; height: 14px; }
.lis-rd .lrd-topbar .lrd-drop { left: auto; right: 0; min-width: 190px; transform: translateY(8px); list-style: none; margin: 0; z-index: 1002; }
.lis-rd .lrd-topbar .lrd-lang:hover > .lrd-drop, .lis-rd .lrd-topbar .lrd-lang.is-open > .lrd-drop { transform: none; }
.lis-rd .lrd-topbar .lrd-drop a { display: block; padding: 10px 14px; border-radius: 6px; color: var(--lrd-ink); font: 500 14.5px/1.2 var(--lrd-body); text-decoration: none; }
.lis-rd .lrd-topbar .lrd-drop a:hover { background: var(--lrd-tint); color: var(--lrd-blue); }

/* Main bar: one line per item, evenly spaced */
.lis-rd .lrd-header .lrd-nav__link { white-space: nowrap; }
.lrd-nav__list { gap: 4px; }
@media (min-width: 1241px) { .lis-rd .lrd-header .lrd-nav__link { padding: 12px 16px; } }
@media (max-width: 1240px) { .lis-rd .lrd-header .lrd-nav__link { font-size: 13px; } }
@media (min-width: 1101px) {
    /* The top bar sits above the first screen: heroes subtract it so their bottom edge stays visible */
    .lrd-hero { height: min(66.667vw, calc(100vh - 84px - 42px - var(--lrd-admin))); }
    .lrd-hero--campus { height: min(54vw, calc(100vh - 84px - 42px - var(--lrd-admin))); }
}
@media (max-width: 1240px) { .lrd-topbar__tag span { display: none; } }
@media (max-width: 1100px) { .lrd-topbar { display: none; } }

/* ---------- Buttons and links ---------- */
.lis-rd .lrd-btn { transition: background-color .25s ease, color .25s ease, box-shadow .3s ease, transform .3s var(--lrd-ease); }
.lis-rd .lrd-btn:hover { transform: translateY(-2px); }
.lis-rd .lrd-btn:active { transform: translateY(0) scale(.98); transition-duration: .08s; }
.lis-rd .lrd-link .lrd-ico, .lis-rd .lrd-hero__link .lrd-ico, .lis-rd .lrd-card__body em .lrd-ico, .lis-rd .lrd-arch__go .lrd-ico { transition: transform .3s var(--lrd-ease); }
.lis-rd .lrd-card a:hover .lrd-card__body em .lrd-ico, .lis-rd .lrd-arch a:hover .lrd-arch__go .lrd-ico, .lis-rd .lrd-hero__link:hover .lrd-ico { transform: translateX(4px); }
/* Footer links: an underline that draws in */
.lis-rd .lrd-footer__col li a { background: linear-gradient(currentColor, currentColor) 0 calc(100% - 2px) / 0 1px no-repeat; transition: background-size .35s var(--lrd-ease), color .2s ease; }
.lis-rd .lrd-footer__col li a:hover { text-decoration: none; background-size: 100% 1px; }

/* ---------- Hero: crossfade with a slow, quiet zoom ---------- */
.lrd-slide, .lrd-slide.is-leaving { transform: none; transition: opacity 1.4s ease; }
.lrd-slide.is-active img { animation: lrd-kenburns 9s var(--lrd-ease) both; }
@keyframes lrd-kenburns { from { transform: scale(1.07); } to { transform: scale(1); } }
@media (min-width: 641px) {
    .lis-rd .lrd .lrd-hero--home .lrd-hero__title { font-size: clamp(40px, 4.8vw, 68px); line-height: 1.02; letter-spacing: -0.03em; }
    .lis-rd .lrd .lrd-hero--campus .lrd-hero__title { font-size: clamp(36px, 4.2vw, 58px); line-height: 1.05; letter-spacing: -0.025em; }
}
.lis-rd .lrd-dots button { transition: width .4s var(--lrd-ease), background-color .2s ease; }
.lis-rd .lrd-dots button.is-active { width: 40px; }

/* ---------- Cards: one consistent lift and image zoom ---------- */
.lrd-news__card, .lrd-join__card, .lrd-explore__card, .lis-rd .lrd-card a, .lis-rd .lrd-stages a, .lrd-trio li, .lrd-mvm__card, .lrd-org__card { transition: transform .45s var(--lrd-ease), box-shadow .45s var(--lrd-ease), border-color .25s ease, background-color .25s ease; }
.lrd-news__card:hover, .lrd-join__card:hover, .lrd-explore__card:hover, .lis-rd .lrd-card a:hover, .lis-rd .lrd-stages a:hover { box-shadow: var(--lrd-shadow-lift); }
.lrd-trio li:hover { transform: translateY(-4px); box-shadow: var(--lrd-shadow-lift); border-color: transparent; }
.lis-rd .lrd-news__img img { transition: transform .9s var(--lrd-ease); }
.lrd-news__card:hover .lrd-news__img img { transform: scale(1.05); }
.lis-rd .lrd-card__img img, .lrd-discover__card img, .lis-rd .lrd-video img { transition: transform .9s var(--lrd-ease); }
.lis-rd .lrd-arch__frame img { transition: transform .6s var(--lrd-ease), box-shadow .3s ease; }
.lrd-arch__frame::before { transition: transform .6s var(--lrd-ease); }
.lrd-video__play { transition: transform .4s var(--lrd-ease), box-shadow .4s var(--lrd-ease); }

/* Photos framed in the content get the same depth */
.lrd-split__img, .lrd-leader__img, .lrd-aug__img { box-shadow: var(--lrd-shadow-lift); }
.lis-rd .lrd-split__img img { transition: transform 1.2s var(--lrd-ease); }
.lrd-split__img:hover img { transform: scale(1.03); }

/* ---------- Blue surfaces: a soft light falling from the top right ---------- */
.lrd-visit, .lrd-section--navy, .lrd-mvm__card--motto, .lrd-panel--navy {
    background-image: radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .14) 0%, rgba(255, 255, 255, 0) 55%), radial-gradient(80% 70% at 0% 100%, rgba(11, 30, 54, .18) 0%, rgba(11, 30, 54, 0) 60%);
}
.lis-rd .lrd-visit h2 { font-size: clamp(28px, 3vw, 42px); line-height: 1.12; letter-spacing: -0.02em; }
.lrd-visit__in { padding-top: clamp(56px, 7vw, 96px); padding-bottom: clamp(56px, 7vw, 96px); }

/* ---------- News (home and campus pages): matching cards in a row that scrolls sideways ---------- */
.lrd-newsx__nav { display: flex; align-items: center; gap: 10px; flex: none; }
.lis-rd .lrd-newsx__nav .lrd-link { margin-right: 14px; }
.lis-rd .lrd-newsx__btn { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; padding: 0; border-radius: 50%; border: 1.5px solid var(--lrd-line); background: #fff; color: var(--lrd-ink); transition: background-color .2s ease, border-color .2s ease, color .2s ease, opacity .2s ease; }
.lis-rd .lrd-newsx__btn:hover:not(:disabled) { background: var(--lrd-blue); border-color: var(--lrd-blue); color: #fff; }
.lis-rd .lrd-newsx__btn:disabled { opacity: .35; cursor: default; }
.lrd-newsx__btn .lrd-ico { width: 18px; height: 18px; }
.lrd-newsx__btn--prev .lrd-ico { transform: rotate(180deg); }

/* The row: three cards per screen on desktop, room for shadows above and below */
.lrd-newsx { margin: -14px -14px 0; }
.lis-rd .lrd .lrd-newsx__track {
    display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 28px - 2 * 24px) / 3); gap: 24px;
    margin: 0; padding: 14px 14px 30px; list-style: none;
    overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding: 0 14px; scroll-behavior: smooth;
    scrollbar-width: none;
}
.lrd-newsx__track::-webkit-scrollbar { display: none; }
.lis-rd .lrd-newsx__card { position: relative; display: flex; flex-direction: column; margin: 0; padding: 0; scroll-snap-align: start; background: #fff; border: 1px solid var(--lrd-line); border-radius: 6px; overflow: hidden; transition: transform .45s var(--lrd-ease), box-shadow .45s var(--lrd-ease), border-color .25s ease; }
.lrd-newsx__card:hover { transform: translateY(-5px); box-shadow: var(--lrd-shadow-lift); border-color: transparent; }
.lrd-newsx__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: var(--lrd-sky); }
.lis-rd .lrd-newsx__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--lrd-ease); }
.lrd-newsx__card:hover .lrd-newsx__img img { transform: scale(1.05); }
.lrd-newsx__body { display: flex; flex-direction: column; flex: 1; padding: 22px 24px 24px; }
.lrd-newsx__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin-bottom: 10px; font: 700 11.5px/1.3 var(--lrd-head); letter-spacing: .1em; text-transform: uppercase; }
.lrd-newsx__meta time { color: var(--lrd-red); }
.lrd-newsx__meta span { display: inline-flex; align-items: center; gap: 12px; color: var(--lrd-muted); }
.lrd-newsx__meta span::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: #c3cedb; }
.lis-rd .lrd .lrd-newsx__card h3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin: 0 0 18px; font-size: 18.5px; line-height: 1.38; letter-spacing: -0.012em; }
.lis-rd .lrd-newsx__card h3 a { color: var(--lrd-ink); }
.lis-rd .lrd-newsx__card h3 a::after { content: ''; position: absolute; inset: 0; z-index: 1; } /* whole card is the link */
.lis-rd .lrd-newsx__card:hover h3 a { color: var(--lrd-blue); }
.lrd-newsx__more { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; font: 700 14.5px/1.2 var(--lrd-head); color: var(--lrd-blue); }
.lrd-newsx__more .lrd-ico { width: 16px; height: 16px; transition: transform .3s var(--lrd-ease); }
.lrd-newsx__card:hover .lrd-newsx__more .lrd-ico { transform: translateX(4px); }

/* Last card: all news */
.lis-rd .lrd-newsx__card--all { border: 0; background: var(--lrd-blue); background-image: radial-gradient(120% 90% at 100% 0%, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 55%); }
.lis-rd .lrd-newsx__card--all a { display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; height: 100%; min-height: 320px; padding: 30px 28px; color: #fff; }
.lrd-newsx__all-ico { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: auto; border-radius: 50%; background: #fff; color: var(--lrd-blue); transition: transform .4s var(--lrd-ease), background-color .2s ease, color .2s ease; }
.lrd-newsx__all-ico .lrd-ico { width: 22px; height: 22px; }
.lis-rd .lrd-newsx__card--all strong { font: 800 26px/1.15 var(--lrd-head); letter-spacing: -0.02em; color: #fff; }
.lrd-newsx__card--all a > span:last-child { font-size: 15px; line-height: 1.55; color: rgba(255, 255, 255, .85); }
.lrd-newsx__card--all:hover { background-color: var(--lrd-red); }
.lrd-newsx__card--all:hover .lrd-newsx__all-ico { transform: translateX(6px); color: var(--lrd-red); }

@media (max-width: 1100px) { .lis-rd .lrd .lrd-newsx__track { grid-auto-columns: calc((100% - 28px - 24px) / 2.15); } }
@media (max-width: 640px) {
    .lrd-newsx { margin: -14px -16px 0; }
    .lis-rd .lrd .lrd-newsx__track { grid-auto-columns: 82%; gap: 16px; padding: 14px 16px 26px; scroll-padding: 0 16px; }
    .lis-rd .lrd-head--row:has(.lrd-newsx__nav) { flex-direction: row; align-items: flex-end; }
    .lrd-newsx__btn { display: none !important; }
    .lis-rd .lrd-newsx__nav .lrd-link { margin: 0; }
    .lrd-newsx__body { padding: 18px 20px 20px; }
    .lis-rd .lrd .lrd-newsx__card h3 { font-size: 17px; }
}

/* ---------- Upcoming events: date tiles + the chosen event (one event: no tiles, date badge on the card) ---------- */
.lrd-events__in { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 24px; align-items: start; }
.lrd-events__in.is-single { grid-template-columns: minmax(0, 1fr); }
.lrd-events__dates { display: grid; grid-template-columns: repeat(3, 104px); gap: 10px; }
.lis-rd .lrd-events__date { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; height: 104px; padding: 0; border: 1px solid var(--lrd-line); border-radius: 6px; background: #fff; color: var(--lrd-ink); transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .3s var(--lrd-ease), box-shadow .3s ease; }
.lrd-events__date small { font: 700 12px/1 var(--lrd-head); letter-spacing: .14em; text-transform: uppercase; }
.lrd-events__date strong { font: 500 38px/1 var(--lrd-head); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.lis-rd .lrd-events__date:hover { border-color: var(--lrd-blue); transform: translateY(-2px); }
.lis-rd .lrd-events__date.is-on { background: var(--lrd-blue); border-color: var(--lrd-blue); color: #fff; box-shadow: 0 16px 30px -18px rgba(23, 104, 178, .9); }
.lrd-events__pane { display: none; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); background: #fff; border: 1px solid var(--lrd-line); border-radius: 6px; overflow: hidden; box-shadow: var(--lrd-shadow); }
.lrd-events__pane.is-on { display: grid; }
.lrd-events__media { position: relative; min-height: 340px; background: var(--lrd-sky); }
.lis-rd .lrd-events__media > img, .lis-rd .lrd-events__media .lrd-video { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0; box-shadow: none; object-fit: cover; }
.lrd-events__body { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(28px, 3.4vw, 48px); }
.lrd-events__badge { display: none; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 84px; height: 84px; margin-bottom: 22px; border-radius: 6px; background: var(--lrd-blue); color: #fff; box-shadow: 0 16px 30px -18px rgba(23, 104, 178, .9); }
.is-single .lrd-events__badge { display: inline-flex; }
.lrd-events__badge small { font: 700 11.5px/1 var(--lrd-head); letter-spacing: .14em; text-transform: uppercase; }
.lrd-events__badge strong { font: 600 34px/1 var(--lrd-head); letter-spacing: -0.02em; }
.lis-rd .lrd .lrd-events__when { margin: 0 0 10px; font: 700 12.5px/1.3 var(--lrd-head); letter-spacing: .12em; text-transform: uppercase; color: var(--lrd-red); }
.lis-rd .lrd .lrd-events__body h3 { margin: 0 0 14px; font-size: clamp(22px, 2.1vw, 30px); line-height: 1.18; letter-spacing: -0.02em; }
.lis-rd .lrd .lrd-events__body > p:not(.lrd-events__when) { margin: 0 0 26px; font-size: 16.5px; line-height: 1.7; }
.lrd-events__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; margin-top: auto; }
@media (max-width: 1100px) { .lrd-events__in { grid-template-columns: minmax(0, 1fr); } .lrd-events__dates { grid-template-columns: repeat(auto-fill, 88px); } .lis-rd .lrd-events__date { height: 88px; } .lrd-events__date strong { font-size: 32px; } }
@media (max-width: 860px) { .lrd-events__pane.is-on { grid-template-columns: minmax(0, 1fr); } .lrd-events__media { min-height: 0; aspect-ratio: 16 / 9; } }

/* ---------- Discover cards (Karen): same card language as the rest of the site – clean photo, white body ---------- */
.lis-rd .lrd .lrd-discover__intro { max-width: 620px; margin: 16px 0 0; font-size: 17px; line-height: 1.65; color: var(--lrd-text); }
.lrd-discover__grid { gap: 22px; }
.lis-rd .lrd-discover__card { display: flex; flex-direction: column; align-items: stretch; min-height: 0; height: 100%; background: #fff; border: 1px solid var(--lrd-line); border-radius: 6px; color: var(--lrd-ink); box-shadow: none; transition: transform .45s var(--lrd-ease), box-shadow .45s var(--lrd-ease), border-color .25s ease; }
.lrd-discover__card::before { content: none; }
.lrd-discover__card::after { height: 3px; }
.lrd-discover__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--lrd-sky); }
.lis-rd .lrd-discover__card img { position: static; width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--lrd-ease); }
.lrd-discover__body { flex: 1; gap: 8px; padding: 22px 24px 24px; text-shadow: none; }
.lrd-discover__kicker { display: flex; align-items: center; color: var(--lrd-red); opacity: 1; }
.lis-rd .lrd-discover__body strong { color: var(--lrd-ink); font-size: 21px; line-height: 1.25; letter-spacing: -0.015em; transition: color .2s ease; }
.lrd-discover__text { color: var(--lrd-text); font-size: 15px; line-height: 1.6; }
.lrd-discover__body em { margin-top: auto; padding-top: 10px; color: var(--lrd-blue); letter-spacing: 0; text-transform: none; font-size: 14.5px; }
.lis-rd .lrd-discover__card:hover, .lis-rd .lrd-discover__card:focus-visible { color: var(--lrd-ink); transform: translateY(-5px); box-shadow: var(--lrd-shadow-lift); border-color: transparent; }
.lis-rd .lrd-discover__card:hover strong { color: var(--lrd-blue); }
.lrd-discover__card:hover img { transform: scale(1.05); }
@media (max-width: 1100px) { .lis-rd .lrd-discover__card { min-height: 0; } }
@media (max-width: 600px) { .lis-rd .lrd-discover__card { min-height: 0; } .lrd-discover__img { aspect-ratio: 16 / 10; } }

/* =====================================================================
   Motion (classes added by lis-rd.js; never applied with reduced motion)
   ===================================================================== */
body.lis-rd { --lrd-ease-out: cubic-bezier(.34, .615, .4, .985); } /* isb.be's easing */

/* Blocks rise in sequence – from below when scrolling down, from above when scrolling up (replays every time) */
.lrd-reveal.lrd-anim { transition: opacity 1s var(--lrd-ease-out), transform 1.15s var(--lrd-ease-out) !important; }
.lrd-reveal.is-out { opacity: 0 !important; transform: translateY(64px) !important; }
.lrd-reveal.is-out.from-top { transform: translateY(-64px) !important; }
.lrd-r--soft.is-out { transform: translateY(18px) !important; }
.lrd-r--soft.is-out.from-top { transform: translateY(-18px) !important; }
.lrd-r--left.is-out, .lrd-r--left.is-out.from-top { transform: translateX(-48px) !important; }
.lrd-r--mark.is-out, .lrd-r--mark.is-out.from-top { opacity: 1 !important; transform: none !important; } /* children animate instead */

/* Headlines: each word rises from behind a mask (drops in from above when scrolling up) */
.lrd-split-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .12em; margin-bottom: -.12em; }
.lrd-split-w > span { display: inline-block; transform: translateY(108%); transition: transform 1.05s var(--lrd-ease-out); transition-delay: calc(var(--i, 0) * 55ms); }
.is-split.from-top:not(.is-in) .lrd-split-w > span { transform: translateY(-108%); }
.is-split.is-in .lrd-split-w > span { transform: none; }

/* Photos open from the centre while settling from a slight zoom */
.lrd-clip { clip-path: inset(0 0 0 0 round 6px); transition: clip-path 1.4s var(--lrd-ease-out) !important; }
.lrd-clip img { transition: transform 1.8s var(--lrd-ease-out) !important; }
.lrd-clip:not(.is-in) { clip-path: inset(16% 12% 16% 12% round 6px); transition: none !important; }
.lrd-clip:not(.is-in) img { transform: scale(1.22) !important; transition: none !important; }

/* ---------- Signature touches per page type (same easing and timing as everything else) ---------- */
/* Page titles above the first screen: kept hidden only until the words are split (shown after 1.2s whatever happens) */
@media (prefers-reduced-motion: no-preference) {
    .lis-rd .lrd :is(.lrd-hero__title, .lrd-phead h1, .lrd-ahead h1):not(.is-split) { opacity: 0; animation: lrd-show 0s linear 1.2s forwards; }
    /* Hero: label line draws, then the actions and school finder follow the title */
    .lrd-hero__kicker::before { animation: lrd-draw .9s var(--lrd-ease-out) .15s both; transform-origin: left; }
    .lrd-hero__actions, .lrd-hero--home .lrd-finder { animation: lrd-up 1.1s var(--lrd-ease-out) .55s both; }
    .lrd-badge { animation: lrd-pop 1.1s var(--lrd-ease-out) .9s both; }
    /* Inner pages: the header photo rises like a curtain; breadcrumbs slide in */
    .lrd-phead__arch { animation: lrd-curtain 1.4s var(--lrd-ease-out) .15s both; }
    .lrd-phead__arch img { animation: lrd-settle 1.8s var(--lrd-ease-out) .15s both; }
    .lrd-crumbs { animation: lrd-up .9s var(--lrd-ease-out) both; }
    .lrd-phead--plain .lrd-phead__text::after { animation: lrd-draw 1s var(--lrd-ease-out) .5s both; transform-origin: left; }
    /* News articles: the photo opens from the centre on arrival */
    .lrd-ahead__img { animation: lrd-open 1.4s var(--lrd-ease-out) .2s both; }
    .lrd-ahead__img img { animation: lrd-settle 1.8s var(--lrd-ease-out) .2s both; }
    .lrd-ahead__meta { animation: lrd-up 1s var(--lrd-ease-out) .45s both; }
}
@keyframes lrd-show { to { opacity: 1; } }
@keyframes lrd-up { from { opacity: 0; transform: translateY(26px); } }
@keyframes lrd-draw { from { transform: scaleX(0); } }
@keyframes lrd-pop { from { opacity: 0; transform: scale(.6) rotate(-40deg); } }
@keyframes lrd-curtain { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 -24px 0 0); } }
@keyframes lrd-open { from { clip-path: inset(14% 10% 14% 10% round 6px); } to { clip-path: inset(0 0 0 0 round 6px); } }
@keyframes lrd-settle { from { transform: scale(1.18); } to { transform: scale(1); } }

/* Campus pages: pillar numbers slide in, stage numbers pop, core-value icons spin in */
.lrd-pillars__num, .lrd-stages__num, .lrd-corevals .lrd-ico { transition: transform .9s var(--lrd-ease-out) .25s, opacity .6s ease .25s, background-color .2s ease; }
.lrd-pillars > li.is-out .lrd-pillars__num { opacity: 0; transform: translateX(-24px); }
.lrd-stages > li.is-out .lrd-stages__num { transform: scale(.3); }
.lrd-corevals li.is-out .lrd-ico { transform: rotate(-120deg) scale(.4); }
/* Administration team: the connector line grows, then the people arrive one by one */
.lrd-org__level::before { transition: transform .8s var(--lrd-ease-out); transform-origin: top; }
.lrd-org__level.is-out::before { transform: scaleY(0); }
.lrd-org__card { transition: opacity .9s var(--lrd-ease-out), transform 1.1s var(--lrd-ease-out), box-shadow .45s var(--lrd-ease); }
.lrd-org__level.is-out .lrd-org__card { opacity: 0; transform: translateY(40px); transition: none; }
.lrd-org__level .lrd-org__card:nth-child(2) { transition-delay: .1s; } .lrd-org__level .lrd-org__card:nth-child(3) { transition-delay: .2s; }
.lrd-org__level .lrd-org__card:nth-child(4) { transition-delay: .3s; } .lrd-org__level .lrd-org__card:nth-child(n+5) { transition-delay: .4s; }
/* Principal's message: the quote mark turns into place */
.lrd-pmsg__body > .lrd-ico { animation: lrd-pop 1.1s var(--lrd-ease-out) .3s both; }
/* "Visit us" bands: the light drifts slowly */
.lrd-visit, .lrd-section--navy { background-size: 180% 180%, 160% 160%; animation: lrd-glow 16s ease-in-out infinite alternate; }
@keyframes lrd-glow { from { background-position: 0% 0%, 100% 100%; } to { background-position: 100% 60%, 0% 40%; } }
/* News articles: reading progress */
.lrd-progress { position: fixed; left: 0; right: 0; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100002; height: 3px; background: linear-gradient(90deg, var(--lrd-blue), var(--lrd-red)); transform: scaleX(0); transform-origin: left; pointer-events: none; }
/* Parallax on the page-header photo */
.lis-rd .lrd-phead__arch.lrd-para img { height: 116% !important; }

/* Parallax: the photo is a little taller than its frame and glides inside it (scroll position sets --p, -1…1) */
.lis-rd .lrd-para img { height: 116% !important; translate: 0 calc(-6.9% + var(--p, 0) * 6.9%); will-change: translate; }
@media (min-width: 641px) {
    .lrd-hero .lrd-slide img { translate: 0 calc(var(--hs, 0) * .32px); }
    .lrd-hero .lrd-hero__in { translate: 0 calc(var(--hs, 0) * -.14px); opacity: calc(1 - var(--hs, 0) / 820); }
}

/* Accreditation logos: one slow, endless strip, faded at both ends */
.lrd-marquee { overflow: hidden; margin-top: 22px; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.lrd-marquee__track { display: flex; width: max-content; animation: lrd-marquee 40s linear infinite; }
.lrd-marquee:hover .lrd-marquee__track { animation-play-state: paused; }
.lis-rd .lrd .lrd-marquee .lrd-accred { flex-wrap: nowrap; justify-content: flex-start; margin: 0 !important; padding-right: 14px; }
.lis-rd .lrd-marquee .lrd-accred li { flex: none; }
@keyframes lrd-marquee { to { transform: translateX(-50%); } }

/* Rotating badge on the home hero */
.lrd-badge { position: absolute; z-index: 4; right: max(28px, calc((100vw - 1240px) / 2 + 28px)); bottom: 96px; display: flex; align-items: center; justify-content: center; width: 132px; height: 132px; border-radius: 50%; color: #fff; background: rgba(11, 30, 54, .28); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, .28); transition: background-color .3s ease, transform .4s var(--lrd-ease); }
.lrd-badge svg.lrd-badge__ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: lrd-spin 18s linear infinite; }
.lrd-badge__ring text { fill: #fff; font: 700 10.5px var(--lrd-head); letter-spacing: .18em; text-transform: uppercase; }
.lrd-badge__mid { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: var(--lrd-red); transition: transform .4s var(--lrd-ease); }
.lrd-badge__mid .lrd-ico { width: 22px; height: 22px; transform: rotate(45deg); }
.lis-rd .lrd-badge:hover { background: rgba(23, 104, 178, .55); color: #fff; }
.lrd-badge:hover .lrd-badge__mid { transform: scale(1.1); }
.lrd-badge:hover svg.lrd-badge__ring { animation-duration: 7s; }
@keyframes lrd-spin { to { transform: rotate(360deg); } }
@media (max-width: 960px) { .lrd-badge { display: none; } }
/* Lazy photos fade in as they arrive */
.lis-rd .lrd img.lrd-fade { opacity: 0; transition: opacity .7s ease, transform .9s var(--lrd-ease); }
.lis-rd .lrd img.lrd-fade.is-loaded { opacity: 1; }

@media (prefers-reduced-motion: reduce) {
    .lrd-slide.is-active img { animation: none !important; }
    .lrd-reveal:not(.is-in) { opacity: 1 !important; transform: none !important; }
    .lrd-badge svg.lrd-badge__ring, .lrd-marquee__track, .lrd-visit, .lrd-section--navy, .lrd-pmsg__body > .lrd-ico { animation: none !important; }
    .lis-rd .lrd img.lrd-fade { opacity: 1; }
}

/* ---------- Home: "Choose your campus" – calm cards: a clean photo, then name, levels and one link ---------- */
.lis-rd .lrd .lrd-ccards { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.lis-rd .lrd-ccard { margin: 0; }
.lis-rd .lrd-ccard > a { display: block; color: var(--lrd-ink); }
.lis-rd .lrd-ccard__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 6px; background: var(--lrd-sky, #eef3f9); }
.lis-rd .lrd-ccard__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; transition: transform .9s cubic-bezier(.16, 1, .3, 1); }
.lis-rd .lrd-ccard > a:hover .lrd-ccard__media img { transform: scale(1.05); }
/* the campus colour as one thin line under the photo */
.lis-rd .lrd-ccard__media::after { content: ''; position: absolute; left: 0; bottom: 0; width: 100%; height: 3px; background: var(--tone); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--lrd-ease); }
.lis-rd .lrd-ccard > a:hover .lrd-ccard__media::after { transform: scaleX(1); }
.lis-rd .lrd-ccard__city { display: block; margin: 18px 0 6px; font: 700 11.5px/1 var(--lrd-head); letter-spacing: .16em; text-transform: uppercase; color: var(--tone); }
.lis-rd .lrd-ccard__name { display: block; font: 800 22px/1.15 var(--lrd-head); letter-spacing: -0.01em; }
.lis-rd .lrd-ccard__levels { display: block; margin-top: 6px; font-size: 14.5px; line-height: 1.45; color: var(--lrd-muted); }
.lis-rd .lrd-ccard__go { display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--lrd-line); width: 100%; font: 700 14px/1 var(--lrd-head); color: var(--lrd-ink); transition: color .2s ease; }
.lis-rd .lrd-ccard__go .lrd-ico { width: 16px; height: 16px; margin-left: auto; transition: transform .3s var(--lrd-ease); }
.lis-rd .lrd-ccard > a:hover .lrd-ccard__go { color: var(--lrd-blue); }
.lis-rd .lrd-ccard > a:hover .lrd-ccard__go .lrd-ico { transform: translateX(4px); }
/* School finder highlights */
.lis-rd .lrd-arch.lrd-ccard.is-match .lrd-ccard__media { box-shadow: 0 0 0 3px #fff, 0 0 0 5px var(--lrd-red); }
@media (max-width: 1200px) { .lis-rd .lrd .lrd-ccards { gap: 18px; } .lis-rd .lrd-ccard__name { font-size: 20px; } }
@media (max-width: 960px) {
    .lis-rd .lrd .lrd-ccards { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
}
/* ---------- Work with us: vacancies (parts/careers.php) ---------- */
.lrd-jobs { padding-top: 72px; }
.lrd-jobs__intro { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: end; margin-bottom: 36px; }
.lrd-jobs__intro h2 { margin: 0 0 12px; }
.lrd-jobs__lead { max-width: 640px; margin: 0; font-size: 17px; color: var(--lrd-text); }
.lrd-jobs__deadline { display: flex; align-items: center; gap: 16px; padding: 20px 24px; border-radius: 14px; background: var(--lrd-sky); color: var(--lrd-blue); }
.lrd-jobs__deadline .lrd-ico { width: 34px; height: 34px; flex: none; }
.lrd-jobs__deadline span { display: flex; flex-direction: column; }
.lrd-jobs__deadline small { font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--lrd-muted); }
.lrd-jobs__deadline strong { font-family: var(--lrd-head); font-size: 20px; color: var(--lrd-ink); }
.lrd-jobs__deadline em { font-style: normal; font-weight: 700; font-size: 14px; color: var(--lrd-red); }
.lrd-jobs__deadline.is-closed { background: var(--lrd-tint); color: var(--lrd-muted); }
.lrd-jobs__list { display: grid; gap: 14px; margin: 0 0 64px; padding: 0; list-style: none; }
.lrd-job { border: 1.5px solid var(--lrd-line); border-radius: 16px; background: #fff; box-shadow: var(--lrd-shadow); transition: border-color .2s ease; }
.lrd-job:hover, .lrd-job details[open] { border-color: rgba(23, 104, 178, .35); }
.lrd-job summary { display: flex; align-items: center; gap: 20px; padding: 22px 26px; cursor: pointer; list-style: none; }
.lrd-job summary::-webkit-details-marker { display: none; }
.lrd-job__num { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 14px; background: var(--lrd-blue); color: #fff; font-family: var(--lrd-head); font-weight: 800; font-size: 18px; }
.lrd-job__head { flex: 1; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.lrd-job__tag { font-size: 12.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--lrd-red); }
.lrd-job__title { font-family: var(--lrd-head); font-weight: 800; font-size: clamp(18px, 2.2vw, 22px); color: var(--lrd-ink); line-height: 1.25; }
.lrd-job__toggle { flex: none; position: relative; width: 36px; height: 36px; border-radius: 50%; background: var(--lrd-tint); transition: transform .25s ease, background .2s ease; }
.lrd-job__toggle::before, .lrd-job__toggle::after { content: ''; position: absolute; left: 50%; top: 50%; width: 14px; height: 2.5px; margin: -1.25px 0 0 -7px; border-radius: 2px; background: var(--lrd-blue); }
.lrd-job__toggle::after { transform: rotate(90deg); transition: transform .25s ease; }
.lrd-job details[open] .lrd-job__toggle { background: var(--lrd-sky); }
.lrd-job details[open] .lrd-job__toggle::after { transform: rotate(0); }
.lrd-job__body { padding: 0 26px 26px 98px; }
.lrd-job__body h3 { margin: 0 0 14px; font-size: 15px; letter-spacing: .06em; text-transform: uppercase; color: var(--lrd-muted); }
.lrd-job__reqs { display: grid; gap: 10px; margin: 0 0 22px; padding: 0; list-style: none; }
.lrd-job__reqs li { display: flex; gap: 12px; align-items: flex-start; color: var(--lrd-text); line-height: 1.55; }
.lrd-job__reqs .lrd-ico { flex: none; width: 20px; height: 20px; margin-top: 3px; color: #16a34a; }
.lrd-jobs__apply { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; align-items: stretch; }
.lrd-jobs__how { padding: 36px; border-radius: 18px; background: var(--lrd-tint); }
.lrd-jobs__how h2 { margin: 0 0 20px; }
.lrd-jobs__steps { display: grid; gap: 14px; margin: 0 0 26px; padding: 0; list-style: none; }
.lrd-jobs__steps li { display: flex; gap: 14px; align-items: flex-start; color: var(--lrd-text); line-height: 1.55; }
.lrd-jobs__steps li > span { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--lrd-red); color: #fff; font-family: var(--lrd-head); font-weight: 800; font-size: 14px; }
.lrd-jobs__steps a { color: var(--lrd-blue); font-weight: 700; }
.lrd-jobs__safe { padding: 36px; border-radius: 18px; background: #363C4D; /* same slate as the footer */ color: rgba(255, 255, 255, .82); }
.lrd-jobs__safe > .lrd-ico { width: 40px; height: 40px; color: #7cc0ff; }
.lrd-jobs__safe h3 { margin: 14px 0 10px; color: #fff; font-size: 21px; }
.lrd-jobs__safe p { margin: 0 0 18px; line-height: 1.65; }
.lis-rd .lrd-jobs__safe .lrd-link { color: #7cc0ff; }
.lis-rd .lrd-jobs__safe .lrd-link:hover { color: #fff; }
@media (max-width: 900px) {
    .lrd-jobs__intro, .lrd-jobs__apply { grid-template-columns: 1fr; }
    .lrd-job__body { padding-left: 26px; }
}
@media (max-width: 560px) {
    .lrd-job summary { gap: 14px; padding: 18px; }
    .lrd-job__num { width: 42px; height: 42px; font-size: 16px; }
    .lrd-job__body { padding: 0 18px 22px; }
    .lrd-jobs__how, .lrd-jobs__safe { padding: 26px 22px; }
}
.lis-rd .lrd-job__body h3 { margin: 4px 0 16px; }
.lis-rd .lrd-job__reqs { margin: 0 0 26px; padding: 0; }
.lis-rd .lrd-jobs__steps { margin: 0 0 28px; padding: 0; }
.lis-rd .lrd-jobs__steps li > div { flex: 1; min-width: 0; padding-top: 3px; }
.lis-rd .lrd-jobs__safe h3 { margin: 14px 0 10px; color: #fff; }
.lis-rd .lrd-jobs__intro h2, .lis-rd .lrd-jobs__how h2 { margin-top: 0; }
.lis-rd .lrd-job__body > .lrd-btn { margin-top: 14px; }
/* Vacancies: every position shown in full – number, title, then its requirements */
.lrd-jobs__toc { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: -8px 0 30px; }
.lrd-jobs__toc > span { font-family: var(--lrd-head); font-weight: 700; color: var(--lrd-ink); margin-right: 4px; }
.lis-rd .lrd-jobs__list { gap: 24px; }
.lrd-job { overflow: hidden; }
.lrd-job__top { display: flex; align-items: center; gap: 20px; padding: 24px 30px; background: linear-gradient(90deg, var(--lrd-sky), #fff 75%); border-bottom: 1.5px solid var(--lrd-line); }
.lis-rd .lrd-job__title { margin: 0; font-size: clamp(19px, 2.3vw, 24px); }
.lis-rd .lrd-job__body { padding: 26px 30px 30px 102px; }
.lis-rd .lrd-job__body h4 { margin: 0 0 16px; font-family: var(--lrd-head); font-size: 14px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--lrd-blue); }
@media (max-width: 900px) { .lis-rd .lrd-job__body { padding-left: 30px; } }
@media (max-width: 560px) { .lrd-job__top { padding: 18px; gap: 14px; } .lis-rd .lrd-job__body { padding: 20px 18px 24px; } }
