:root { --ks-radius: 28px; --ks-radius-sm: 18px; }
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks { overflow-x: clip; }
.ks-kicker { display:inline-flex; align-items:center; gap:.45rem; color:var(--wp--preset--color--cyan); font-size:.78rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
.ks-kicker::before { content:""; width:.55rem; height:.55rem; border-radius:99px; background:currentColor; box-shadow:16px 0 0 color-mix(in srgb, currentColor 45%, white); }
.ks-hero { position:relative; overflow:hidden; }
.ks-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 18%, rgba(23,184,212,.18), transparent 28rem), radial-gradient(circle at 10% 10%, rgba(8,42,85,.07), transparent 22rem); pointer-events:none; }
.ks-hero > * { position:relative; }
.ks-pill { display:inline-flex; align-items:center; gap:.45rem; padding:.42rem .72rem; border:1px solid rgba(8,42,85,.12); border-radius:999px; background:rgba(255,255,255,.76); color:var(--wp--preset--color--navy); font-weight:750; font-size:.9rem; }
.is-style-ks-card, .ks-card { border:1px solid rgba(8,42,85,.10); border-radius:var(--ks-radius); box-shadow:0 18px 55px rgba(8,42,85,.10); background:#fff; overflow:hidden; }
.is-style-ks-panel, .ks-panel { border:1px solid rgba(23,184,212,.20); border-radius:var(--ks-radius); background:linear-gradient(180deg, rgba(232,250,253,.95), rgba(255,255,255,.95)); }
.wp-block-image.is-style-ks-rounded img { border-radius:var(--ks-radius); }
.wp-block-button.is-style-outline > .wp-block-button__link { border-width:1.5px; }
.wp-block-button.is-style-ks-arrow .wp-block-button__link::after { content:" →"; }
.ks-meta { color:var(--wp--preset--color--muted); font-size:.95rem; }
.ks-soft-separator { height:1px; background:linear-gradient(90deg, transparent, rgba(8,42,85,.14), transparent); }
.ks-post-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; }
.ks-post-card { transition: transform .22s ease, box-shadow .22s ease; }
.ks-post-card:hover { transform: translateY(-3px); box-shadow:0 24px 70px rgba(8,42,85,.15); }
.ks-sticky { position: sticky; top: 1rem; }
.ks-logo-symbol { width:52px; height:52px; }
.ks-hide-empty:empty { display:none; }
@media (max-width: 780px) {
  .ks-mobile-center { text-align:center; }
  .ks-mobile-stack { flex-direction:column !important; align-items:flex-start !important; }
}

.ks-site-header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(12px); box-shadow: 0 1px 0 rgba(8,42,85,.08); }
