.vp-page{--ink:#07130F;--pine:#0B2A22;--emerald:#0A7B5B;--emerald-d:#075E45;--mint:#46E0B0;--gold:#F2B544;--paper:#F3F6F4;--surface:#FFFFFF;--text:#0F1F1C;--muted:#4A5B57;--line:#D9E2DE;--tint:#E3F2EC;--ease:cubic-bezier(.16,1,.3,1);font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);line-height:1.7;font-size:1.0625rem;-webkit-font-smoothing:antialiased}
.vp-page *,.vp-page *::before,.vp-page *::after{box-sizing:border-box}
.vp-page ::selection{background:var(--gold);color:#2A1B00}
.vp-page .wrap{max-width:1240px;margin:0 auto;padding:0 24px;position:relative}
.vp-page a:focus-visible,.vp-page button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.vp-hero{position:relative;overflow:hidden;background-color:#0B2A22!important;background:linear-gradient(180deg,var(--ink),var(--pine));color:#fff;padding:72px 0 112px}
.vp-hero .grid-bg{position:absolute;inset:0;opacity:.45;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 30%,#000 0%,transparent 70%);pointer-events:none}
.vp-orb{position:absolute;border-radius:50%;filter:blur(70px);pointer-events:none;will-change:transform}
.vp-orb.o1{width:460px;height:460px;background:#0A7B5B;right:-60px;top:-140px;opacity:.55;animation:vpD1 22s ease-in-out infinite alternate}
.vp-orb.o2{width:320px;height:320px;background:#1BB28A;left:-110px;bottom:-130px;opacity:.36;animation:vpD2 28s ease-in-out infinite alternate}
@keyframes vpD1{to{transform:translate3d(-60px,50px,0) scale(1.08)}}@keyframes vpD2{to{transform:translate3d(70px,-40px,0) scale(1.12)}}
.vp-hero .in{position:relative;z-index:1;max-width:760px}
.vp-hero h1{font:700 3rem/1.06 Sora,"IBM Plex Sans",system-ui,sans-serif;letter-spacing:-.02em;color:#fff;margin:0}
.vp-hero .lede{font-size:1.15rem;color:#C5D8D1;margin:20px 0 0;max-width:36em}
.vp-hero .upd{display:inline-block;margin-top:22px;padding:7px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.07);color:#E8F1EE;font-size:.92rem}
.vp-hero .in>*{animation:vpRise .9s var(--ease) both}.vp-hero .in>:nth-child(2){animation-delay:.1s}.vp-hero .in>:nth-child(3){animation-delay:.2s}
@keyframes vpRise{from{transform:translate3d(0,20px,0)}to{transform:none}}
.vp-btn{display:inline-flex;align-items:center;gap:10px;margin-top:24px;height:48px;padding:0 24px;border-radius:999px;background:linear-gradient(180deg,#F8CF7B,#E9A62B);color:#2A1B00!important;font:600 1rem "IBM Plex Sans",sans-serif;text-decoration:none!important;box-shadow:0 12px 26px -12px rgba(242,181,68,.7),inset 0 1px 0 rgba(255,255,255,.6);transition:transform .35s var(--ease)}
.vp-btn:hover{transform:translateY(-2px)}.vp-btn:active{transform:scale(.97)}
.vp-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:56px;display:block}
.vp-wave path{fill:var(--paper)}
.vp-main{background:var(--paper);padding:20px 0 90px}
.vp-shell{max-width:880px;margin:-56px auto 0;position:relative;z-index:2;padding:8px;border-radius:30px;background:rgba(7,19,15,.04);border:1px solid var(--line)}
.vp-core{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:46px 52px;box-shadow:0 24px 48px -30px rgba(7,19,15,.45)}
.vp-prose{margin:0;padding:0;background:none;box-shadow:none;max-width:none;border:0}
.vp-prose h2{font:700 1.5rem/1.25 Sora,"IBM Plex Sans",system-ui,sans-serif;letter-spacing:-.02em;color:var(--text);margin:40px 0 12px}
.vp-prose>h2:first-child,.vp-prose>p:first-child+h2{margin-top:32px}
.vp-prose h3{font:700 1.15rem Sora,system-ui,sans-serif;color:var(--text);margin:26px 0 8px}
.vp-prose p,.vp-prose li{color:var(--muted);font-size:1.0625rem;margin:0 0 14px}
.vp-prose ul,.vp-prose ol{padding-left:1.3em;margin:0 0 16px}.vp-prose li{margin-bottom:8px}
.vp-prose strong{color:var(--text)}
.vp-prose a{color:var(--emerald-d);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.vp-prose a:hover{color:var(--text)}
.vp-prose .contact-box{margin:18px 0;padding:22px 24px;border-radius:18px;background:var(--paper);border:1px solid var(--line)}
.vp-prose .contact-box p:last-child{margin-bottom:0}
.vp-links{max-width:880px;margin:28px auto 0}
.vp-links h2{font:700 1.05rem Sora,sans-serif;color:var(--text);margin:0 0 12px}
.vp-links div{display:flex;flex-wrap:wrap;gap:10px}
.vp-links a{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--emerald-d);font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .3s var(--ease),border-color .2s}
.vp-links a:hover{transform:translateY(-2px);border-color:var(--emerald)}
@media (max-width:760px){.vp-hero{padding:48px 0 88px}.vp-hero h1{font-size:2.1rem}.vp-core{padding:28px 20px}.vp-page .wrap{padding:0 16px}}
@media (prefers-reduced-motion:reduce){.vp-page *{animation:none!important;transition:none!important}}
html.vch-dark .vp-page{--paper:#0A1A16;--surface:#0E221C;--text:#E7F1ED;--muted:#A9BDB5;--line:#21423A;--tint:#143A30;--emerald-d:#46E0B0}
html.vch-dark .vp-shell{background:rgba(255,255,255,.04)}
html.vch-dark .vp-core{box-shadow:none}

.vp-page{width:100%;min-width:0;flex:1 0 100%}
#content>.ast-container:has(.vp-page),.site-content .ast-container:has(.vp-page){max-width:100%;padding:0;display:block}

/* category archive */
.vp-chips{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 28px;position:relative;z-index:2}
.vp-chips a{padding:9px 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--emerald-d);font-weight:600;font-size:.95rem;text-decoration:none;transition:transform .3s var(--ease),border-color .2s}
.vp-chips a:hover{transform:translateY(-2px);border-color:var(--emerald)}
.vp-chips a[aria-current=page]{background:var(--emerald);border-color:var(--emerald);color:#fff}
.vp-page .vp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:22px;margin-top:-56px;position:relative;z-index:2}
.vp-chips+.vp-grid{margin-top:0}
.vp-card{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 48px -34px rgba(7,19,15,.5);transition:transform .45s var(--ease),border-color .25s}
.vp-card:hover{transform:translateY(-4px);border-color:var(--emerald)}
.vp-card-img{display:block;aspect-ratio:3/2;background:var(--tint);overflow:hidden}
.vp-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.vp-card-b{padding:20px 22px 24px;display:flex;flex-direction:column;gap:10px;flex:1}
.vp-card h2{font:700 1.12rem/1.3 Sora,"IBM Plex Sans",system-ui,sans-serif;letter-spacing:-.01em;margin:0}
.vp-card h2 a{color:var(--text);text-decoration:none}
.vp-card p{margin:0;color:var(--muted);font-size:.97rem;line-height:1.6}
.vp-more{margin-top:auto;color:var(--emerald-d);font-weight:600;text-decoration:none;border-bottom:2px solid var(--gold);align-self:flex-start;padding-bottom:2px}
.vp-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:36px}
.vp-pager a,.vp-pager span{min-width:44px;height:44px;padding:0 16px;display:grid;place-items:center;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);text-decoration:none;font-weight:600}
.vp-pager .current{background:var(--emerald);border-color:var(--emerald);color:#fff}

/* single post */
.vp-crumb{display:inline-block;margin-bottom:16px;padding:6px 14px;border-radius:999px;background:rgba(70,224,176,.16);border:1px solid rgba(70,224,176,.35);color:#46E0B0!important;font-weight:600;font-size:.88rem;text-decoration:none}
.vp-hero h1{overflow-wrap:anywhere}
.vp-prose img{max-width:100%;height:auto;border-radius:16px}
.vp-prose figure{margin:8px 0 24px}.vp-prose figcaption{color:var(--muted);font-size:.9rem;margin-top:8px;text-align:center}
.vp-prose table{width:100%;border-collapse:collapse;margin:18px 0;display:block;overflow-x:auto}
.vp-prose th,.vp-prose td{padding:10px 14px;border:1px solid var(--line);text-align:left;color:var(--muted)}
.vp-prose th{background:var(--paper);color:var(--text)}
.vp-prose blockquote{margin:20px 0;padding:14px 20px;border-left:4px solid var(--gold);background:var(--paper);border-radius:0 14px 14px 0}
.vp-prose h2[id]{scroll-margin-top:90px}
.vp-prose iframe{max-width:100%;border-radius:16px;aspect-ratio:16/9;height:auto;width:100%;border:0}
.vp-prose details{border-bottom:1px solid var(--line);padding:12px 0}.vp-prose summary{cursor:pointer;font-weight:600;color:var(--text)}
.vp-cta{max-width:880px;margin:28px auto 0;padding:26px 30px;border-radius:26px;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#fff;background:radial-gradient(700px 300px at 85% 20%,#0E4A3B 0%,transparent 65%),linear-gradient(180deg,#07130F,#0B2A22)}
.vp-cta h2{font:700 1.35rem Sora,system-ui,sans-serif;color:#fff;margin:0 0 4px}.vp-cta p{margin:0;color:#C5D8D1}
.vp-cta .vp-btn{margin-top:0}
.vp-related{max-width:880px;margin:44px auto 0}.vp-related>h2{font:700 1.4rem Sora,system-ui,sans-serif;color:var(--text);margin:0 0 16px}
.vp-related .vp-grid{margin-top:0;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.vp-related .vp-card h3{font:700 1.02rem/1.35 Sora,system-ui,sans-serif;margin:0}.vp-related .vp-card h3 a{color:var(--text);text-decoration:none}
.vp-prose .aligncenter{margin-left:auto;margin-right:auto;text-align:center}.vp-prose .alignleft{float:left;margin:0 20px 12px 0}.vp-prose .alignright{float:right;margin:0 0 12px 20px}.vp-prose ul.wp-block-list,.vp-prose ol.wp-block-list{padding-left:1.3em}

/* wider single posts */
.vp-post .vp-shell,.vp-post .vp-cta,.vp-post .vp-related{max-width:1120px}
.vp-post .vp-core{padding:52px 64px}
@media (max-width:900px){.vp-post .vp-core{padding:32px 22px}}

/* Elementor bridge for the editable post layout */
.vp-page .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;align-items:stretch}
.vp-page .elementor-widget{margin:0;width:100%}
.vp-page .vp-hero.e-con{padding:72px 0 112px;background-color:#0B2A22}
.vp-page .vp-main.e-con{padding:20px 0 90px;background:var(--paper)}
.vp-page .wrap.e-con{max-width:1240px;margin:0 auto;padding:0 24px;width:100%}
.vp-page .in.e-con{max-width:760px}
.vp-page .vp-hero h1{color:#fff;font:700 3rem/1.06 Sora,'IBM Plex Sans',system-ui,sans-serif;letter-spacing:-.02em;margin:0}
.vp-page .vp-cta.e-con{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:26px 30px;gap:20px;max-width:1120px;margin:28px auto 0;width:100%}
.vp-page .vp-cta .elementor-heading-title{font:700 1.35rem Sora,system-ui,sans-serif;color:#fff;margin:0 0 4px}
.vp-page .vp-cta .elementor-widget-text-editor{color:#C5D8D1}
.vp-page .vp-cta .elementor-widget-text-editor p{margin:0;color:#C5D8D1}
.vp-page .vp-cta .e-con,.vp-page .vp-cta .elementor-widget{width:auto}
@media (max-width:760px){.vp-page .vp-hero.e-con{padding:48px 0 88px}.vp-page .vp-hero h1{font-size:2.1rem}.vp-page .wrap.e-con{padding:0 16px}}

.vp-page .vp-hero>.elementor-widget{position:static}
.vp-page .vp-hero>.elementor-widget-html{position:static;width:0;height:0;overflow:visible}
.vp-related .vp-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:760px){.vp-related .vp-grid{grid-template-columns:1fr}}

/* posts on phones: full-bleed body */
@media (max-width:760px){
.vp-post .vp-main{padding-top:0}
.vp-post .vp-main .wrap,.vp-page.vp-post .vp-main .wrap.e-con{padding:0}
.vp-post .vp-shell{max-width:none;padding:0;border:0;background:none;border-radius:0;margin-top:-40px}
.vp-post .vp-core{border-radius:0;border-left:0;border-right:0;padding:26px 16px;box-shadow:none}
.vp-post .vp-prose p,.vp-post .vp-prose li{font-size:1.03rem}
.vp-post .vp-cta,.vp-page.vp-post .vp-cta.e-con{margin:20px 12px 0;width:auto;padding:22px 20px}
.vp-post .vp-related{margin:32px 12px 0}
.vp-post .vp-prose img,.vp-post .vch-yt,.vp-post .vp-prose iframe{border-radius:12px}
}

.vp-page.e-con,.vp-page.e-con.e-parent{padding:0!important;--padding-left:0px;--padding-right:0px;--padding-top:0px;--padding-bottom:0px;max-width:none}

.vp-search{display:flex;gap:10px;max-width:620px;margin:0 0 22px}
.vp-search .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.vp-search input[type=search]{flex:1;min-width:0;height:50px;padding:0 20px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:500 1rem 'IBM Plex Sans',system-ui,sans-serif;box-shadow:inset 0 2px 6px rgba(7,19,15,.06)}
.vp-search input[type=search]:focus{outline:3px solid var(--gold);outline-offset:2px;border-color:var(--emerald)}
.vp-search button{height:50px;padding:0 26px;border:0;border-radius:999px;background:linear-gradient(180deg,#F8CF7B,#E9A62B);color:#2A1B00;font:600 1rem 'IBM Plex Sans',system-ui,sans-serif;cursor:pointer;box-shadow:0 10px 22px -12px rgba(242,181,68,.8),inset 0 1px 0 rgba(255,255,255,.6);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.vp-search button:hover{transform:translateY(-2px)}.vp-search button:active{transform:scale(.97)}
.vp-empty{grid-column:1/-1;color:var(--muted);padding:24px 0}
@media(max-width:520px){.vp-search{flex-direction:column}.vp-search button{width:100%}}

.vp-search{position:relative;z-index:3}
.vp-search+.vp-grid{margin-top:0}
.vp-search+.vp-chips{margin-top:0}
