.institutional-page { color: #173b59; background: #fff; }
.institutional-page h1, .institutional-page h2, .institutional-page h3 { color: #082b49; }
.institutional-nav { position: sticky; top: 0; z-index: 1030; background: #fff; border-bottom: 1px solid #dce6ef; }
.institutional-nav__inner { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.institutional-nav__brand, .institutional-footer__brand { display: inline-flex; align-items: center; gap: .7rem; color: #082b49; font-weight: 600; font-size: 1.1rem; white-space: nowrap; }
.institutional-nav__brand img, .institutional-footer__brand img { object-fit: contain; }
.institutional-cta { display: inline-flex; align-items: center; justify-content: center; gap: .7rem; min-height: 52px; padding: .75rem 1.55rem; border: 0; border-radius: .7rem; background: #f59e0b; color: #092943; font-weight: 700; text-decoration: none; box-shadow: 0 10px 26px rgba(4, 24, 44, .19); transition: background .2s ease, transform .2s ease; }
.institutional-cta:hover { color: #092943; background: #ffb733; transform: translateY(-2px); }
.institutional-cta:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 6px #082b49; }
.institutional-cta--nav { min-height: 42px; padding: .55rem 1.1rem; box-shadow: none; }
.institutional-cta--nav:focus-visible { outline-color: #082b49; box-shadow: 0 0 0 5px #f59e0b; }
.institutional-hero { overflow: hidden; background: radial-gradient(circle at 76% 28%, #1b4979 0, #0c3055 30%, #071e38 74%); color: #fff; }
.institutional-hero__grid { display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); align-items: center; gap: 3rem; min-height: 595px; }
.institutional-hero__copy { position: relative; z-index: 1; padding: 5rem 0; }
.institutional-eyebrow { display: inline-block; margin: 0 0 1.2rem; padding: .4rem .85rem; border: 1px solid rgba(245, 158, 11, .55); border-radius: 999px; background: rgba(245, 158, 11, .13); color: #ffca70; font-size: .72rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.institutional-hero h1 { max-width: 680px; margin: 0 0 1.3rem; color: #fff; font-family: Lora, Georgia, serif; font-size: clamp(2.55rem, 4vw, 4.5rem); line-height: 1.12; letter-spacing: -.025em; }
.institutional-hero__lead { max-width: 600px; margin: 0 0 1.8rem; color: #dfebf5; font-size: 1.15rem; line-height: 1.7; }
.institutional-hero__note { margin: .9rem 0 0; color: #b8ccdb; font-size: .84rem; }
.institutional-hero__visual { position: relative; align-self: stretch; width: calc(100% + 200px); margin-left: -100px; min-height: 500px; background-image: url('../img1/lms-banner/lms-banner.png'); background-size: auto 65%; background-position: right center; background-repeat: no-repeat; }
.institutional-hero__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, #0b2b4c 0%, rgba(11,43,76,.7) 12%, transparent 31%), linear-gradient(to bottom, #12355b 0%, #12355b 17%, transparent 31%, transparent 69%, #12355b 83%, #12355b 100%); pointer-events: none; }
.institutional-section { padding: 5.5rem 0; }
.institutional-section h2, .institutional-close h2 { max-width: 850px; margin: 0 0 1rem; font-family: Lora, Georgia, serif; font-size: clamp(2rem, 3vw, 3.2rem); line-height: 1.2; }
.institutional-section p { line-height: 1.7; }
.institutional-kicker { margin: 0 0 .8rem; color: #9b5b08; font-size: .73rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.institutional-section__intro { max-width: 760px; margin: 0 0 2rem; color: #4c6276; font-size: 1.08rem; }
.institutional-audiences { background: #f7fafc; }
.institution-backup { max-width: 960px; margin: 0 0 2.3rem; padding: 1rem 1.2rem; border-left: 4px solid #f59e0b; border-radius: 0 .75rem .75rem 0; background: #fff; color: #4c6276; box-shadow: 0 12px 28px -24px rgba(4, 35, 64, .45); }
.institution-backup a { color: #0b568d; font-weight: 700; text-underline-offset: .18em; }
.institution-backup a:hover { color: #8a5107; }
.institution-backup a:focus-visible, .footer-company a:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; border-radius: .15rem; }
.institutional-chips { display: flex; flex-wrap: wrap; gap: .7rem; padding: 0; margin: 0; list-style: none; }
.institutional-chips li { padding: .7rem 1.1rem; border: 1px solid #d3e0eb; border-radius: 999px; background: #fff; color: #163f61; font-weight: 600; }
.institutional-problem { background: #fff; }
.institutional-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 5rem; align-items: center; }
.institutional-split > div:first-child p:not(.institutional-kicker) { max-width: 610px; color: #4c6276; }
.institutional-evidence { padding: 2rem; border-radius: 1.2rem; background: #092943; box-shadow: 0 22px 40px -26px rgba(4, 35, 64, .55); }
.institutional-evidence h3 { margin: 0 0 1rem; color: #fff; font-size: 1.2rem; }
.institutional-evidence ul { padding: 0; margin: 0; list-style: none; }
.institutional-evidence li { display: flex; align-items: baseline; gap: 1rem; padding: .85rem 0; border-top: 1px solid rgba(255,255,255,.15); color: #e5eff7; }
.institutional-evidence li span { color: #ffc164; font-size: .78rem; font-weight: 700; }
.institutional-role-grid, .institutional-feature-grid { display: grid; gap: 1.2rem; }
.institutional-role-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.institutional-role-grid article { padding: 1.7rem; border: 1px solid #dce7f0; border-radius: 1rem; background: #fff; box-shadow: 0 12px 26px -22px rgba(2, 42, 76, .28); }
.institutional-role-grid article > span { color: #b46b0f; font-weight: 700; font-size: .8rem; }
.institutional-role-grid h3 { margin: .55rem 0; font-size: 1.2rem; }
.institutional-role-grid p { margin: 0; color: #526779; }
.institutional-features { background: #f7fafc; }
.institutional-feature-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.institutional-feature-grid article { min-height: 100%; padding: 1.7rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: 1rem; background: linear-gradient(145deg, #0b3155, #061f39); box-shadow: 0 18px 32px -25px rgba(4, 37, 67, .6); }
.institutional-feature-grid > article { grid-column: span 2; }
.institutional-feature-grid > article:nth-child(4), .institutional-feature-grid > article:nth-child(5) { grid-column: span 3; }
.institutional-feature-grid i { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; margin-bottom: 1rem; border: 1px solid rgba(245, 158, 11, .4); border-radius: .7rem; color: #ffc164; background: rgba(245, 158, 11, .12); }
.institutional-feature-grid h3 { margin: 0 0 .55rem; color: #fff; font-size: 1.16rem; }
.institutional-feature-grid p { margin: 0; color: #d4e2ee; font-size: .96rem; }
.institutional-feature-grid ul { padding: 0; margin: 0; list-style: none; }
.institutional-feature-grid li { position: relative; padding-left: 1.35rem; margin-bottom: .72rem; color: #d4e2ee; font-size: .92rem; line-height: 1.55; }
.institutional-feature-grid li:last-child { margin-bottom: 0; }
.institutional-feature-grid li::before { content: '\2713'; position: absolute; top: .03rem; left: 0; color: #ffc164; font-weight: 700; }
.institutional-feature-grid > .institutional-feature-grid__enterprise { grid-column: 1 / -1; background: radial-gradient(circle at top right, rgba(245, 158, 11, .15), transparent 42%), linear-gradient(135deg, #0a2647 0%, #042c53 55%, #0d3868 100%) !important; }
.institutional-feature-grid__heading { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem; }
.institutional-feature-grid__heading i { flex: 0 0 auto; margin-bottom: 0; }
.institutional-feature-grid__heading h3 { margin-bottom: .2rem; }
.institutional-feature-grid__heading p { color: #afc5d6; font-size: .86rem; }
.institutional-feature-grid__columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.institutional-feature-grid__columns ul { padding: 1.25rem; border: 1px solid rgba(255, 255, 255, .12); border-radius: .8rem; background: rgba(255, 255, 255, .055); }
.institutional-proof__story { display: flex; align-items: center; gap: 2rem; padding: 2rem 2.5rem; border: 1px solid #d9e6ee; border-radius: 1.2rem; background: #f7fafc; }
.institutional-proof__story h3 { margin: 0 0 .8rem; font-size: 1.45rem; }
.institutional-proof__story p { max-width: 870px; margin: 0 0 .8rem; color: #4c6276; }
.institutional-proof__story p:last-child { margin-bottom: 0; }
.institutional-proof__story img { flex: 0 0 auto; object-fit: contain; }
.training-showcase { position: relative; margin-top: 4.5rem; padding-top: 4.5rem; border-top: 1px solid #dce6ef; }
.training-showcase::before { content: ''; position: absolute; top: -5px; left: 0; width: 52px; height: 9px; border-radius: 999px; background: #f59e0b; }
.training-showcase__heading { display: grid; grid-template-columns: minmax(0, .8fr) minmax(320px, 1fr); align-items: end; gap: 3rem; margin-bottom: 2rem; }
.training-showcase__heading h3 { margin: 0; font-family: Lora, Georgia, serif; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.16; }
.training-showcase__heading > p { max-width: 660px; margin: 0; color: #4c6276; font-size: 1.03rem; }
.training-gallery { min-width: 0; }
.training-gallery__featured { position: relative; margin: 0; overflow: hidden; border: 1px solid #cbd9e4; border-radius: 1.15rem; background: #071d31; box-shadow: 0 26px 58px -38px rgba(4, 35, 64, .75); }
.training-gallery__featured-open { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; padding: 0; overflow: hidden; border: 0; background: #092943; cursor: zoom-in; }
.training-gallery__featured-open picture, .training-gallery__featured-open img { display: block; width: 100%; height: 100%; }
.training-gallery__featured-open img { object-fit: cover; transition: opacity .36s ease, transform .5s ease; }
.training-gallery__featured.is-changing .training-gallery__featured-open img { opacity: 0; }
.training-gallery__featured.is-recognition .training-gallery__featured-open { background: radial-gradient(circle at 50% 40%, #173b59 0, #061b30 76%); }
.training-gallery__featured.is-recognition .training-gallery__featured-open img { object-fit: contain; padding: 2rem; }
.training-gallery__featured-open:hover img { transform: scale(1.01); }
.training-gallery__featured-open:focus-visible { z-index: 2; outline: 4px solid #f59e0b; outline-offset: -4px; }
.training-gallery__expand { position: absolute; top: .9rem; right: .9rem; display: grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(6, 27, 48, .78); color: #fff; font-size: .83rem; opacity: 0; transform: translateY(4px); transition: opacity .2s ease, transform .2s ease; }
.training-gallery__featured-open:hover .training-gallery__expand, .training-gallery__featured-open:focus-visible .training-gallery__expand { opacity: 1; transform: none; }
.training-gallery__caption { position: absolute; z-index: 1; right: 0; bottom: 0; left: 0; display: grid; gap: .25rem; padding: 4.8rem 6.5rem 1.35rem 1.5rem; color: #fff; background: linear-gradient(180deg, transparent 0%, rgba(3,16,29,.4) 25%, rgba(3,16,29,.95) 100%); pointer-events: none; transition: opacity .3s ease; }
.training-gallery__featured.is-changing .training-gallery__caption { opacity: .35; }
.training-gallery__label { color: #ffc164; font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.training-gallery__caption-copy { max-width: 790px; font-size: clamp(1rem, 1.65vw, 1.25rem); font-weight: 600; line-height: 1.4; }
.training-gallery__context { color: #c9dbe8; font-size: .84rem; }
.training-gallery__position { position: absolute; right: 1.5rem; bottom: 1.4rem; color: #d5e4ef; font-size: .76rem; font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.training-gallery__thumbnails { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 4rem) / 5); gap: 1rem; margin-top: 1rem; padding: .25rem .15rem .65rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; scrollbar-color: #a9bccb transparent; scrollbar-width: thin; }
.training-gallery__thumbnail { min-width: 0; padding: 0; overflow: hidden; border: 2px solid transparent; border-radius: .75rem; background: #fff; color: #354f64; text-align: left; scroll-snap-align: start; transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease; }
.training-gallery__thumbnail img { display: block; width: 100%; height: clamp(84px, 9vw, 112px); object-fit: cover; background: #092943; }
.training-gallery__thumbnail[data-training-kind="recognition"] img { object-fit: contain; padding: .45rem; background: #092943; }
.training-gallery__thumbnail span { display: block; padding: .62rem .7rem .7rem; overflow: hidden; font-size: .76rem; font-weight: 650; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.training-gallery__thumbnail:hover { border-color: #9fb8ca; transform: translateY(-2px); }
.training-gallery__thumbnail.is-current { border-color: #f59e0b; box-shadow: 0 0 0 2px rgba(245,158,11,.16); color: #173b59; }
.training-gallery__thumbnail:focus-visible { outline: 3px solid #173b59; outline-offset: 3px; }
.training-showcase__note { display: flex; align-items: center; gap: .7rem; margin: 1.35rem 0 0; color: #6c7f8f; font-size: .84rem; }
.training-showcase__note span { width: 32px; height: 1px; background: #d48816; }
.training-lightbox { width: min(1160px, calc(100% - 2rem)); max-width: none; max-height: calc(100vh - 2rem); padding: 0; overflow: visible; border: 0; border-radius: 1rem; background: transparent; color: #fff; }
.training-lightbox::backdrop { background: rgba(3, 16, 29, .92); backdrop-filter: blur(4px); }
.training-lightbox__frame { position: relative; }
.training-lightbox__content { overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 1rem; background: #061b30; box-shadow: 0 30px 80px rgba(0,0,0,.55); }
.training-lightbox__content img { display: block; width: 100%; max-height: calc(100vh - 12rem); object-fit: contain; background: #03101d; }
.training-lightbox__caption { position: relative; padding: 1.1rem 5.5rem 1.25rem 1.3rem; }
.training-lightbox__caption p { margin: 0; color: #d5e4ef; line-height: 1.5; }
.training-lightbox__caption .training-lightbox__label { margin-bottom: .25rem; color: #ffc164; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.training-lightbox__caption .training-lightbox__context { margin-top: .2rem; color: #9fb8ca; font-size: .8rem; }
.training-lightbox__caption .training-lightbox__count { position: absolute; right: 1.3rem; bottom: 1.3rem; color: #9fb8ca; font-size: .78rem; }
.training-lightbox__close, .training-lightbox__control { display: grid; place-items: center; border: 1px solid rgba(255,255,255,.28); background: rgba(6,27,48,.9); color: #fff; }
.training-lightbox__close:hover, .training-lightbox__control:hover { background: #173b59; }
.training-lightbox__close:focus-visible, .training-lightbox__control:focus-visible { outline: 3px solid #f59e0b; outline-offset: 3px; }
.training-lightbox__close { position: absolute; z-index: 2; top: .8rem; right: .8rem; width: 2.6rem; height: 2.6rem; border-radius: 50%; }
.training-lightbox__control { position: absolute; z-index: 2; top: 43%; width: 2.8rem; height: 3.8rem; border-radius: .55rem; }
.training-lightbox__control--previous { left: -4rem; }
.training-lightbox__control--next { right: -4rem; }
.institutional-trust { margin-top: 3.2rem; padding-top: 2rem; border-top: 1px solid #dce6ef; }
.institutional-trust h3 { margin: 0 0 1.5rem; text-align: center; color: #526779; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.institutional-trust__logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 2rem 3.5rem; }
.institutional-trust__logos img { max-width: 170px; max-height: 62px; width: auto; height: auto; object-fit: contain; }
.institutional-close { padding: 5.5rem 0; background: #092943; text-align: center; }
.institutional-close .institutional-kicker { color: #ffc164; }
.institutional-close h2 { margin: 0 auto 1rem; color: #fff; }
.institutional-close p:not(.institutional-kicker) { margin: 0 0 1.7rem; color: #d5e4ef; }
.institutional-footer { background: #061b30; color: #d3e2ed; }
.institutional-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.6rem; padding-bottom: 1.6rem; }
.institutional-footer__brand { color: #fff; }
.institutional-footer p { margin: 0; font-size: .84rem; }
.institutional-footer__company { max-width: 760px; text-align: right; }
.institutional-footer .footer-company { margin-top: .35rem; color: #9fb8ca; }
.footer-company a { color: #ffca70; font-weight: 600; text-underline-offset: .16em; }
.footer-company a:hover { color: #fff; }
@media (max-width: 991.98px) {
    .institutional-hero__grid { grid-template-columns: 1fr; gap: 0; min-height: 0; }
    .institutional-hero__copy { padding: 3.5rem 0 1rem; }
    .institutional-hero__visual { width: 100%; margin-left: 0; min-height: 340px; background-size: auto 115%; background-position: right center; border-radius: 12px; }
    .institutional-hero__visual::after { background: linear-gradient(90deg, #0b2b4c 0%, #0b2b4c 14%, transparent 34%); }
    .institutional-split { gap: 2rem; }
    .institutional-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .institutional-feature-grid > article, .institutional-feature-grid > article:nth-child(4), .institutional-feature-grid > article:nth-child(5) { grid-column: auto; }
    .institutional-feature-grid > .institutional-feature-grid__enterprise { grid-column: 1 / -1; }
    .training-gallery__thumbnails { grid-auto-columns: calc((100% - 3rem) / 4); }
    .training-lightbox__control--previous { left: .75rem; }
    .training-lightbox__control--next { right: .75rem; }
}
@media (max-width: 767.98px) {
    .institutional-split { grid-template-columns: 1fr; }
    .institutional-hero__visual { min-height: 300px; }
    .institutional-hero__visual::after { background: none; }
    .institutional-section { padding: 4rem 0; }
    .institutional-role-grid { grid-template-columns: 1fr; }
    .institutional-feature-grid__columns { grid-template-columns: 1fr; }
    .institutional-proof__story { padding: 1.5rem; }
    .institutional-proof__story img { width: 100px; height: auto; }
    .training-showcase { margin-top: 3.5rem; padding-top: 3.5rem; }
    .training-showcase__heading { grid-template-columns: 1fr; gap: .8rem; }
    .training-gallery__featured-open { aspect-ratio: 4 / 3; }
    .training-gallery__featured.is-recognition .training-gallery__featured-open img { padding: 1rem; }
    .training-gallery__caption { position: relative; padding: 1rem 4.5rem 1rem 1rem; background: #071d31; }
    .training-gallery__context { font-size: .78rem; }
    .training-gallery__position { right: 1rem; bottom: 1rem; }
    .training-gallery__thumbnails { grid-auto-columns: minmax(132px, 44vw); gap: .75rem; }
    .training-gallery__thumbnail:hover { transform: none; }
    .training-gallery__expand { opacity: 1; transform: none; }
    .training-lightbox { width: calc(100% - 1rem); max-height: calc(100vh - 1rem); }
    .training-lightbox__content img { max-height: calc(100vh - 10.5rem); }
    .training-lightbox__control { top: auto; bottom: 1rem; width: 2.5rem; height: 2.5rem; border-radius: 50%; }
    .training-lightbox__control--previous { left: auto; right: 4.3rem; }
    .training-lightbox__control--next { right: 1rem; }
    .training-lightbox__caption { min-height: 8.2rem; padding-right: 7.5rem; }
    .training-lightbox__caption .training-lightbox__count { right: auto; bottom: .8rem; left: 1.3rem; }
}
@media (max-width: 575.98px) {
    .institutional-nav__inner { min-height: 68px; }
    .institutional-nav__brand { gap: .45rem; font-size: .95rem; }
    .institutional-nav__brand img { width: 38px; height: 38px; }
    .institutional-cta--nav { min-height: 42px; padding: .5rem .8rem; font-size: .84rem; }
    .institutional-hero h1 { font-size: clamp(2.25rem, 9vw, 3rem); }
    .institutional-hero__lead { font-size: 1rem; }
    .institutional-hero__visual { min-height: 240px; }
    .institutional-feature-grid { grid-template-columns: 1fr; }
    .institutional-feature-grid > .institutional-feature-grid__enterprise { grid-column: auto; }
    .institutional-feature-grid article { min-height: 0; }
    .institutional-proof__story { display: block; }
    .institutional-proof__story img { display: block; margin: 1.3rem auto 0; }
    .institutional-trust__logos { gap: 1.4rem; }
    .institutional-trust__logos img { max-width: 125px; max-height: 50px; }
    .institutional-footer__inner { flex-direction: column; text-align: center; }
    .institutional-footer__company { text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .institutional-cta, .training-gallery__featured-open img, .training-gallery__caption, .training-gallery__thumbnail, .training-gallery__expand { transition: none; } .institutional-cta:hover, .training-gallery__featured-open:hover img, .training-gallery__thumbnail:hover { transform: none; } }
