/* Jednotná modrá paleta pro celý web. */
:root {
  --ink: #10243f;
  --muted: #61718a;
  --mint: #e6efff;
  --paper: #fbfcff;
  --line: #d7e1f2;
  --accent: #1267e9;
  --dark: #102f5c;
}
.site-header {
  right: auto;
  left: 50%;
  width: calc(100% - 32px);
  max-width: 1216px;
  transform: translateX(-50%);
  border: 0;
  background: rgba(246, 249, 255, .84);
  box-shadow: 0 12px 35px rgba(25, 64, 128, .11);
  isolation: isolate;
}
.site-header::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  padding: 1px;
  border-radius: inherit;
  background: linear-gradient(to top, rgba(24,104,232,.76), rgba(83,135,255,.06));
  pointer-events: none;
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}
.site-header .nav-wrap { position: relative; z-index: 1; }
.brand-mark, .service-icon, .visual-note .material-symbols-rounded, .map-placeholder > .material-symbols-rounded { color: #1267e9; }
.brand-logo { width: 31px; height: 31px; flex: 0 0 31px; object-fit: contain; }
.intro, footer { background: #edf3ff; }
.hero-reference .hero-visual { background: linear-gradient(145deg, #e4edf9 0%, #c4d4ea 52%, #90a9c9 100%); }
.hero-reference h1 em { color: #1267e9; }
.hero-photo::before { background: radial-gradient(circle at 57% 36%, rgba(255,255,255,.7) 0 4%, transparent 20%), linear-gradient(110deg, transparent 0 46%, rgba(255,255,255,.3) 47% 56%, transparent 57%); }
.photo-overlay { color: #4c6686; }
.visual-note { color: var(--ink); }
.appointment { background: #102f5c; }
.appointment .eyebrow { color: #aac9ff; }
.appointment p:not(.eyebrow) { color: #d2dff5; }
.button-light { color: #102f5c; background: #edf4ff; }
.map-placeholder { background: #e3edfa; color: #536d90; }
.map-placeholder strong { color: var(--ink); }
.site-header .button-small { background: #1267e9; }
.site-header .button-small:hover { background: #0c55c6; }
.operation-update { max-width: 1216px; margin: 92px auto 0; padding: 0; display: grid; grid-template-columns: .8fr 1.2fr; gap: 70px; }
.operation-update-heading h2 { margin: 0; color: var(--ink); font-size: clamp(31px, 3.4vw, 46px); letter-spacing: -.05em; line-height: 1.02; }
.operation-update-copy { padding: 29px 32px; border: 1px solid #cadbf4; border-radius: 20px; background: #f2f6ff; }
.operation-update-copy p { margin: 0; color: #415675; font-size: 15px; line-height: 1.64; }
.operation-update-copy p + p { margin-top: 17px; padding-top: 17px; border-top: 1px solid #dbe6f8; }
@media (max-width: 1280px) { .operation-update { margin-right: 32px; margin-left: 32px; } }
@media (max-width: 850px) {
  .site-header { right: auto; left: 50%; width: calc(100% - 24px); }
  .site-header nav.is-open { background: rgba(248, 251, 255, .96); }
  .operation-update { grid-template-columns: 1fr; gap: 28px; margin-top: 65px; }
}
@media (max-width: 520px) { .operation-update { margin-right: 20px; margin-left: 20px; } .operation-update-copy { padding: 23px 20px; } }
