/* ISST GCC — UI refresh layer (motion, glass, states). Colors unchanged. */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; scroll-behavior: smooth; }
::selection { background: #cfe3f2; color: #003A70; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
h1.h-font { letter-spacing: -0.028em; }
h2.h-font, h3.h-font { letter-spacing: -0.018em; }
[dir="rtl"] .h-font, [dir="rtl"] h1, [dir="rtl"] h2, [dir="rtl"] h3 { letter-spacing: 0 !important; }
:focus-visible { outline: 2px solid #0072BC; outline-offset: 3px; }

@keyframes isstPage { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes isstRise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes isstItem { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@keyframes isstPulse { 0% { box-shadow: 0 0 0 0 rgba(0,114,188,.45), 0 2px 8px rgba(0,58,112,.4); } 70% { box-shadow: 0 0 0 14px rgba(0,114,188,0), 0 2px 8px rgba(0,58,112,.4); } 100% { box-shadow: 0 0 0 0 rgba(0,114,188,0), 0 2px 8px rgba(0,58,112,.4); } }
.page-transition { animation: isstPage .9s cubic-bezier(.22,1,.36,1) backwards !important; }

/* Header — frosted glass, condenses on scroll */
.page-transition > header {
  background: rgba(255,255,255,.72) !important;
  -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(0,58,112,.08) !important; box-shadow: none !important;
  transition: box-shadow .5s ease, background-color .5s ease;
}
.page-transition > header > div { transition: padding .45s cubic-bezier(.22,1,.36,1); }
.page-transition > header img { transition: height .45s cubic-bezier(.22,1,.36,1); }
html[data-scrolled] .page-transition > header { background: rgba(255,255,255,.84) !important; box-shadow: 0 10px 30px -18px rgba(0,58,112,.28) !important; }

/* Nav links */
.nav-links > a, .nav-links > div > a, .nav-links > div > span {
  position: relative; font-weight: 500 !important; letter-spacing: -.006em; color: #0b2a44 !important;
  transition: color .25s ease; text-decoration: none !important; padding: 6px 0;
}
.nav-links > a::after, .nav-links > div > a::after, .nav-links > div > span::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 1.5px; border-radius: 2px; background: #0072BC;
  transform: scaleX(0); transform-origin: center; transition: transform .4s cubic-bezier(.22,1,.36,1);
}
.nav-links > a:hover, .nav-links > div:hover > a, .nav-links > div:hover > span, .nav-links [aria-current="page"] { color: #0072BC !important; }
.nav-links > a:hover::after, .nav-links > div:hover > a::after, .nav-links > div:hover > span::after, .nav-links [aria-current="page"]::after { transform: scaleX(1); }
.nav-links > div > a > span, .nav-links > div > span > span { display: inline-block; transition: transform .35s cubic-bezier(.22,1,.36,1), color .25s; }
.nav-links > div:hover > a > span, .nav-links > div:hover > span > span { color: #0072BC !important; }

/* Dropdowns — always mounted, animated */
.nav-links > div > div {
  display: block !important; position: absolute !important; top: 100% !important; left: -14px !important; right: auto !important;
  margin-top: 12px !important; padding: 8px !important; z-index: 60 !important;
  background: rgba(255,255,255,.9) !important; -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px);
  border: 1px solid rgba(0,58,112,.08) !important; border-radius: 16px !important;
  box-shadow: 0 28px 56px -18px rgba(0,58,112,.28), 0 2px 6px rgba(0,58,112,.05) !important;
  opacity: 1; visibility: visible; transform: none; transform-origin: top left;
  transition: opacity .3s cubic-bezier(.22,1,.36,1), transform .45s cubic-bezier(.22,1,.36,1), visibility 0s;
}
.nav-links > div > div[style*="display: none"] {
  opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-8px) scale(.97);
  transition: opacity .18s ease, transform .22s ease, visibility 0s .22s;
}
.nav-links > div > div::before { content: ''; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
[dir="rtl"] .nav-links > div > div { left: auto !important; right: -14px !important; transform-origin: top right; }
.nav-links > div > div a {
  border-radius: 10px !important; font-weight: 500 !important; text-decoration: none !important;
  transition: background-color .2s ease, color .2s ease; white-space: nowrap;
}
.nav-links > div > div a:hover { background: #f4f9fc; color: #0072BC !important; }
.nav-links > div > div:not([style*="display: none"]) a { animation: isstItem .45s cubic-bezier(.22,1,.36,1) backwards; }
.nav-links > div > div a:nth-child(2) { animation-delay: .03s !important; }
.nav-links > div > div a:nth-child(3) { animation-delay: .06s !important; }
.nav-links > div > div a:nth-child(4) { animation-delay: .09s !important; }
.nav-links > div > div a:nth-child(5) { animation-delay: .12s !important; }
.nav-links > div > div a:nth-child(6) { animation-delay: .15s !important; }

/* Buttons */
[data-ui="btn"], [data-ui="btn-o"], [data-ui="lang"] {
  border-radius: 999px !important; text-decoration: none !important;
  transition: transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, background-color .25s ease, filter .25s ease, border-color .25s ease !important;
}
[data-ui="btn"]:hover { color: #fff !important; filter: brightness(.92); box-shadow: 0 12px 26px -10px rgba(0,114,188,.6); transform: translateY(-1px); }
[data-ui="btn-o"]:hover { background: #e6f2fa !important; color: #0072BC !important; transform: translateY(-1px); }
[data-ui="lang"]:hover { background: #e6f2fa !important; border-color: #cfe3f2 !important; }
[data-ui="btn"]:active, [data-ui="btn-o"]:active, [data-ui="lang"]:active, [data-ui="burger"]:active { transform: scale(.96); transition-duration: .1s !important; }

/* Cards */
[data-ui="card"] { border-radius: 22px !important; transition: transform .6s cubic-bezier(.22,1,.36,1), box-shadow .6s ease, background-color .4s ease, border-color .4s ease !important; }
[data-ui="card"]:has(a):hover { transform: translateY(-4px); background: #ffffff !important; border-color: #d9e6ee !important; box-shadow: 0 28px 50px -24px rgba(0,58,112,.3); }
[data-ui="card"] a { text-decoration: none !important; }
[data-ui="card"]:has(a):hover a { color: #0072BC !important; }

/* Forms */
input, textarea, select { transition: border-color .2s ease, box-shadow .25s ease, background-color .2s ease; }
input:focus, textarea:focus, select:focus { outline: none; border-color: #0072BC !important; box-shadow: 0 0 0 4px rgba(0,114,188,.12) !important; background-color: #fff !important; }

/* Footer links */
footer a { transition: color .2s ease; }
footer a:hover { color: #0072BC !important; text-decoration: none !important; }

/* Map */
.leaflet-container { border-radius: 24px; font-family: inherit; }
.leaflet-popup-content-wrapper { border-radius: 16px !important; box-shadow: 0 24px 48px -16px rgba(0,58,112,.35) !important; }
.leaflet-popup-tip { box-shadow: none !important; }
.leaflet-marker-icon > div { animation: isstPulse 2.6s cubic-bezier(.22,1,.36,1) infinite; transition: transform .3s cubic-bezier(.22,1,.36,1); }
.leaflet-marker-icon:hover > div { transform: scale(1.25); }

/* Hero entrance */
header + section :has(> h1) > * { animation: isstRise 1s cubic-bezier(.22,1,.36,1) backwards; animation-delay: .1s; }
header + section :has(> h1) > *:nth-child(2) { animation-delay: .18s; }
header + section :has(> h1) > *:nth-child(3) { animation-delay: .26s; }
header + section :has(> h1) > *:nth-child(4) { animation-delay: .34s; }
header + section :has(> h1) > *:nth-child(n+5) { animation-delay: .42s; }
header + section .hero-img-wrap { animation: isstRise 1.2s cubic-bezier(.22,1,.36,1) .3s backwards; }

/* Scroll reveal */
[data-rv="0"] { opacity: 0; transform: translateY(36px); }
[data-rv="1"] { opacity: 1; transform: none; transition: opacity 1s cubic-bezier(.22,1,.36,1), transform 1.1s cubic-bezier(.22,1,.36,1); }
[data-rv="0"] [data-ui="card"] { opacity: 0; }
[data-rv="1"] [data-ui="card"] { animation: isstRise .9s cubic-bezier(.22,1,.36,1) backwards; animation-delay: .12s; }
[data-rv="1"] [data-ui="card"]:nth-child(2) { animation-delay: .22s; }
[data-rv="1"] [data-ui="card"]:nth-child(3) { animation-delay: .32s; }
[data-rv="1"] [data-ui="card"]:nth-child(n+4) { animation-delay: .42s; }

/* Mobile menu */
[data-ui="burger"] { display: none; width: 44px; height: 44px; border: 0; background: transparent; border-radius: 999px; cursor: pointer; position: relative; flex-shrink: 0; transition: background-color .2s, transform .2s; }
[data-ui="burger"]:hover { background: #f4f9fc; }
[data-ui="burger"] i { position: absolute; left: 13px; right: 13px; height: 1.5px; background: #003A70; border-radius: 2px; transition: transform .45s cubic-bezier(.22,1,.36,1), top .45s cubic-bezier(.22,1,.36,1); }
[data-ui="burger"] i:nth-child(1) { top: 18px; }
[data-ui="burger"] i:nth-child(2) { top: 25px; }
html[data-menu] [data-ui="burger"] i:nth-child(1) { top: 21.5px; transform: rotate(45deg); }
html[data-menu] [data-ui="burger"] i:nth-child(2) { top: 21.5px; transform: rotate(-45deg); }
@media (max-width: 1150px) {
  [data-ui="burger"] { display: inline-block; }
  [data-ui="lang"] { margin-inline-start: auto; }
  .page-transition > header > div { flex-wrap: nowrap !important; gap: 8px !important; }
}
.isst-sheet {
  position: fixed; inset: 0; z-index: 45; overflow-y: auto; padding: 104px 32px 48px;
  background: rgba(255,255,255,.94); -webkit-backdrop-filter: saturate(180%) blur(24px); backdrop-filter: saturate(180%) blur(24px);
  opacity: 0; visibility: hidden; transition: opacity .35s ease, visibility 0s .35s;
}
html[data-menu] .isst-sheet { opacity: 1; visibility: visible; transition: opacity .35s ease, visibility 0s; }
.isst-sheet nav { max-width: 640px; margin: 0 auto; display: flex; flex-direction: column; }
.isst-sheet .grp { padding: 14px 0; border-bottom: 1px solid rgba(0,58,112,.08); opacity: 0; transform: translateY(-10px); transition: opacity .4s ease, transform .5s cubic-bezier(.22,1,.36,1); }
html[data-menu] .isst-sheet .grp { opacity: 1; transform: none; }
.isst-sheet .top { display: block; font-size: 26px; font-weight: 600; color: #003A70; letter-spacing: -.02em; text-decoration: none !important; padding: 4px 0; }
[dir="rtl"].isst-sheet .top { letter-spacing: 0; }
.isst-sheet .top[aria-current="page"], .isst-sheet .top:hover { color: #0072BC; }
.isst-sheet .subs { display: flex; flex-direction: column; margin-top: 6px; }
.isst-sheet .sub { font-size: 16px; font-weight: 500; color: #3d5a70; padding: 9px 0; text-decoration: none !important; }
.isst-sheet .sub:hover, .isst-sheet .sub[aria-current="page"] { color: #0072BC; }

@media print { [data-rv] { opacity: 1 !important; transform: none !important; } .isst-sheet, [data-ui="burger"] { display: none !important; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-delay: 0s !important; transition-duration: .01ms !important; }
  [data-rv] { opacity: 1 !important; transform: none !important; }
}
