/* Homepage only. Never override slideshow geometry or navigation visibility. */
body.odin-ai-home {
  --odin-ink: #102944;
  --odin-muted: #52657b;
  --odin-blue: #005cb9;
  --odin-line: #dce6ef;
  --odin-font: "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
  --font-sans: var(--odin-font);
  --font-serif: var(--odin-font);
  color: var(--odin-ink);
  font-family: var(--odin-font);
  background: #f3f7fc;
}
.odin-ai-home .page-wrapper {
  background: #eef2ff;
}
.odin-ai-home .site-header__inner {
  background: #fff;
  box-shadow: 0 8px 32px #1234540c;
  border-bottom: 1px solid var(--odin-line);
}
.odin-ai-home .site-branding {
  background: linear-gradient(120deg, #082f5b, #006caa);
}
.odin-ai-home .site-branding__name {
  font-family: var(--odin-font);
  font-size: clamp(1.05rem, 1.5vw, 1.45rem);
  letter-spacing: -.025em;
}
.odin-ai-home .site-branding__name a { color: #fff; }
.odin-ai-home .primary-nav__menu-link-inner { font-weight: 600; }
.odin-ai-home .primary-nav__menu-link-inner::after { border-color: #007fbd; }
.odin-ai-home .region--hero {
  padding-block: clamp(20px, 3vw, 44px) 20px;
}
.odin-ai-home .view-odin-slideview-block {
  border: 1px solid var(--odin-line);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 18px 48px #17395112;
}
.odin-ai-home .odin-front-hotimg img { border-radius: 15px; }
.odin-ai-home .views-slideshow-controls-bottom { padding-block: 12px; }
.odin-ai-home .main-content__container { padding-block: 24px 40px; }
.odin-ai-home .view-frontpage .views-view-responsive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
}
.odin-ai-home .view-frontpage .views-view-responsive-grid__item {
  padding: 0;
  min-width: 0;
  border: 1px solid #ffffffeb;
  border-radius: 6px;
  background: linear-gradient(135deg, #ffffffc9, #ffffff70 50%, #ffffffa3);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 28px #393e7910;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.odin-ai-home .view-frontpage .views-view-responsive-grid__item:hover,
.odin-ai-home .view-frontpage .views-view-responsive-grid__item:focus-within {
  border-color: #aaa0f3;
  background: linear-gradient(110deg, #003D7B, #3d0577);
  box-shadow: 0 12px 30px #42307826;
}
.odin-ai-home .view-frontpage .views-view-responsive-grid__item-inner { padding: clamp(20px, 2.5vw, 32px); }
.odin-ai-home .view-frontpage .odin-front-title { margin: 0 0 16px; height: auto; }
.odin-ai-home .view-frontpage .odin-front-title a {
  font-family: var(--odin-font);
  color: var(--odin-ink);
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
  font-weight: 650;
  line-height: 1.6;
  text-decoration: none;
  overflow-wrap: anywhere;
}
.odin-ai-home .view-frontpage .odin-front-title a:hover { color: var(--odin-blue); text-decoration: underline; text-underline-offset: 5px; }
.odin-ai-home .view-frontpage .views-field-created p { margin: 0 0 14px; }
.odin-ai-home .view-frontpage time {
  color: var(--odin-muted);
  font-size: .8rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .05em;
}
.odin-ai-home .view-frontpage .views-field-body {
  color: var(--odin-muted);
  font-size: .95rem;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.odin-ai-home .view-frontpage .views-field-body p { margin-block: 0 12px; }
.odin-ai-home .view-frontpage .views-view-responsive-grid__item:is(:hover, :focus-within) .odin-front-title a,
.odin-ai-home .view-frontpage .views-view-responsive-grid__item:is(:hover, :focus-within) .views-field-body,
.odin-ai-home .view-frontpage .views-view-responsive-grid__item:is(:hover, :focus-within) .views-field-body a { color: #fff; }
.odin-ai-home .view-frontpage .views-view-responsive-grid__item:is(:hover, :focus-within) time { color: #dddff8; }
.odin-ai-home .view-frontpage .views-view-responsive-grid__item a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
.odin-ai-home .view-frontpage .view-footer { margin-top: 28px; }
.odin-ai-home .view-frontpage .view-footer a {
  display: inline-flex;
  padding: 12px 24px;
  border: 1px solid #becfde;
  border-radius: 5px;
  background: #fff;
  text-decoration: none;
}
.odin-ai-home .region--content-below {
  padding: 24px;
  border: 1px solid var(--odin-line);
  border-radius: 6px;
  background: #edf4fa;
}
.odin-ai-home .site-footer { background: #e9f0f7; border-top: 1px solid #d2deeb; }
.odin-ai-home .site-footer__inner { padding-block: 36px; }
.odin-ai-home .site-footer .text-content { color: var(--odin-muted); }
.odin-ai-home .site-footer .block__title { color: var(--odin-ink); }
.odin-ai-home .site-footer a { color: #355b79; }
.odin-ai-home .site-header__initial,
.odin-ai-home .sticky-header-toggle { background-color: #082f5b; }
.odin-ai-home .region--hero { padding-inline: var(--container-padding); }
.odin-ai-home .view-odin-slideview-block { margin-inline: auto; }
.odin-ai-home .region--sidebar .block {
  padding: 20px;
  border: 1px solid var(--odin-line);
  border-radius: 6px;
  background: #fff;
}
.odin-ai-home .region--sidebar .block__title { font-size: 1rem; color: var(--odin-ink); }
.odin-ai-home .region--sidebar a { line-height: 1.8; }
.odin-ai-home .region--content-below a { color: var(--odin-blue); }
.odin-ai-home .view-frontpage .view-footer a {
  /* Existing Views footer has inline presentation; override only this link. */
  color: #075a9b !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
}
.odin-ai-home .form-element--type-search { border-radius: 10px; }
.odin-ai-home :where(a, button, input):focus-visible { outline: 3px solid #0077b6; outline-offset: 4px; }
@media (max-width: 43.74rem) {
  .odin-ai-home .view-frontpage .views-view-responsive-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .odin-ai-home .region--content-below { padding: 16px; overflow-wrap: anywhere; }
  .odin-ai-home .site-branding__name { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .odin-ai-home .view-frontpage .views-view-responsive-grid__item { transition: none; }
}

/* Edge-to-edge hero; retain Cycle's display, opacity and transition handling. */
.odin-ai-home .region--hero { padding: 0; }
.odin-ai-home .view-odin-slideview-block {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: #0b293e;
}
.odin-ai-home .view-odin-slideview-block .skin-default { position: relative; }
.odin-ai-home .view-odin-slideview-block .views_slideshow_cycle_teaser_section {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1480 / 450;
}
.odin-ai-home .view-odin-slideview-block .views_slideshow_cycle_slide {
  width: 100% !important;
  height: auto !important;
}
.odin-ai-home .odin-front-hotimg img {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  border-radius: 0;
}
.odin-ai-home .view-odin-slideview-block .views-slideshow-controls-bottom {
  position: absolute;
  inset: auto 0 12px;
  z-index: 10;
  padding: 0;
  pointer-events: none;
}
.odin-ai-home .view-odin-slideview-block .views-slideshow-pager-bullets { margin: 0; padding: 0; }
.odin-ai-home .view-odin-slideview-block .views-slideshow-pager-bullets li {
  box-sizing: border-box;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 9px solid transparent;
  border-radius: 50%;
  background: #808080;
  background-clip: padding-box;
  filter: none;
  pointer-events: auto;
}
.odin-ai-home .view-odin-slideview-block .views-slideshow-pager-bullets li.active { background-color: rgb(128 128 128 / 50%); }
.odin-ai-home .view-odin-slideview-block .views-slideshow-pager-bullets li:hover { background-color: #808080; }
.odin-ai-home .view-odin-slideview-block .views-slideshow-pager-bullets li.active:hover { background-color: rgb(128 128 128 / 50%); }
@media (max-width: 43.74rem) {
  .odin-ai-home .view-odin-slideview-block .views-slideshow-controls-bottom { inset-block-end: 2px; }
}
