:root {
  --bj-shadow-sm: 0 1px 2px rgba(7, 29, 43, 0.08), 0 8px 28px rgba(7, 29, 43, 0.06);
  --bj-shadow-lg: 0 24px 64px rgba(2, 20, 31, 0.2);
  --bj-border: rgba(13, 49, 66, 0.15);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
img { height: auto; }

:where(a, button, input, textarea, select, summary):focus-visible {
  outline: 3px solid #E0A633;
  outline-offset: 3px;
}

.wp-site-blocks { overflow: clip; }
.bj-shell { padding-inline: clamp(1rem, 3vw, 2rem); }
.bj-section { padding-block: clamp(3.75rem, 8vw, 7rem); }
.bj-section-sm { padding-block: clamp(2.5rem, 5vw, 4rem); }

.bj-kicker {
  color: var(--wp--preset--color--ocean);
  font-family: var(--wp--preset--font-family--data);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  margin-bottom: 0.85rem;
  text-transform: uppercase;
}

.bj-site-header {
  background: rgba(7, 29, 43, 0.97);
  border-bottom: 1px solid rgba(191, 229, 223, 0.16);
  color: #fff;
  position: relative;
  z-index: 20;
}

.bj-site-header .wp-block-site-logo img { max-height: 54px; width: auto; }
.bj-site-header .wp-block-site-title a,
.bj-site-header .wp-block-navigation a { color: #fff; text-decoration: none; }
.bj-site-header .wp-block-site-title { font-family: var(--wp--preset--font-family--editorial); letter-spacing: -0.02em; }
.bj-site-header .wp-block-navigation-item__content { border-radius: 999px; padding: 0.72rem 0.78rem; }
.bj-site-header .wp-block-navigation-item__content:hover { background: rgba(191, 229, 223, 0.1); color: #BFE5DF; }
.bj-site-header .wp-block-navigation__responsive-container-open,
.bj-site-header .wp-block-navigation__responsive-container-close { min-height: 44px; min-width: 44px; }

.bj-hero {
  background:
    radial-gradient(circle at 82% 25%, rgba(65, 185, 180, 0.2), transparent 28%),
    radial-gradient(circle at 73% 64%, rgba(191, 229, 223, 0.1), transparent 36%),
    linear-gradient(135deg, #071D2B 0%, #0D3142 62%, #0E6674 120%);
  color: #fff;
  min-height: 640px;
  overflow: hidden;
  padding-block: clamp(5rem, 10vw, 9rem);
  position: relative;
}

.bj-hero::after {
  border: 1px solid rgba(191, 229, 223, 0.18);
  border-radius: 48% 52% 58% 42%;
  box-shadow: 0 0 0 36px rgba(191, 229, 223, 0.025), 0 0 0 92px rgba(191, 229, 223, 0.018);
  content: "";
  height: clamp(260px, 34vw, 500px);
  position: absolute;
  right: clamp(-120px, 3vw, 3rem);
  top: 16%;
  transform: rotate(-12deg);
  width: clamp(260px, 34vw, 500px);
}

.bj-hero > * { position: relative; z-index: 1; }
.bj-hero h1 { color: #fff; max-width: 840px; }
.bj-hero .bj-lead { color: #D6EDEA; font-size: clamp(1.15rem, 1.7vw, 1.42rem); line-height: 1.6; max-width: 680px; }
.bj-hero .wp-block-button.is-style-outline .wp-block-button__link { border-color: rgba(255,255,255,.55); color: #fff; }

.bj-trust-strip { background: #fff; border-bottom: 1px solid var(--bj-border); box-shadow: var(--bj-shadow-sm); }
.bj-trust-item { align-items: flex-start; display: flex; gap: 0.75rem; }
.bj-trust-icon { color: #168C8C; font-family: var(--wp--preset--font-family--data); font-weight: 800; }

.bj-card {
  background: #fff;
  border: 1px solid var(--bj-border);
  border-radius: 18px;
  box-shadow: var(--bj-shadow-sm);
  height: 100%;
  overflow: hidden;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.bj-card:hover { border-color: rgba(14,102,116,.42); box-shadow: 0 16px 42px rgba(7,29,43,.1); transform: translateY(-3px); }
.bj-card h3 a { color: #071D2B; text-decoration: none; }
.bj-card h3 a:hover { color: #0E6674; }

.bj-safety {
  background: #FFF7F5;
  border: 1px solid rgba(185, 56, 47, 0.3);
  border-left: 7px solid #B9382F;
  border-radius: 18px;
  box-shadow: var(--bj-shadow-sm);
  padding: clamp(1.4rem, 3vw, 2.3rem);
}
.bj-safety .bj-kicker { color: #8E251E; }
.bj-safety h2, .bj-safety h3 { color: #651C17; }

.bj-source-panel { background: #EAF7F6; border: 1px solid rgba(14,102,116,.18); border-radius: 18px; padding: clamp(1.5rem, 3vw, 2.5rem); }
.bj-source-panel a { font-weight: 700; }

.bj-article-header { background: linear-gradient(180deg, #EAF7F6 0%, #F7F4ED 100%); border-bottom: 1px solid var(--bj-border); padding-block: clamp(3.5rem, 8vw, 6.5rem); }
.bj-article-header h1 { font-size: clamp(2.5rem, 6vw, 5rem); max-width: 980px; }
.bj-meta { color: #526A73; font-size: 0.9rem; }
.bj-meta a { color: #0E6674; }
.bj-featured img { border-radius: 20px; box-shadow: var(--bj-shadow-lg); max-height: 620px; object-fit: cover; width: 100%; }

.bj-article-body { font-size: clamp(1.04rem, 1.1vw, 1.15rem); }
.bj-article-body > h2 { margin-top: 2.8em; }
.bj-article-body > h3 { margin-top: 2em; }
.bj-article-body p, .bj-article-body li { max-width: 72ch; }
.bj-article-body a { font-weight: 650; }
.bj-article-body aside,
.bj-article-body .wp-block-group.has-warning-background-color { background: #FFF7F5; border-left: 6px solid #B9382F; border-radius: 12px; margin-block: 2rem; padding: 1.35rem 1.5rem; }
.bj-article-body table { background: #fff; border-collapse: collapse; font-size: 0.96rem; width: 100%; }
.bj-article-body th { background: #0D3142; color: #fff; text-align: left; }
.bj-article-body th, .bj-article-body td { border: 1px solid var(--bj-border); padding: 0.8rem; }

.bj-query-card { border-bottom: 1px solid var(--bj-border); padding-bottom: 1.5rem; }
.bj-query-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; border-radius: 14px; object-fit: cover; }
.bj-query-card .wp-block-post-title a { color: #071D2B; text-decoration: none; }
.bj-query-card .wp-block-post-title a:hover { color: #0E6674; }

.bj-site-footer { background: #071D2B; color: #CDE5E2; }
.bj-site-footer h2, .bj-site-footer h3, .bj-site-footer .wp-block-site-title a { color: #fff; }
.bj-site-footer a { color: #CDE5E2; }
.bj-site-footer .wp-block-navigation { align-items: flex-start; }
.bj-site-footer .wp-block-navigation-item__content { min-height: 44px; padding-block: 0.55rem; }

.wp-block-search__inside-wrapper { border-color: rgba(82,106,115,.45); border-radius: 999px; overflow: hidden; }
.wp-block-search__input { min-height: 46px; }
.wp-block-search__button { border-radius: 999px; margin: 3px; }

@media (max-width: 781px) {
  .bj-hero { min-height: auto; padding-block: 4.5rem; }
  .bj-hero::after { opacity: .45; right: -180px; }
  .bj-site-header .wp-block-navigation__responsive-container.is-menu-open { background: #071D2B; color: #fff; padding: 1.25rem; }
  .bj-site-header .wp-block-navigation__responsive-container-content { align-items: flex-start; }
  .bj-site-header .wp-block-navigation-item__content { font-size: 1.25rem; padding-block: 0.7rem; }
  .bj-article-header { padding-block: 3.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
