:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#161616;background:#fff}*{box-sizing:border-box}body{margin:0}.vp-shell{max-width:1120px;margin:0 auto;padding-left:28px;padding-right:28px}.vp-site-header{border-bottom:1px solid #e8e8e8;background:#fff}.vp-header-inner{height:72px;display:flex;align-items:center;justify-content:space-between}.vp-brand{font-weight:800;text-decoration:none;color:#111}.vp-nav{display:flex;gap:22px}.vp-nav a{color:#555;text-decoration:none}.vp-site-footer{border-top:1px solid #e8e8e8;margin-top:40px}.vp-footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#666}.vp-hero,.vp-section{max-width:1120px;margin:0 auto;padding:72px 28px}.vp-hero{padding-top:110px;padding-bottom:110px}.vp-eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:800;margin-bottom:14px}.vp-hero h1{font-size:clamp(42px,7vw,82px);line-height:.98;letter-spacing:-.055em;max-width:900px;margin:0 0 24px}.vp-hero p,.vp-section p{font-size:18px;line-height:1.7;max-width:760px;color:#555}.vp-section h2{font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;margin:0 0 20px}.vp-button{display:inline-block;margin-top:22px;padding:13px 18px;border-radius:999px;background:#111;color:#fff;text-decoration:none;font-weight:700}.vp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.vp-card{padding:24px;border:1px solid #e4e4e4;border-radius:18px}.vp-card h3{margin-top:0}.vp-cta{background:#111;color:#fff;max-width:none;padding-left:max(28px,calc((100vw - 1064px)/2));padding-right:max(28px,calc((100vw - 1064px)/2))}.vp-cta p{color:#ccc}.vp-cta .vp-button{background:#fff;color:#111}@media(max-width:700px){.vp-shell{padding-left:20px;padding-right:20px}.vp-header-inner{height:64px}.vp-nav{gap:14px}.vp-hero,.vp-section{padding:52px 20px}.vp-hero{padding-top:72px;padding-bottom:72px}.vp-footer-inner{align-items:flex-start;flex-direction:column;justify-content:center}}
.vp-image img{display:block;width:100%;height:auto;border-radius:18px}.vp-image figcaption{margin-top:10px;color:#777;font-size:14px}

/* VidalPress public blog */
.vp-blog-index,
.vp-blog-post {
    max-width: 720px;
    margin: 0 auto;
    padding: 40px 24px 64px;
}
.vp-blog-index h1 {
    font-size: 2rem;
    line-height: 1.2;
    margin: 0 0 24px;
}
.vp-blog-card {
    background: #fff;
    border: 1px solid #e6e9f0;
    border-radius: 12px;
    padding: 22px;
    box-shadow: 0 1px 3px rgba(11,31,58,.06);
    transition: transform .15s ease, box-shadow .15s ease;
    display: flex;
    flex-direction: column;
}
.vp-blog-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(11,31,58,.12);
}
.vp-blog-card > p:last-child {
    margin-top: auto;
    padding-top: 10px;
}
.vp-cards,
#vp-blog-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
}
#vp-blog-results[hidden] {
    display: none;
}
.vp-blog-card.vp-extra {
    display: none;
}
.vp-topic.vp-expanded .vp-blog-card.vp-extra,
.vp-blog-index.vp-expanded .vp-blog-card.vp-extra {
    display: flex;
}
.vp-more-btn {
    margin-top: 16px;
    padding: 10px 22px;
    border: 1px solid #0b1f3a;
    background: #fff;
    color: #0b1f3a;
    border-radius: 999px;
    font-weight: 600;
    cursor: pointer;
}
.vp-more-btn:hover {
    background: #0b1f3a;
    color: #fff;
}
/* --- Blog accordion (core 6.6.8): sections start collapsed --- */
.vp-topic > h2 {
    cursor: pointer;
    user-select: none;
}
.vp-topic > h2::after {
    content: ' \25B8';
    color: #8a94a6;
    font-size: .8em;
}
.vp-topic.vp-open > h2::after {
    content: ' \25BE';
}
.vp-topic .vp-cards,
.vp-topic .vp-more-btn {
    display: none;
}
.vp-topic.vp-open .vp-cards {
    display: grid;
}
.vp-topic.vp-open .vp-more-btn {
    display: inline-block;
}
.vp-blog-card h2 {
    font-size: 1.35rem;
    line-height: 1.35;
    margin: 0 0 8px;
}
.vp-blog-card h2 a {
    color: inherit;
    text-decoration: none;
}
.vp-blog-card h2 a:hover {
    text-decoration: underline;
}
.vp-blog-card p {
    margin: 0 0 10px;
    line-height: 1.65;
}
.vp-blog-post h1 {
    font-size: 2.1rem;
    line-height: 1.25;
    margin: 0 0 12px;
}
.vp-blog-back {
    margin: 0 0 20px;
    font-size: 0.95rem;
}
.vp-blog-back a {
    color: inherit;
}
.vp-blog-meta {
    color: #6b6b6b;
    font-size: 0.92rem;
    margin: 0 0 24px;
}
.vp-blog-featured {
    margin: 0 0 28px;
}
.vp-blog-featured img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
}
.vp-blog-excerpt {
    font-size: 1.12rem;
    line-height: 1.7;
    color: #333;
    margin: 0 0 24px;
}
.vp-blog-content {
    font-size: 1.05rem;
    line-height: 1.75;
    color: #1d1d1d;
}
.vp-blog-content p {
    margin: 0 0 1.2em;
}
.vp-blog-content h2 {
    font-size: 1.5rem;
    line-height: 1.35;
    margin: 1.6em 0 0.6em;
}
.vp-blog-content h3 {
    font-size: 1.25rem;
    line-height: 1.4;
    margin: 1.5em 0 0.5em;
}
.vp-blog-content img {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
}
.vp-blog-content ul,
.vp-blog-content ol {
    margin: 0 0 1.2em;
    padding-left: 1.4em;
}
.vp-blog-content li {
    margin: 0.4em 0;
}
.vp-blog-content blockquote {
    margin: 0 0 1.2em;
    padding: 12px 20px;
    border-left: 3px solid #c9a24b;
    color: #444;
    font-style: italic;
}
.vp-blog-tags {
    margin-top: 32px;
    font-size: 0.9rem;
    color: #6b6b6b;
}
.vp-blog-search {
    margin: 0 0 8px;
}
.vp-blog-search input[type="search"] {
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    font-size: 1rem;
    line-height: 1.4;
    border: 1px solid #cfd6e4;
    border-radius: 10px;
    background: #fff;
}
.vp-blog-search input[type="search"]:focus {
    outline: 2px solid #0b1f3a;
    outline-offset: 1px;
    border-color: #0b1f3a;
}
.vp-blog-search-count {
    margin: 8px 0 0;
    font-size: 0.95rem;
    color: #5a6b8c;
}
@media (max-width: 640px) {
    .vp-blog-index,
    .vp-blog-post {
        padding: 32px 18px 48px;
    }
    .vp-blog-post h1 {
        font-size: 1.7rem;
    }
}
/* --- Blog topics (core 6.6.6): cards grid --- */
.vp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 28px;
}
.vp-chip {
    border: 1px solid #d8d8d8;
    background: #fff;
    border-radius: 999px;
    padding: 8px 16px;
    font-size: 0.9rem;
    cursor: pointer;
    color: inherit;
}
.vp-chip.is-active {
    background: #0b1f3a;
    color: #fff;
    border-color: #0b1f3a;
}
.vp-topic {
    margin: 0 0 40px;
}
.vp-topic > h2 {
    font-size: 1.5rem;
    margin: 0 0 8px;
    padding-bottom: 8px;
    border-bottom: 2px solid #0b1f3a;
}
.vp-topic-count {
    display: inline-block;
    min-width: 28px;
    text-align: center;
    font-size: 0.85rem;
    background: #eef2f7;
    color: #0b1f3a;
    border-radius: 999px;
    padding: 2px 10px;
    vertical-align: middle;
}
.vp-topic .vp-blog-card h3 {
    font-size: 1.15rem;
    margin: 0 0 6px;
}
.vp-series {
    background: #f7f9fc;
    border: 1px solid #e3e9f2;
    border-radius: 12px;
    padding: 24px;
    margin: 0 0 40px;
}
.vp-series h2 {
    font-size: 1.4rem;
    margin: 0 0 8px;
}
.vp-series p {
    margin: 0 0 4px;
}
.vp-series ol {
    margin: 12px 0 0 20px;
    padding: 0;
}
.vp-series li {
    margin: 6px 0;
}
.vp-en-card {
    display: block;
    border: 1px solid #e3e9f2;
    border-radius: 12px;
    padding: 20px 24px;
    margin: 0 0 40px;
    text-decoration: none;
    color: inherit;
    background: #fff;
}
.vp-en-card-title {
    display: block;
    font-size: 1.25rem;
    font-weight: 700;
}
.vp-en-card-more {
    color: #1a56db;
}
.vp-related {
    margin: 40px 0 0;
    padding-top: 24px;
    border-top: 1px solid #e8e8e8;
}
.vp-related h2 {
    font-size: 1.3rem;
    margin: 0 0 12px;
}
.vp-related ul {
    margin: 0;
    padding-left: 20px;
}
.vp-related li {
    margin: 6px 0;
}