/* Hero v1: natural scrolling, one prioritized poster, optional desktop video. */
.hcor-hero {
  position: relative; isolation: isolate; display: flex; align-items: center;
  width: 100%; min-height: min(780px, calc(100svh - 102px)); margin-top: 102px;
  overflow: hidden; background: #071b2e; color: #fff; font-family: "Plus Jakarta Sans", Arial, sans-serif;
}
.hcor-hero__media, .hcor-hero__image, .hcor-hero__video, .hcor-hero__shade {
  position: absolute; inset: 0; width: 100%; height: 100%;
}
.hcor-hero__media { z-index: -1; pointer-events: none; }
.hcor-hero__image, .hcor-hero__video { object-fit: cover; object-position: center; }
.hcor-hero__video { opacity: 0; transition: opacity .45s ease; }
.hcor-hero__video.is-ready { opacity: 1; }
.hcor-hero__shade {
  background: linear-gradient(90deg, rgba(4,19,35,.97) 0%, rgba(4,19,35,.88) 36%, rgba(4,19,35,.48) 72%, rgba(4,19,35,.32)),
    linear-gradient(0deg, rgba(4,19,35,.45), transparent 65%);
}
.hcor-hero__content { width: 100%; max-width: 1280px; margin: 0 auto; padding: 72px 32px; }
.hcor-hero__eyebrow {
  display: flex; align-items: center; gap: 10px; margin: 0 0 24px;
  color: #b4e8ff; font-size: 12px; font-weight: 750; letter-spacing: .12em; text-transform: uppercase;
}
.hcor-hero__eyebrow > span { width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #66cefa; }
.hcor-hero h1 { max-width: 850px; margin: 0; color: #fff; font-size: clamp(36px,4.7vw,66px); font-weight: 800; line-height: 1.12; letter-spacing: -.045em; }
.hcor-hero h1 > span { color: #7dd4fb; }
.hcor-hero__description { max-width: 535px; margin: 26px 0 32px; color: #e1eaf2; font-size: 17px; line-height: 1.75; }
.hcor-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hcor-hero__action {
  display: inline-flex; justify-content: center; align-items: center; gap: 9px;
  min-height: 52px; padding: 14px 19px; border: 1px solid transparent; border-radius: 12px;
  font: inherit; font-size: 13px; font-weight: 750; line-height: 1.3; cursor: pointer;
  text-align: center; transition: background-color .18s, border-color .18s;
}
.hcor-hero__action svg { flex-shrink: 0; }
.hcor-hero__action--primary { color: #fff; background: #087cab; border-color: #40b8e6; }
.hcor-hero__action--primary:hover { background: #096487; }
.hcor-hero__action--secondary { color: #fff; background: #122c42; border-color: #70889b; }
.hcor-hero__action--secondary:hover { background: #20435e; }
.hcor-hero__action--emergency { color: #ffe9ea; background: #48232d; border-color: #ce7e89; }
.hcor-hero__action--emergency:hover { background: #63303b; }
.hcor-hero__action:focus-visible, .hcor-hero__playback:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.hcor-hero__location { margin: 26px 0 0; color: #c5d8e6; font-size: 12px; letter-spacing: .01em; }
.hcor-hero__location > span { color: #6e98b6; padding: 0 6px; }
.hcor-hero__playback {
  position: absolute; right: 28px; bottom: 24px; display: inline-flex; gap: 8px; align-items: center;
  min-height: 44px; padding: 9px 14px; border: 1px solid #849bac; border-radius: 24px;
  background: #081c30; color: #fff; font: inherit; font-size: 12px; cursor: pointer;
}
.hcor-hero__following { position: relative; background: #f1f5f9; padding-top: 18px; }
@media (max-width: 1023px) {
  .hcor-hero__content { padding: 54px 26px; }
  .hcor-hero__shade { background: linear-gradient(90deg,rgba(4,19,35,.96),rgba(4,19,35,.70)); }
  .hcor-hero__action { padding-inline: 15px; }
}
@media (max-width: 639px) {
  .hcor-hero { margin-top: 66px; min-height: calc(100svh - 66px); }
  .hcor-hero__content { padding: 34px 22px; }
  .hcor-hero__eyebrow { margin-bottom: 22px; font-size: 10px; letter-spacing: .09em; }
  .hcor-hero h1 { font-size: clamp(31px,8.3vw,47px); line-height: 1.15; }
  .hcor-hero__description { margin: 22px 0 26px; font-size: 14px; line-height: 1.7; max-width: 440px; }
  .hcor-hero__actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .hcor-hero__action { min-height: 48px; font-size: 13px; }
  .hcor-hero__location { margin-top: 24px; font-size: 10px; }
  .hcor-hero__image { object-position: 62% center; }
  .hcor-hero__shade { background: linear-gradient(90deg,rgba(4,19,35,.94),rgba(4,19,35,.80)); }
  .hcor-hero__following { padding-top: 8px; }
}
@media (max-height: 740px) and (max-width: 639px) {
  .hcor-hero__content { padding-top: 24px; padding-bottom: 24px; }
  .hcor-hero__eyebrow { margin-bottom: 14px; }
  .hcor-hero__description { margin: 16px 0 20px; }
  .hcor-hero__location { margin-top: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .hcor-hero *, .hcor-hero *::before, .hcor-hero *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Institutional anti-fraud notice: static, readable, with session dismissal. */
.hcor-security-notice {
  margin-top: 102px; padding: 20px 32px; border-bottom: 1px solid #e4c780;
  background: #fff5dc; color: #533d14; font-family: "Plus Jakarta Sans", Arial, sans-serif;
}
.hcor-security-notice__inner { max-width: 1216px; margin: 0 auto; display: grid; grid-template-columns: 32px minmax(0,1fr); gap: 16px; align-items: start; }
.hcor-security-notice__inner > svg { color: #94600a; margin-top: 3px; }
.hcor-security-notice__title { display: block; margin-bottom: 6px; font-size: 17px; font-weight: 800; line-height: 1.4; }
.hcor-security-notice__message { display: block; font-size: 14px; line-height: 1.65; }
.hcor-security-notice__message strong { font-weight: 800; }
.hcor-hero { margin-top: 0; min-height: min(680px,calc(100svh - 250px)); }
@media(max-width: 639px) {
  .hcor-security-notice { margin-top: 66px; padding: 18px 20px; }
  .hcor-security-notice__inner { grid-template-columns: 24px minmax(0,1fr); gap: 10px; }
  .hcor-security-notice__inner > svg { width: 24px; height: 24px; }
  .hcor-security-notice__title { font-size: 15px; line-height: 1.4; }
  .hcor-security-notice__message { font-size: 13px; line-height: 1.6; }
  .hcor-hero { margin-top: 0; min-height: 0; }
}


/* The fixed header offset belongs to the page shell, even when the notice is closed. */
.hcor-page-start { padding-top: 102px; }
.hcor-security-notice { margin-top: 0; }
.hcor-security-notice__inner { position: relative; }
.hcor-security-notice__title { padding-right: 46px; }
.hcor-security-notice__close {
  position: absolute; top: -6px; right: -10px; display: inline-flex;
  align-items: center; justify-content: center; width: 44px; height: 44px;
  padding: 10px; color: #654910; background: transparent; border: 1px solid transparent;
  border-radius: 8px; cursor: pointer;
}
.hcor-security-notice__close:hover { background: #f4e2b5; border-color: #dfc582; }
.hcor-security-notice__close:focus-visible { outline: 3px solid #67490a; outline-offset: 2px; }
.hcor-inner-page { padding-top: 0; }
@media(max-width: 639px) {
  .hcor-page-start { padding-top: 66px; }
  .hcor-security-notice { margin-top: 0; }
}



/* Requested emergency emphasis: slow light pulse, keeping the existing red palette. */
.hcor-hero__action--emergency { position: relative; isolation: isolate; border-color: #ef94a0; font-weight: 800; }
.hcor-hero__action--emergency::before,
.hcor-hero__action--emergency::after { content: ""; position: absolute; border-radius: inherit; pointer-events: none; z-index: -1; opacity: 0; }
.hcor-hero__action--emergency::before { inset: -4px; border: 2px solid #ef94a0; animation: hcor-emergency-ring 2s ease-out infinite; }
.hcor-hero__action--emergency::after { inset: 0; background: #bd3950; animation: hcor-emergency-light 2s ease-in-out infinite; }
@keyframes hcor-emergency-ring { 0% { transform: scale(1); opacity: .65; } 80%,100% { transform: scale(1.065,1.18); opacity: 0; } }
@keyframes hcor-emergency-light { 0%,100% { opacity: 0; } 45%,55% { opacity: .5; } }
.hcor-hero__location { font-size: 18px; font-weight: 800; line-height: 1.5; color: #f1f8ff; }
.hcor-hero__location > span { color: #b9dff3; font-weight: 800; }
@media(max-width: 639px) { .hcor-hero__location { font-size: 16px; font-weight: 800; } }
@media(prefers-reduced-motion: reduce) {
  .hcor-hero__action--emergency::before,
  .hcor-hero__action--emergency::after { animation: none; opacity: 0; }
}

