/* Keep language and access together while the main links stay centered. */
.institutional .inst-nav { display:grid; grid-template-columns:1fr auto 1fr; gap:24px; }
.institutional .inst-nav-actions { display:flex; align-items:center; justify-self:end; gap:12px; }
.institutional .inst-nav-actions > .btn { padding:11px 18px; font-size:13px; white-space:nowrap; }
.institutional .inst-nav-actions > .locale-picker { flex-shrink:0; }
@media (min-width:651px) and (max-width:950px) {
  .institutional .inst-nav { padding-inline:18px; gap:16px; grid-template-columns:auto 1fr auto; }
  .institutional .inst-nav nav { justify-content:center; gap:16px; }
  .institutional .inst-nav .brand-word > span { display:none; }
  .institutional .inst-nav-actions { gap:8px; }
  .institutional .inst-nav-actions > .btn { padding:11px 12px; }
}
@media (max-width:650px) {
  .institutional .inst-nav { display:flex; gap:6px; }
  .institutional .inst-nav-actions { gap:6px; }
  .institutional .inst-nav-actions > .btn { min-height:38px; padding:9px 12px; font-size:11px; }
  .institutional .inst-nav-actions > .btn > .icon { display:none; }
}
@media (max-width:360px) {
  .institutional .inst-nav-actions { gap:4px; }
  .institutional .inst-nav-actions > .btn { padding-inline:8px; }
}
/* Long translated labels use the compact menu before the header gets crowded. */
@media (min-width:651px) and (max-width:820px) {
  .institutional .inst-nav { display:flex; gap:10px; }
  .institutional .inst-nav > .brand { margin-right:auto; }
  .institutional .he-nav-toggle {
    display:inline-flex; align-items:center; justify-content:center; flex:0 0 42px;
    width:42px; height:42px; padding:8px; border:1px solid #d8eaf135;
    border-radius:8px; background:#b4d7e60d; color:#edf5f8;
  }
  .institutional .he-nav-toggle > span { display:none; }
  .institutional .inst-nav nav {
    display:none; position:absolute; top:calc(100% + 9px); left:0; right:0;
    flex-direction:column; align-items:stretch; gap:3px; padding:10px;
    border:1px solid #d8eaf135; border-radius:12px; background:#102635f5;
    box-shadow:0 15px 35px #010a1940; backdrop-filter:blur(22px);
  }
  .institutional .inst-nav.is-menu-open nav { display:flex; }
  .institutional .inst-nav nav a { padding:13px 14px; border-radius:7px; }
  .institutional .inst-nav nav a::after { display:none; }
  .institutional .inst-nav nav a:hover, .institutional .inst-nav nav a:focus-visible { background:#284756; }
}
.oisa-gallery {
  width:min(1440px, calc(100vw - 48px)); max-width:none; max-height:calc(100dvh - 40px);
  padding:0; margin:auto; overflow:auto; overscroll-behavior:contain;
  color:#f3f7f9; background:#102531; border:1px solid #73919f66; border-radius:24px;
  box-shadow:0 36px 120px #0009, inset 0 1px 0 #ffffff0d; color-scheme:dark;
}
.oisa-gallery::backdrop { background:#020d17d6; backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
.oisa-gallery[open] { animation:oisa-gallery-enter .28s ease-out; }
.oisa-gallery-shell { position:relative; }
.oisa-gallery-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px 24px; border-bottom:1px solid #b2cfdf22; }
.oisa-gallery-brand { display:flex; align-items:center; gap:12px; font-size:11px; letter-spacing:.13em; text-transform:uppercase; color:#b5c8d1; }
.oisa-gallery-brand strong { font-size:22px; letter-spacing:-.06em; color:#d7f279; }
.oisa-gallery-close, .oisa-gallery-arrow {
  display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  padding:0; flex-shrink:0; border:1px solid #bdcfda40; border-radius:50%; background:#15313ee6; color:#fff; cursor:pointer;
  transition:background .18s, border-color .18s;
}
.oisa-gallery .icon { width:20px; height:20px; }
.oisa-gallery button:hover { border-color:#d7f279; background-color:#284450; }
.oisa-gallery :is(button,a):focus-visible { outline:3px solid #d7f279; outline-offset:4px; }
.oisa-gallery-layout { display:grid; grid-template-columns:minmax(0,2.65fr) minmax(275px,1fr); }
.oisa-gallery-visual { padding:20px; border-right:1px solid #b2cfdf22; min-width:0; background:#0a1c27; }
.oisa-gallery-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.oisa-gallery-demo { display:flex; align-items:center; gap:7px; color:#b5c8d1; font-size:11px; }
.oisa-gallery-demo i { width:6px; height:6px; border-radius:50%; background:#d7f279; box-shadow:0 0 0 4px #d7f27912; }
.oisa-gallery-zoom { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:38px; padding:7px 10px; border:1px solid #bdcfda40; border-radius:7px; color:#f3f7f9; cursor:pointer; font-size:12px; }
.oisa-gallery-zoom .icon { width:16px; height:16px; }
.oisa-gallery-stage { position:relative; overflow:hidden; height:clamp(240px,calc(100dvh - 355px),580px); border:1px solid #b2cfdf30; border-radius:10px; background:#101f2c; touch-action:pan-y pinch-zoom; }
.oisa-gallery-viewport { width:100%; height:100%; overflow:hidden; }
.oisa-gallery-image { display:block; width:100%; height:100%; object-fit:contain; }
.oisa-gallery-image-controls { display:flex; align-items:center; gap:8px; margin-top:12px; }
.oisa-gallery-position { margin-left:auto; font-size:12px; font-variant-numeric:tabular-nums; letter-spacing:.15em; }
.oisa-gallery-thumbnails { display:flex; gap:12px; padding:12px 4px 4px; }
.oisa-gallery-thumb { position:relative; flex:1; min-width:0; height:64px; padding:0; overflow:hidden; border:2px solid transparent; border-radius:9px; background:#193746; cursor:pointer; opacity:.55; transition:opacity .18s, border-color .18s; }
.oisa-gallery-thumb img { display:block; width:100%; height:100%; object-fit:cover; object-position:top; }
.oisa-gallery-thumb span { position:absolute; left:0; right:0; bottom:0; padding:3px 6px; color:#fff; background:#071420ed; font-size:10px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; text-align:left; }
.oisa-gallery-thumb[aria-pressed="true"], .oisa-gallery-thumb:hover { opacity:1; border-color:#d7f279; }
.oisa-gallery-copy { display:flex; flex-direction:column; padding:28px; }
.oisa-gallery-eyebrow { margin:0 0 12px; font-size:11px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:#d7f279; }
.oisa-gallery-heading { margin:0; font-size:30px; font-weight:600; line-height:1.12; letter-spacing:-.04em; }
.oisa-gallery-intro { margin:16px 0 24px; font-size:14px; line-height:1.7; color:#b5c8d1; }
.oisa-gallery-caption { border-top:1px solid #b2cfdf26; padding:24px 0; }
.oisa-gallery-caption h3 { margin:0 0 10px; font-size:20px; line-height:1.3; font-weight:550; letter-spacing:-.02em; }
.oisa-gallery-caption p { margin:0; font-size:14px; line-height:1.75; color:#b5c8d1; }
.oisa-gallery-cta { margin-top:auto; padding-top:10px; }
.oisa-gallery-cta .btn { display:flex; justify-content:space-between; width:100%; padding:14px 18px; border-radius:8px; font-size:13px; }
.oisa-gallery-note { margin:12px 0 0; font-size:11px; line-height:1.6; color:#a4bdc8; }
.oisa-gallery.is-zoomed .oisa-gallery-layout { grid-template-columns:minmax(0,1fr); }
.oisa-gallery.is-zoomed .oisa-gallery-copy, .oisa-gallery.is-zoomed .oisa-gallery-thumbnails { display:none; }
.oisa-gallery.is-zoomed .oisa-gallery-visual { border-right:0; }
.oisa-gallery.is-zoomed .oisa-gallery-stage { aspect-ratio:auto; height:calc(100dvh - 275px); touch-action:pan-x pan-y pinch-zoom; }
.oisa-gallery.is-zoomed .oisa-gallery-viewport { overflow:auto; overscroll-behavior:contain; }
.oisa-gallery.is-zoomed .oisa-gallery-image { width:max(100%,1280px); height:auto; max-width:none; }
.oisa-gallery-viewport:focus-visible { outline:2px solid #d7f279; outline-offset:-3px; }
.institutional .inst-campus-preview { position:relative; }
.institutional .inst-campus-preview > a[data-gallery]::after { content:""; position:absolute; inset:0; border-radius:inherit; }
.institutional .inst-campus-preview:focus-within { outline:2px solid #d7f279; outline-offset:5px; }
@keyframes oisa-gallery-enter { from { opacity:0; transform:translateY(16px) scale(.985); } to { opacity:1; transform:none; } }
@media (max-width:760px) {
  .oisa-gallery { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); border-radius:18px; }
  .oisa-gallery-header { position:sticky; top:0; z-index:2; padding:12px 18px; background:#102531f5; }
  .oisa-gallery-brand { gap:10px; font-size:9px; letter-spacing:.08em; }
  .oisa-gallery-layout { grid-template-columns:1fr; }
  .oisa-gallery-visual { padding:16px 16px 0; border:0; }
  .oisa-gallery-stage { height:auto; aspect-ratio:8/5; }
  .oisa-gallery-thumb { height:48px; }
  .oisa-gallery-thumbnails { padding-top:12px; gap:10px; }
  .oisa-gallery-copy { padding:22px; }
  .oisa-gallery-heading { font-size:28px; }
  .oisa-gallery-intro { margin:12px 0 18px; }
  .oisa-gallery-caption { padding:18px 0; }
  .oisa-gallery.is-zoomed .oisa-gallery-stage { height:calc(100dvh - 240px); }
  .oisa-gallery-demo { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .oisa-gallery[open] { animation:none; }
  .oisa-gallery * { transition:none; }
}
