:root {
  --fx-grid-line: rgba(26, 46, 92, 0.05);
  --fx-border: rgba(26, 46, 92, 0.12);
  --fx-ease: cubic-bezier(0.22, 1, 0.36, 1);
}
/* 1. Global thin grid background */
body {
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: -10%;
  background:
    radial-gradient(900px 620px at 78% -6%, rgba(91,141,217,0.18), transparent 60%),
    radial-gradient(700px 520px at -8% 28%, rgba(197,217,247,0.45), transparent 65%),
    radial-gradient(620px 460px at 95% 75%, rgba(137,180,240,0.15), transparent 65%);
  pointer-events: none;
  z-index: 0;
  animation: fxDrift 28s ease-in-out infinite alternate;
}

body::after {
  content: "";
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(var(--fx-grid-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--fx-grid-line) 1px, transparent 1px);
  background-size: 56px 56px;
  opacity: 0.55;
  pointer-events: none;
  z-index: 0;
  mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, black 30%, transparent 75%);
  -webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 30%, black 30%, transparent 75%);
}

.site,
.site-content,
.entry-content,
.wp-site-blocks {
  position: relative;
  z-index: 1;
}

@keyframes fxDrift {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-1.5%, 1.2%, 0) scale(1.04); }
  100% { transform: translate3d(1.2%, -1%, 0) scale(1.02); }
}

/* ===== HERO VISUAL: full replacement ===== */

.hero-visual {
  position: relative;
  isolation: isolate;
}

/* soft blue glow behind image */
.hero-visual.hero-visual--blob::before {
  content: "";
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(91, 141, 217, 0.18) 0%,
    rgba(197, 217, 247, 0.28) 42%,
    transparent 68%
  );
  filter: blur(42px);
  z-index: 0;
  pointer-events: none;
}

/* image: keep Kadence sizing, only apply blob shape + overlay */
.hero-visual__circle {
  z-index: 1;
  overflow: hidden;
  max-width: 450px !important;
  border-radius: 42% 58% 62% 38% / 45% 55% 45% 55%;
  animation: fxMorphBlob 12s ease-in-out infinite;
  box-shadow:
    0 0 0 1px rgba(26, 46, 92, 0.10),
    0 40px 80px rgba(26, 46, 92, 0.14);
}

.hero-visual__circle .kb-is-ratio-image,
.hero-visual__circle img {
  width: 100%;
  height: 100%;

}

.hero-visual__circle img {
  object-fit: cover;
}

.hero-visual__circle::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(
    180deg,
    transparent 58%,
    rgba(247, 249, 252, 0.22)
  );
  pointer-events: none;
}

/* keep cards above everything */
.hero-visual .visual-card--floating-1,
.hero-visual .visual-card--floating-2 {
  z-index: 25;
}

/* optional soft card float */
.hero-visual .visual-card--floating-1 {
  animation: fxFloatA 7s ease-in-out infinite reverse;
}

.hero-visual .visual-card--floating-2 {
  animation: fxFloatB 6s ease-in-out infinite;
}

/* ===== ORBITS ===== */
/* outer wrapper positions the orbit only */
.hero-visual__orbit {
  position: absolute;
  left: 50%;
  top: 50%;
  width: var(--orbit-size, 320px);
  height: var(--orbit-size, 320px);
  margin-left: calc(var(--orbit-size, 320px) / -2);
  margin-top: calc(var(--orbit-size, 320px) / -2);
  pointer-events: none;
  z-index: 1;
}

/* inner ring rotates, so centering does not break */
.hero-visual__orbit-ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

/* orbit 1 */
.hero-visual__orbit--1 .hero-visual__orbit-ring {
  border: 1px solid rgba(26, 46, 92, 0.08);
  animation: fxOrbitSpin 40s linear infinite;
}

.hero-visual__orbit--1 .hero-visual__orbit-ring::before {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  background: #2d4a8a;
  border-radius: 50%;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 0 16px rgba(45, 74, 138, 0.40);
}

/* orbit 2 */
.hero-visual__orbit--2 .hero-visual__orbit-ring {
  border: 1px solid rgba(26, 46, 92, 0.05);
  animation: fxOrbitSpin 55s linear infinite reverse;
}

.hero-visual__orbit--2 .hero-visual__orbit-ring::before {
  content: "";
  position: absolute;
  width: 6px;
  height: 6px;
  right: -3px;
  bottom: 15%;
  background: #89b4f0;
  border-radius: 50%;
  box-shadow: 0 0 12px rgba(137, 180, 240, 0.9);
}

/* orbit 3 */
.hero-visual__orbit--3 .hero-visual__orbit-ring {
  border: 1px dashed rgba(26, 46, 92, 0.04);
  animation: fxOrbitSpin 70s linear infinite;
}

/* ===== ANIMATIONS ===== */

@keyframes fxOrbitSpin {
  to {
    transform: rotate(360deg);
  }
}

@keyframes fxMorphBlob {
  0%, 100% {
    border-radius: 42% 58% 62% 38% / 45% 55% 45% 55%;
  }
  25% {
    border-radius: 55% 45% 38% 62% / 52% 48% 52% 48%;
  }
  50% {
    border-radius: 38% 62% 55% 45% / 48% 52% 55% 45%;
  }
  75% {
    border-radius: 62% 38% 42% 58% / 55% 45% 38% 62%;
  }
}

@keyframes fxFloatA {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

@keyframes fxFloatB {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}

/* ===== MOBILE ===== */

@media (max-width: 767px) {
  .hero-visual .visual-card--floating-1,
  .hero-visual .visual-card--floating-2 {
    animation-duration: 5s;
  }
}

/* ===== REDUCED MOTION ===== */

@media (prefers-reduced-motion: reduce) {
  .hero-visual__circle,
  .hero-visual__orbit-ring,
  .hero-visual .visual-card--floating-1,
  .hero-visual .visual-card--floating-2 {
    animation: none !important;
  }
}

/* Link */
.entries .entry-meta a{
	background-color:rgba(255,255,255,0.6);
	backdrop-filter:blur(5px);
	color:#2d4a8a;
	padding-left:16px;
	padding-right:16px;
	padding-top:6px;
	padding-bottom:6px;
	border-radius:50px;
}

.entry-card{
	position: relative;
}

.entry-card .entry-meta[data-id="meta_2"]{
	position: absolute;
	top: 20px;
	left: 20px;
	z-index: 20;
	margin: 0;
}

/* Optional keep image below properly */
.entry-card .ct-media-container{
	position: relative;
	z-index: 1;
}

/* Post Division */
#main section .hentry{
	padding-top:0px;
	overflow:hidden;
}

/* Element button */
.entries .hentry .wp-element-button{
	border-bottom-style:solid;
	border-bottom-width:1px;
	border-bottom-left-radius:0px;
	border-bottom-right-radius:0px;
	padding-left:0px;
	padding-right:0px;
}

/* Link (hover) */
.entries .entry-meta a:hover{
	background-color:rgba(255,255,255,0.6);
	color:#2d4a8a;
}

.kt-row-layout-right-golden .wp-block-kadence-column li{
	background-color:rgba(255,255,255,0.6)!important;
	backdrop-filter:blur(5px);
	color:#2d4a8a;
	padding-left:16px !important;
	padding-right:16px!important;
	padding-top:8px!important;
	padding-bottom:8px!important;
	border-radius:50px!important;
}

/* Button ghost */
#header div .ct-button-ghost{
	border-width:1px;
}

.kb-theme-content-width .wp-block-kadence-column :is(h1, h2, h3, h4) em{
	font-family: 'Instrument Serif';
	font-weight: 500;
}

/* Span Tag */
.gradient1-bg-icon.wp-block-kadence-single-icon span{
	background-image:linear-gradient(135deg, rgba(197,217,247,0.75) 0%, #ffffff 75%) !important;
}

/* Icon list single */
.gradient-bg-list .wp-block-kadence-listitem .kt-svg-icon-list-single{
	background-image:linear-gradient(135deg, #15264f 0%, #395aa2 60%);
}

/* Table data */
.kb-table tbody .kb-table-row3287_9c5906-5f .kb-table-data{
	background-color:#f7f9fc;
}

/* Table */
.hentry .wp-block-kadence-table .kb-table{
	border-radius:24px;
	overflow:hidden;
}

/* Count process */
.hentry .wp-block-kadence-column .kb-count-up-process{
	background-image: linear-gradient(141deg, #15264f 0%, #2d4a8a 81%);
	-webkit-text-fill-color: transparent;
	background-clip: text;
	color: transparent;
	-webkit-font-smoothing: antialiased;
}

/* Post Division */
.flexy-items .flexy-item .hentry{
	padding-top:0px;
	overflow:hidden;
}



