:root {
	--vmps-i-target: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3C/svg%3E");
	--vmps-i-eye: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
	--vmps-i-book: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4h7a3 3 0 0 1 3 3v13a2 2 0 0 0-2-2H2z'/%3E%3Cpath d='M22 4h-7a3 3 0 0 0-3 3v13a2 2 0 0 1 2-2h8z'/%3E%3C/svg%3E");
	--vmps-i-flask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6'/%3E%3Cpath d='M10 3v6L4.5 19a1.5 1.5 0 0 0 1.3 2h12.4a1.5 1.5 0 0 0 1.3-2L14 9V3'/%3E%3Cpath d='M7 15h10'/%3E%3C/svg%3E");
	--vmps-i-blocks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='8' height='8' rx='1'/%3E%3Crect x='13' y='13' width='8' height='8' rx='1'/%3E%3Crect x='3' y='13' width='8' height='8' rx='1'/%3E%3Cpath d='M14 4l3-1 3 4-3 3-3-3z'/%3E%3C/svg%3E");
	--vmps-i-laptop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='11' rx='1.5'/%3E%3Cpath d='M2 19h20'/%3E%3C/svg%3E");
	--vmps-i-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M8.5 14 7 22l5-3 5 3-1.5-8'/%3E%3C/svg%3E");
	--vmps-i-network: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='5' rx='1'/%3E%3Crect x='2' y='17' width='6' height='5' rx='1'/%3E%3Crect x='16' y='17' width='6' height='5' rx='1'/%3E%3Cpath d='M5 17v-3h14v3M12 7v7'/%3E%3C/svg%3E");
	--vmps-i-globe: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M2 12h20'/%3E%3Cpath d='M12 2a15 15 0 0 1 0 20a15 15 0 0 1 0-20z'/%3E%3C/svg%3E");
	--vmps-i-ball: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m12 7 4 3-1.5 5h-5L8 10z'/%3E%3Cpath d='M12 2v5M22 10l-6 0M19 20l-4.5-5M5 20l4.5-5M2 10h6'/%3E%3C/svg%3E");
	--vmps-i-users: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='4'/%3E%3Cpath d='M2 21v-1a6 6 0 0 1 6-6h2a6 6 0 0 1 6 6v1'/%3E%3Cpath d='M16 3.5a4 4 0 0 1 0 7.5M22 21v-1a6 6 0 0 0-4-5.7'/%3E%3C/svg%3E");
	--vmps-i-palette: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20c1.1 0 2-.9 2-2 0-.5-.2-1-.5-1.3-.3-.4-.5-.8-.5-1.3 0-1.1.9-2 2-2h2.4A5.6 5.6 0 0 0 22 10c0-4.4-4.5-8-10-8z'/%3E%3Ccircle cx='7.5' cy='10.5' r='1'/%3E%3Ccircle cx='10.5' cy='6.5' r='1'/%3E%3Ccircle cx='15.5' cy='7.5' r='1'/%3E%3C/svg%3E");
	--vmps-i-chef: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 13.9A4 4 0 1 1 8.5 6.2a4 4 0 0 1 7 0A4 4 0 1 1 18 13.9V21H6z'/%3E%3Cpath d='M6 17h12'/%3E%3C/svg%3E");
	--vmps-i-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21.2l8.8-8.8a5.5 5.5 0 0 0 0-7.8z'/%3E%3C/svg%3E");
	--vmps-i-chat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 9h8M8 13h5'/%3E%3C/svg%3E");
	--vmps-i-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21h18'/%3E%3Cpath d='M5 21V8l7-5 7 5v13'/%3E%3Cpath d='M9 21v-5h6v5'/%3E%3Cpath d='M9 11h.01M15 11h.01'/%3E%3C/svg%3E");
	--vmps-i-mic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 11a7 7 0 0 0 14 0M12 18v4M8 22h8'/%3E%3C/svg%3E");
	--vmps-i-clipboard: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='18' rx='2'/%3E%3Cpath d='M9 2h6v4H9z'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E");
	--vmps-i-bolt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13 2 4 14h7l-1 8 9-12h-7z'/%3E%3C/svg%3E");
	--vmps-i-trophy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0z'/%3E%3Cpath d='M17 5h3v2a3 3 0 0 1-3 3M7 5H4v2a3 3 0 0 0 3 3'/%3E%3C/svg%3E");
	--vmps-i-brush: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.4 2.6a2 2 0 0 1 2.9 2.9L12 14.8 9.2 12z'/%3E%3Cpath d='M9 14.5c-2 0-3.5 1.5-3.5 3.5 0 1.4-1 2.5-2.5 3 4.5.5 8-1.5 8-4.5z'/%3E%3C/svg%3E");
	--vmps-i-bulb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18h6M10 22h4'/%3E%3Cpath d='M12 2a7 7 0 0 0-4 12.7c.6.5 1 1.3 1 2.3h6c0-1 .4-1.8 1-2.3A7 7 0 0 0 12 2z'/%3E%3C/svg%3E");
	--vmps-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/svg%3E");
	--vmps-i-compass: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m16 8-2 6-6 2 2-6z'/%3E%3C/svg%3E");
	--vmps-i-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m12 2 3 6.5 7 .9-5.1 4.8 1.3 7L12 17.8 5.8 21.2l1.3-7L2 9.4l7-.9z'/%3E%3C/svg%3E");
	--vmps-i-facebook: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z'/%3E%3C/svg%3E");
	--vmps-i-whatsapp: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21l1.7-5A9 9 0 1 1 8 19.3z'/%3E%3Cpath d='M9 9.5c0 3 2.5 5.5 5.5 5.5l1.5-1.5-2-1-1 .8a4 4 0 0 1-2.3-2.3l.8-1-1-2z'/%3E%3C/svg%3E");
	--vmps-i-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m2 6 10 7 10-7'/%3E%3C/svg%3E");
	--vmps-i-id: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Ccircle cx='8' cy='11' r='2.5'/%3E%3Cpath d='M4.5 17a3.5 3.5 0 0 1 7 0M14 10h5M14 14h4'/%3E%3C/svg%3E");
	--vmps-i-pen: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E");
	--vmps-i-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6M8 13h8M8 17h5'/%3E%3C/svg%3E");
	--vmps-i-briefcase: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='14' rx='2'/%3E%3Cpath d='M16 7V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v2M2 13h20'/%3E%3C/svg%3E");
	--vmps-i-gift: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='8' width='18' height='4' rx='1'/%3E%3Cpath d='M5 12v9h14v-9M12 8v13'/%3E%3Cpath d='M12 8S10.5 3 8 3a2.5 2.5 0 0 0 0 5M12 8s1.5-5 4-5a2.5 2.5 0 0 1 0 5'/%3E%3C/svg%3E");
	--vmps-i-cap: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 10 12 5 2 10l10 5z'/%3E%3Cpath d='M6 12v5c3 2 9 2 12 0v-5M22 10v6'/%3E%3C/svg%3E");
}
.vmps-ico-target { --vmps-icon: var(--vmps-i-target); }
.vmps-ico-eye { --vmps-icon: var(--vmps-i-eye); }
.vmps-ico-book { --vmps-icon: var(--vmps-i-book); }
.vmps-ico-flask { --vmps-icon: var(--vmps-i-flask); }
.vmps-ico-blocks { --vmps-icon: var(--vmps-i-blocks); }
.vmps-ico-laptop { --vmps-icon: var(--vmps-i-laptop); }
.vmps-ico-award { --vmps-icon: var(--vmps-i-award); }
.vmps-ico-network { --vmps-icon: var(--vmps-i-network); }
.vmps-ico-globe { --vmps-icon: var(--vmps-i-globe); }
.vmps-ico-ball { --vmps-icon: var(--vmps-i-ball); }
.vmps-ico-users { --vmps-icon: var(--vmps-i-users); }
.vmps-ico-palette { --vmps-icon: var(--vmps-i-palette); }
.vmps-ico-chef { --vmps-icon: var(--vmps-i-chef); }
.vmps-ico-heart { --vmps-icon: var(--vmps-i-heart); }
.vmps-ico-chat { --vmps-icon: var(--vmps-i-chat); }
.vmps-ico-building { --vmps-icon: var(--vmps-i-building); }
.vmps-ico-mic { --vmps-icon: var(--vmps-i-mic); }
.vmps-ico-clipboard { --vmps-icon: var(--vmps-i-clipboard); }
.vmps-ico-bolt { --vmps-icon: var(--vmps-i-bolt); }
.vmps-ico-trophy { --vmps-icon: var(--vmps-i-trophy); }
.vmps-ico-brush { --vmps-icon: var(--vmps-i-brush); }
.vmps-ico-bulb { --vmps-icon: var(--vmps-i-bulb); }
.vmps-ico-check { --vmps-icon: var(--vmps-i-check); }
.vmps-ico-compass { --vmps-icon: var(--vmps-i-compass); }
.vmps-ico-star { --vmps-icon: var(--vmps-i-star); }
.vmps-ico-facebook { --vmps-icon: var(--vmps-i-facebook); }
.vmps-ico-whatsapp { --vmps-icon: var(--vmps-i-whatsapp); }
.vmps-ico-mail { --vmps-icon: var(--vmps-i-mail); }
.vmps-ico-id { --vmps-icon: var(--vmps-i-id); }
.vmps-ico-pen { --vmps-icon: var(--vmps-i-pen); }
.vmps-ico-file { --vmps-icon: var(--vmps-i-file); }
.vmps-ico-briefcase { --vmps-icon: var(--vmps-i-briefcase); }
.vmps-ico-gift { --vmps-icon: var(--vmps-i-gift); }
.vmps-ico-cap { --vmps-icon: var(--vmps-i-cap); }
/* ==========================================================================
   VMPS theme — component styles
   Brand: charcoal #323233 · orange #FC4E01 · Montserrat (headings) · Outfit (body)
   ========================================================================== */

:root {
	--vmps-orange: var(--wp--preset--color--orange, #FC4E01);
	--vmps-orange-deep: var(--wp--preset--color--orange-deep, #DA3E01);
	--vmps-ink: var(--wp--preset--color--orange-ink, #B83300);
	--vmps-charcoal: var(--wp--preset--color--charcoal, #323233);
	--vmps-night: var(--wp--preset--color--night, #1E1F21);
	--vmps-graphite: var(--wp--preset--color--graphite, #393F41);
	--vmps-paper: var(--wp--preset--color--paper, #F6F5F3);
	--vmps-mist: var(--wp--preset--color--mist, #E8E8E8);
	--vmps-silver: var(--wp--preset--color--silver, #D1D0D1);
	--vmps-gray: var(--wp--preset--color--gray, #6F6F71);
	--vmps-tint: var(--wp--preset--color--orange-tint, #FFF1EA);
	--vmps-radius: 8px;
	--vmps-radius-lg: 14px;
	--vmps-ease: cubic-bezier(.2, .7, .2, 1);
	--vmps-shadow: 0 10px 30px -12px rgba(30, 31, 33, .18);
	--vmps-shadow-lift: 0 28px 50px -24px rgba(30, 31, 33, .38);
	--vmps-header-h: 84px;
	--vmps-heading: var(--wp--preset--font-family--heading, Montserrat, sans-serif);
}

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: hidden; }
::selection { background: var(--vmps-orange); color: #fff; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--vmps-orange); outline-offset: 3px; border-radius: 2px; }
[id] { scroll-margin-top: calc(var(--vmps-header-h) + var(--wp-admin--admin-bar--height, 0px) + 12px); }
img { height: auto; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.vmps-main > .wp-block-post-content > *:first-child { margin-block-start: 0; }
.vmps-landing-content > .alignfull + .alignfull { margin-block-start: 0; }
.vmps-landing-content > .alignfull:last-child { margin-block-end: 0; }
.screen-reader-text:focus { background: #fff; color: var(--vmps-charcoal); padding: 1rem; z-index: 100000; }
p:empty, .vmps-meta-batch:empty, .vmps-meta-role:empty, .vmps-meta-line:empty, .vmps-meta-quote:empty { display: none; }
.vmps-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.vmps-muted { color: var(--vmps-gray); }
strong { font-weight: 700; }

/* ---------- Typography helpers ---------- */
.is-style-vmps-eyebrow {
	font-family: var(--vmps-heading);
	font-size: .78rem !important;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--vmps-ink);
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	margin-bottom: .25rem !important;
	line-height: 1.4;
}
.is-style-vmps-eyebrow::before { content: ""; width: 28px; height: 3px; background: var(--vmps-orange); flex: none; border-radius: 2px; }
.has-text-align-center.is-style-vmps-eyebrow, .vmps-head--center .is-style-vmps-eyebrow { justify-content: center; }
:is(.has-night-background-color, .has-graphite-background-color, .has-charcoal-background-color, .wp-block-cover, .vmps-page-hero) .is-style-vmps-eyebrow { color: var(--wp--preset--color--orange-soft, #FEA174); }
.is-style-vmps-lead { font-size: var(--wp--preset--font-size--large) !important; line-height: 1.6; color: inherit; opacity: .92; }
.vmps-accent { color: var(--vmps-orange); }
.vmps-inline-label { font-family: var(--vmps-heading); font-weight: 700; font-size: .8rem !important; letter-spacing: .12em; text-transform: uppercase; margin-bottom: .6rem !important; }
.vmps-note { background: var(--vmps-tint); border-left: 4px solid var(--vmps-orange); padding: .9rem 1.1rem; border-radius: 0 var(--vmps-radius) var(--vmps-radius) 0; font-size: var(--wp--preset--font-size--small); }
.vmps-note-light { color: var(--vmps-silver); opacity: .8; }
.vmps-center { justify-content: center; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: background-color .25s var(--vmps-ease), color .25s var(--vmps-ease), border-color .25s var(--vmps-ease), transform .25s var(--vmps-ease), box-shadow .25s var(--vmps-ease); }
.wp-block-button__link:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -10px rgba(218, 62, 1, .6); }
.wp-block-button.is-style-vmps-light .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255, 255, 255, .55); }
.wp-block-button.is-style-vmps-light .wp-block-button__link:hover { background: #fff; color: var(--vmps-charcoal); border-color: #fff; box-shadow: none; }
.wp-block-button.is-style-vmps-outline .wp-block-button__link { background: transparent; color: var(--vmps-charcoal); border-color: var(--vmps-charcoal); }
.wp-block-button.is-style-vmps-outline .wp-block-button__link:hover { background: var(--vmps-charcoal); color: #fff; }
.wp-block-button.is-style-vmps-dark .wp-block-button__link { background: var(--vmps-night); border-color: var(--vmps-night); color: #fff; }
.wp-block-button.is-style-vmps-dark .wp-block-button__link:hover { background: #fff; border-color: #fff; color: var(--vmps-night); }
.wp-block-button:is(.is-style-vmps-link, .is-style-vmps-link-light) .wp-block-button__link { background: none; border: 0; padding: .4rem 0; color: var(--vmps-ink); box-shadow: none; position: relative; }
.wp-block-button.is-style-vmps-link-light .wp-block-button__link { color: #fff; }
.wp-block-button:is(.is-style-vmps-link, .is-style-vmps-link-light) .wp-block-button__link { text-align: left; }
.wp-block-button:is(.is-style-vmps-link, .is-style-vmps-link-light) .wp-block-button__link::after { content: " →"; transition: margin .25s var(--vmps-ease); }
.wp-block-button:is(.is-style-vmps-link, .is-style-vmps-link-light) .wp-block-button__link:hover { transform: none; color: var(--vmps-charcoal); }
.wp-block-button.is-style-vmps-link-light .wp-block-button__link:hover { color: var(--wp--preset--color--orange-soft); }
.wp-block-button:is(.is-style-vmps-link, .is-style-vmps-link-light) .wp-block-button__link:hover::after { margin-left: .35rem; }
.vmps-btn-sm .wp-block-button__link { padding: .7rem 1.2rem; font-size: .8rem; }
.wp-block-buttons { margin-top: 1.75rem; gap: .75rem 1rem; }
.vmps-arrow-link { font-family: var(--vmps-heading); font-weight: 700; font-size: .85rem; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; color: var(--vmps-ink); }
.vmps-arrow-link:hover { color: var(--vmps-charcoal); }
.has-night-background-color .vmps-arrow-link, .has-graphite-background-color .vmps-arrow-link { color: var(--wp--preset--color--orange-soft); }

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 1000;
}
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.vmps-header { box-shadow: 0 1px 0 rgba(0, 0, 0, .06); transition: box-shadow .3s var(--vmps-ease); }
.vmps-topbar { font-size: .8125rem; overflow: hidden; max-height: 48px; padding-top: 0 !important; padding-bottom: 0 !important; transition: max-height .35s var(--vmps-ease); }
.vmps-topbar__inner { padding-block: .5rem; gap: 1rem; min-height: 32px; box-sizing: border-box; }
.vmps-topbar p { margin: 0; }
.vmps-topbar a { color: var(--vmps-silver); text-decoration: none; }
.vmps-topbar a:hover { color: #fff; }
.vmps-topbar__links { gap: 1.5rem; }
.vmps-topbar__status a { display: inline-flex; }
.is-scrolled .vmps-topbar { max-height: 0; }
.is-scrolled .vmps-header { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .35); }
.vmps-mainbar { padding-top: 0 !important; padding-bottom: 0 !important; }
.vmps-mainbar__inner { min-height: var(--vmps-header-h); gap: 1.5rem; transition: min-height .3s var(--vmps-ease); }
.is-scrolled .vmps-mainbar { padding-top: 0 !important; padding-bottom: 0 !important; }
.vmps-mainbar__inner { min-height: 68px; }
.vmps-mainbar__nav { gap: 1.25rem; }
.vmps-header-cta { margin: 0; }

/* Status pill */
.vmps-status { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--vmps-heading); font-weight: 600; font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; }
.vmps-status i { width: 8px; height: 8px; border-radius: 50%; background: #3ddc84; box-shadow: 0 0 0 0 rgba(61, 220, 132, .6); animation: vmps-pulse 2s infinite; }
.vmps-status--soon i { background: var(--wp--preset--color--orange-soft); animation: none; }
.vmps-status--closed i { background: var(--vmps-gray); animation: none; }
@keyframes vmps-pulse { 0% { box-shadow: 0 0 0 0 rgba(61, 220, 132, .55); } 70% { box-shadow: 0 0 0 8px rgba(61, 220, 132, 0); } 100% { box-shadow: 0 0 0 0 rgba(61, 220, 132, 0); } }

/* Logo */
.vmps-logo { display: inline-flex; align-items: center; gap: .8rem; text-decoration: none; color: var(--vmps-charcoal); flex: none; }
.vmps-logo img { display: block; width: var(--vmps-logo-w, 64px); height: auto; transition: width .3s var(--vmps-ease); }
.is-scrolled .vmps-mainbar .vmps-logo img { width: 54px; }
.vmps-logo__text { display: flex; flex-direction: column; line-height: 1.1; border-left: 2px solid var(--vmps-orange); padding-left: .8rem; }
.vmps-logo__text strong { font-family: var(--vmps-heading); font-weight: 800; font-size: 1.05rem; letter-spacing: .08em; white-space: nowrap; }
.vmps-logo__text em { font-style: normal; font-size: .72rem; color: var(--vmps-gray); letter-spacing: .08em; text-transform: uppercase; margin-top: .25rem; white-space: nowrap; }
.vmps-logo.is-light { color: #fff; }
.vmps-logo.is-light .vmps-logo__text em { color: var(--vmps-silver); }
.vmps-logo--stacked img { width: var(--vmps-logo-w, 200px); }

/* Navigation */
.vmps-nav .wp-block-navigation__container { gap: .25rem; }
.vmps-nav .wp-block-navigation-item__content { padding: .6rem .7rem; border-radius: 4px; color: var(--vmps-charcoal); text-decoration: none; position: relative; letter-spacing: .01em; }
.vmps-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: .7rem; right: .7rem; bottom: .25rem; height: 2px; background: var(--vmps-orange); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--vmps-ease);
}
.vmps-nav > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.vmps-nav .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.vmps-nav .wp-block-navigation__submenu-icon { margin-left: .15rem; width: .6em; }
.vmps-nav .wp-block-navigation__submenu-container {
	border: 0 !important; border-radius: var(--vmps-radius); padding: .5rem !important; min-width: 250px !important;
	box-shadow: var(--vmps-shadow-lift); border-top: 3px solid var(--vmps-orange) !important; background: #fff !important;
	top: calc(100% + 6px) !important;
}
.vmps-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem .85rem; font-weight: 500; font-family: var(--wp--preset--font-family--body); font-size: .95rem; }
.vmps-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--vmps-tint); color: var(--vmps-ink); }
.vmps-nav-mobile-only { display: none !important; }
/* Mobile overlay menu */
.vmps-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 6px; background: var(--vmps-paper); }
/* Switch to the hamburger menu below 1100px (the full menu needs the room) */
@media (min-width: 600px) and (max-width: 1240px) {
	.vmps-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.vmps-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.vmps-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex; }
	.vmps-nav .is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.vmps-nav .is-menu-open .wp-block-navigation__container { flex-direction: column; }
	.vmps-nav .is-menu-open .wp-block-navigation__submenu-container { position: static !important; opacity: 1 !important; visibility: visible !important; height: auto !important; width: auto !important; }
	.vmps-nav .is-menu-open .wp-block-navigation__submenu-icon { display: none; }
}
.vmps-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem clamp(1.25rem, 5vw, 3rem) 3rem; }
.vmps-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; align-items: flex-start; }
.vmps-nav .is-menu-open .wp-block-navigation__container { gap: .15rem !important; align-items: flex-start !important; width: 100%; }
.vmps-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.vmps-nav .is-menu-open .wp-block-navigation-item__content { color: #fff !important; font-size: 1.35rem; font-weight: 700; padding: .5rem 0 !important; }
.vmps-nav .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.vmps-nav .is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; border: 0 !important; background: transparent !important; padding: 0 0 .75rem 1rem !important; min-width: 0 !important; }
.vmps-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1rem; font-weight: 400; color: var(--vmps-silver) !important; padding: .3rem 0 !important; background: none !important; }
.vmps-nav .is-menu-open .vmps-nav-mobile-only { display: block !important; }
.vmps-nav .wp-block-navigation__responsive-container-close { color: #fff; }

@media (max-width: 1180px) {
	.vmps-nav .wp-block-navigation-item__content { padding: .55rem .45rem; font-size: .8rem; }
	.vmps-logo__text em { display: none; }
}
@media (max-width: 600px) {
	.vmps-hide-sm { display: none !important; }
	.vmps-logo__text strong { font-size: .92rem; }
	.vmps-logo img { width: 52px; }
	.vmps-header-cta .wp-block-button__link { padding: .6rem .85rem; font-size: .72rem; }
	.vmps-mainbar__nav { gap: .6rem; }
}
@media (max-width: 900px) { .vmps-hide-md { display: none !important; } }
@media (max-width: 420px) { .vmps-logo__text { display: none; } }

/* ---------- Sections ---------- */
.vmps-section { padding-block: var(--wp--preset--spacing--70); position: relative; }
.vmps-section + .vmps-section:not(.has-background):not(.vmps-section--dark) { padding-top: var(--wp--preset--spacing--60); }
.vmps-section:not(.has-background) + .vmps-section:not(.has-background) { border-top: 1px solid var(--vmps-mist); }
.vmps-section > * { position: relative; z-index: 1; }
.vmps-section--dark :is(h1, h2, h3, h4, h5, h6) { color: #fff; }
.vmps-section--dark a:not(.wp-block-button__link) { color: var(--wp--preset--color--orange-soft); }
.vmps-slash-bg { overflow: hidden; isolation: isolate; }
.vmps-slash-bg::before, .vmps-slash-bg::after {
	content: ""; position: absolute; top: -10%; bottom: -10%; z-index: 0; pointer-events: none;
	transform: skewX(-32deg);
}
.vmps-slash-bg::before { right: 6%; width: min(18vw, 220px); background: linear-gradient(180deg, rgba(252, 78, 1, .16), rgba(252, 78, 1, .02)); }
.vmps-slash-bg::after { right: calc(6% + min(18vw, 220px) + 28px); width: 10px; background: rgba(209, 208, 209, .08); }

.vmps-head { margin-bottom: var(--wp--preset--spacing--50); }
.vmps-head > * { margin-block: 0; }
.vmps-head > * + * { margin-top: 1rem; }
.vmps-head--center { text-align: center; margin-inline: auto !important; }
.vmps-head--center > * { margin-inline: auto !important; }
.vmps-head .is-style-vmps-lead { max-width: 60ch; }
.vmps-head-row { align-items: flex-end !important; gap: 1rem 2rem; margin-bottom: var(--wp--preset--spacing--50); }
.vmps-head-row .vmps-head { margin-bottom: 0; }
.vmps-head-row .wp-block-buttons { margin: 0; }

/* ---------- Hero (cover) ---------- */
.vmps-hero { padding-block: clamp(5rem, 12vh, 8rem) clamp(2rem, 6vh, 4rem) !important; overflow: hidden; }
.vmps-hero .wp-block-cover__background { background: linear-gradient(100deg, rgba(30, 31, 33, .96) 0%, rgba(30, 31, 33, .82) 42%, rgba(30, 31, 33, .35) 100%) !important; opacity: 1 !important; }
.vmps-hero::after {
	content: ""; position: absolute; right: -4%; top: -20%; bottom: -20%; width: min(34vw, 460px); z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(252, 78, 1, .85), rgba(218, 62, 1, .55)); transform: skewX(-32deg); mix-blend-mode: multiply; opacity: .5;
}
.vmps-hero .wp-block-cover__inner-container { z-index: 2; }
.vmps-hero__wrap { display: flex; flex-direction: column; justify-content: space-between; min-height: calc(88vh - 12rem); gap: 3rem; }
.vmps-hero__title { font-weight: 900 !important; text-transform: uppercase; letter-spacing: -.02em; line-height: .98 !important; margin-top: 1.25rem !important; }
.vmps-hero__title .vmps-accent { display: block; color: var(--vmps-orange); }
.vmps-hero--page .vmps-hero__title { text-transform: none; font-weight: 800 !important; line-height: 1.05 !important; }
.vmps-hero__lead { max-width: 36em; margin-top: 1.5rem !important; }
.vmps-hero__status { margin: 0; color: #fff; }
.vmps-hero__status .vmps-status { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); padding: .45rem .9rem; border-radius: 999px; backdrop-filter: blur(6px); }
.vmps-hero__motto { display: inline-block; margin-left: 1rem; font-family: var(--vmps-heading); font-weight: 700; letter-spacing: .06em; font-size: .8rem; text-transform: uppercase; color: var(--wp--preset--color--orange-soft); }
.vmps-hero__badges { gap: 0 !important; border-top: 1px solid rgba(255, 255, 255, .16); }
.vmps-hero__badge { flex: 1 1 200px; padding: 1.25rem 1.5rem 0 0; }
.vmps-hero__badge p { margin: 0; display: flex; flex-direction: column; color: var(--vmps-silver); font-size: .9rem; }
.vmps-hero__badge strong { font-family: var(--vmps-heading); font-weight: 800; font-size: 1.35rem; color: #fff; letter-spacing: -.01em; }
.vmps-hero__badge + .vmps-hero__badge { padding-left: 1.5rem; border-left: 1px solid rgba(255, 255, 255, .12); }
.vmps-hero--page { padding-block: clamp(4rem, 10vh, 6.5rem) !important; }
.vmps-hero--page .vmps-hero__content .wp-block-buttons { margin-top: 2rem; }

/* Inner page hero (templates) */
.vmps-page-hero { position: relative; overflow: hidden; isolation: isolate; padding-block: clamp(3.5rem, 9vw, 6.5rem) clamp(3rem, 7vw, 5rem); }
.vmps-page-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("../images/dark-lines.webp") right bottom / cover no-repeat; opacity: .55; }
.vmps-page-hero::after { content: ""; position: absolute; right: 4%; top: -20%; bottom: -20%; width: min(22vw, 260px); z-index: -1; background: linear-gradient(180deg, rgba(252, 78, 1, .75), rgba(218, 62, 1, .25)); transform: skewX(-32deg); }
.vmps-page-hero .wp-block-post-title { margin-top: .5rem; }
.vmps-page-hero__lead { max-width: 42em; margin-top: 1.25rem !important; }
.vmps-page-hero--post .vmps-post-meta { gap: .75rem 1rem; align-items: center; margin-bottom: 1rem; }
.vmps-page-hero--profile .vmps-profile-photo img { border-radius: var(--vmps-radius-lg); box-shadow: var(--vmps-shadow-lift); }

/* ---------- Cards & icons ---------- */
.is-style-vmps-card {
	--pad: clamp(1.5rem, 2.5vw, 2rem);
	background: linear-gradient(var(--vmps-orange), var(--vmps-orange)) left top / 0 4px no-repeat, #fff;
	border: 1px solid var(--vmps-mist); border-radius: var(--vmps-radius-lg);
	padding: var(--pad); position: relative; height: 100%; box-sizing: border-box;
	transition: transform .35s var(--vmps-ease), box-shadow .35s var(--vmps-ease), border-color .35s, background-size .45s var(--vmps-ease);
}
.is-style-vmps-card:hover { transform: translateY(-6px); box-shadow: var(--vmps-shadow-lift); border-color: transparent; background-size: 100% 4px, auto; }
.is-style-vmps-card > * { margin-block: 0; }
.is-style-vmps-card > * + * { margin-top: .75rem; }
.is-style-vmps-card .wp-block-buttons { margin-top: 1.25rem; }
.has-paper-background-color .is-style-vmps-card { border-color: transparent; box-shadow: var(--vmps-shadow); }
.is-style-vmps-card-dark { background: var(--vmps-graphite); color: var(--vmps-silver); border-radius: var(--vmps-radius-lg); padding: 2rem; }

.vmps-ico { padding-top: calc(var(--pad, 2rem) + 56px + 1.1rem) !important; }
.vmps-ico::before, .vmps-ico::after { content: ""; position: absolute; transition: transform .4s var(--vmps-ease), background-color .3s; }
.vmps-ico::before { top: var(--pad, 2rem); left: var(--pad, 2rem); width: 56px; height: 56px; border-radius: 14px; background: var(--vmps-tint); }
.vmps-ico::after {
	top: calc(var(--pad, 2rem) + 14px); left: calc(var(--pad, 2rem) + 14px); width: 28px; height: 28px;
	background-color: var(--vmps-orange-deep);
	-webkit-mask: var(--vmps-icon) center / contain no-repeat; mask: var(--vmps-icon) center / contain no-repeat;
}
.vmps-ico:hover::before { transform: rotate(-8deg); background: var(--vmps-orange); }
.vmps-ico:hover::after { background-color: #fff; }
.has-text-align-center.vmps-ico::before, .vmps-center-card.vmps-ico::before { left: calc(50% - 28px); }

/* Dark card variant inside dark sections */
.vmps-acts--dark .is-style-vmps-card, .vmps-section--dark .vmps-connect, .vmps-section--dark .vmps-path, .vmps-section--dark .vmps-mv {
	background: linear-gradient(var(--vmps-orange), var(--vmps-orange)) left top / 0 4px no-repeat, rgba(255, 255, 255, .04);
	border-color: rgba(255, 255, 255, .1); color: var(--vmps-silver);
}
.vmps-acts--dark .is-style-vmps-card:hover, .vmps-section--dark .vmps-connect:hover, .vmps-section--dark .vmps-path:hover { background-color: rgba(255, 255, 255, .07); background-size: 100% 4px, auto; }
.vmps-section--dark .vmps-ico::before { background: rgba(252, 78, 1, .14); }
.vmps-section--dark .vmps-ico::after { background-color: var(--wp--preset--color--orange-soft); }
.vmps-card__tag { font-family: var(--vmps-heading); font-size: .72rem !important; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--vmps-ink); }
.vmps-section--dark .vmps-card__tag { color: var(--wp--preset--color--orange-soft); }
.vmps-card__motto { font-family: var(--vmps-heading); font-weight: 700; font-style: italic; color: var(--vmps-charcoal); font-size: .95rem; }
.vmps-section--dark .vmps-card__motto { color: #fff; }

/* Grids */
.vmps-grid > * { margin: 0 !important; }

/* Pills & checks */
ul.is-style-vmps-pills { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
ul.is-style-vmps-pills li { font-size: .85rem; font-weight: 500; padding: .4rem .85rem; border-radius: 999px; background: var(--vmps-paper); border: 1px solid var(--vmps-mist); line-height: 1.3; margin: 0; }
.has-paper-background-color ul.is-style-vmps-pills li, .vmps-panel ul.is-style-vmps-pills li { background: #fff; }
.has-orange-tint-background-color ul.is-style-vmps-pills li { background: #fff; border-color: rgba(252, 78, 1, .2); }
:is(.vmps-section--dark, .vmps-panel--glass, .vmps-panel--dark) ul.is-style-vmps-pills li { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); color: #fff; }
ul.is-style-vmps-check { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
ul.is-style-vmps-check li { position: relative; padding-left: 2rem; line-height: 1.5; }
ul.is-style-vmps-check li::before { content: ""; position: absolute; left: 0; top: .15em; width: 1.3rem; height: 1.3rem; border-radius: 50%; background: var(--vmps-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 70% no-repeat; }

/* ---------- Home: intro, mission & vision ---------- */
.vmps-intro { gap: clamp(2rem, 5vw, 4.5rem) !important; }
.vmps-mv-stack { display: grid; gap: 1.25rem; }
.vmps-mv { overflow: hidden; }
.vmps-mv .vmps-mv__text { font-family: var(--vmps-heading); font-weight: 600; line-height: 1.4; letter-spacing: -.01em; }
.vmps-mv--mission { background: linear-gradient(135deg, #FE7230 0%, #FC4E01 50%, #DA3E01 100%) !important; border: 0; color: #fff; }
.vmps-mv--mission .is-style-vmps-eyebrow { color: #fff; }
.vmps-mv--mission .is-style-vmps-eyebrow::before { background: #fff; }
.vmps-mv--mission::before { background: rgba(255, 255, 255, .18) !important; }
.vmps-mv--mission::after { background-color: #fff !important; }
.vmps-mv--vision { background: var(--vmps-night) !important; border: 0; color: #fff; }
.vmps-mv--vision::before { background: rgba(252, 78, 1, .16) !important; }
.vmps-mv--vision::after { background-color: var(--vmps-orange) !important; }
.vmps-mv:hover::before { transform: rotate(-8deg); }

/* Stats */
.vmps-stats { margin-block: 1rem; }
.vmps-stat { padding: 1.75rem 0 0; border-top: 2px solid rgba(255, 255, 255, .14); position: relative; }
.vmps-stat::before { content: ""; position: absolute; top: -2px; left: 0; width: 48px; height: 2px; background: var(--vmps-orange); }
.vmps-stat > * { margin: 0 !important; }
.vmps-stat__num { font-family: var(--vmps-heading); font-weight: 800; font-size: clamp(2.75rem, 6vw, 4.5rem) !important; line-height: 1; letter-spacing: -.03em; color: #fff; font-variant-numeric: tabular-nums; }
.vmps-stats--compact .vmps-stat__num { font-size: clamp(2rem, 4vw, 3rem) !important; }
.vmps-stat__label { font-family: var(--vmps-heading); font-weight: 700; color: var(--wp--preset--color--orange-soft); margin-top: .6rem !important; font-size: 1rem; }
.vmps-stat__text { margin-top: .5rem !important; color: var(--vmps-silver); max-width: 34ch; }
.vmps-stats--light .vmps-stat { border-color: var(--vmps-mist); }
.vmps-stats--light .vmps-stat__num { color: var(--vmps-charcoal); }
.vmps-stats--light .vmps-stat__label { color: var(--vmps-ink); }

/* Story */
.vmps-story { gap: clamp(2rem, 5vw, 5rem) !important; }
.wp-block-image.is-style-vmps-angled { position: relative; margin: 0; }
.wp-block-image.is-style-vmps-angled img { border-radius: var(--vmps-radius-lg); clip-path: polygon(0 0, 100% 0, 100% 82%, 82% 100%, 0 100%); box-shadow: var(--vmps-shadow-lift); width: 100%; }
.wp-block-image.is-style-vmps-angled::after { content: ""; position: absolute; right: -14px; bottom: -14px; width: 26%; height: 26%; background: linear-gradient(135deg, transparent 50%, var(--vmps-orange) 50%); border-radius: 0 0 var(--vmps-radius-lg) 0; z-index: -1; }
.vmps-story__line p { display: flex; align-items: center; gap: .9rem; font-family: var(--vmps-heading); font-weight: 800; font-size: .95rem; letter-spacing: .08em; text-transform: uppercase; margin-top: 1.75rem; }
.vmps-story__line i { flex: 1; height: 2px; background: linear-gradient(90deg, var(--vmps-orange), var(--vmps-silver)); }
.vmps-story__line span:last-child { color: var(--vmps-ink); }
.vmps-media-stack { position: relative; }
.vmps-float-badge { position: absolute; left: -12px; bottom: 12%; background: var(--vmps-night); color: #fff; padding: 1.1rem 1.4rem; border-radius: var(--vmps-radius); box-shadow: var(--vmps-shadow-lift); border-left: 4px solid var(--vmps-orange); max-width: 250px; }
.vmps-float-badge p { margin: 0; display: flex; flex-direction: column; font-size: .85rem; color: var(--vmps-silver); }
.vmps-float-badge strong { font-family: var(--vmps-heading); font-size: 2rem; color: #fff; line-height: 1.1; }

/* Academic levels */
.vmps-level__num { font-family: var(--vmps-heading); font-weight: 900; font-size: 3.5rem !important; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--vmps-silver); position: absolute; right: var(--pad); top: var(--pad); margin: 0 !important; transition: -webkit-text-stroke-color .3s; }
.vmps-level:hover .vmps-level__num { -webkit-text-stroke-color: var(--vmps-orange); }
.vmps-level__grades { font-family: var(--vmps-heading); font-weight: 700; font-size: .8rem !important; letter-spacing: .1em; text-transform: uppercase; color: var(--vmps-ink); margin-top: .35rem !important; }
.vmps-level .wp-block-heading { margin-top: 0 !important; }
.vmps-levels { margin-bottom: 2.5rem !important; }

/* Achievement feature */
.vmps-feature { padding: 0 !important; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); border-radius: var(--vmps-radius-lg); overflow: hidden; margin-bottom: 1.5rem !important; position: relative; isolation: isolate; }
.vmps-feature::after { content: ""; position: absolute; left: 30%; top: -30%; bottom: -30%; width: 120px; background: rgba(252, 78, 1, .08); transform: skewX(-32deg); z-index: -1; }
.vmps-feature__num { background: linear-gradient(135deg, #FE7230 0%, #FC4E01 45%, #DA3E01 100%); display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 3.5rem); color: #fff; position: relative; overflow: hidden; }
.vmps-feature__num::before { content: ""; position: absolute; right: -40px; top: -20%; bottom: -20%; width: 70px; background: rgba(255, 255, 255, .14); transform: skewX(-32deg); }
.vmps-big-num { font-family: var(--vmps-heading); font-weight: 900; font-size: clamp(4.5rem, 12vw, 9rem) !important; line-height: .9; letter-spacing: -.05em; margin: 0; color: inherit; }
.vmps-big-num span { font-size: .5em; vertical-align: top; }
.vmps-big-num__label { font-family: var(--vmps-heading); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .9rem !important; margin-top: .75rem !important; }
.vmps-feature__body { padding: clamp(2rem, 4vw, 3rem); }
.vmps-feature__body > * { margin-block: 0; }
.vmps-feature__body > * + * { margin-top: 1rem; }
.vmps-chip-inline { display: inline-block; font-family: var(--vmps-heading); font-weight: 700; font-size: .72rem !important; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--orange-soft); border: 1px solid rgba(254, 161, 116, .4); padding: .35rem .75rem; border-radius: 999px; }
.vmps-achievers { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 1.5rem !important; }
.vmps-achievers > * { margin: 0 !important; }
.vmps-achiever { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--vmps-radius); padding: 1rem 1.2rem; }
.vmps-achiever > * { margin: 0 !important; }
.vmps-achiever__tag { font-size: .72rem !important; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--orange-soft); font-weight: 600; }
.vmps-achiever__name { font-family: var(--vmps-heading); font-weight: 800; color: #fff; font-size: 1.15rem; margin-top: .35rem !important; }
.vmps-achiever__score { font-size: .9rem; color: var(--vmps-silver); margin-top: .15rem !important; font-variant-numeric: tabular-nums; }
.vmps-feature__motto { font-family: var(--vmps-heading); font-weight: 800; font-style: italic; color: #fff; font-size: 1.1rem; }
.vmps-ach-grid { margin-bottom: 1.5rem !important; }
.vmps-more-strip { background: var(--vmps-paper); border-radius: var(--vmps-radius-lg); padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 3vw, 2.5rem); gap: 1.5rem 3rem; border-left: 4px solid var(--vmps-orange); }
.vmps-more-strip h3 { margin: 0; }
.vmps-more-strip p { margin: .35rem 0 0; max-width: 62ch; }
.vmps-more-strip .wp-block-buttons { margin: 0; flex: none; }

/* Activities & sports */
.vmps-act h3 { margin-top: 0 !important; }
.vmps-sports-row { gap: .75rem 1rem !important; margin-top: 1.75rem !important; align-items: center !important; }
.vmps-sports-row .vmps-inline-label { margin: 0 !important; }

/* Principal */
.vmps-principal { gap: clamp(2rem, 5vw, 5rem) !important; }
.vmps-principal__photo img { border-radius: var(--vmps-radius-lg); box-shadow: var(--vmps-shadow-lift); }
.vmps-principal__photo { position: relative; margin: 0; }
.vmps-principal__photo::before { content: ""; position: absolute; left: -18px; top: 18px; width: 100%; height: 100%; border: 2px solid var(--vmps-orange); border-radius: var(--vmps-radius-lg); z-index: -1; }
.vmps-principal__quote { font-weight: 700 !important; line-height: 1.3 !important; position: relative; }
.vmps-principal__quote::before { content: "\201C"; position: absolute; left: -.05em; top: -.55em; font-size: 5em; line-height: 1; color: var(--vmps-orange); opacity: .18; font-family: Georgia, serif; z-index: -1; }
.vmps-signature { font-family: var(--vmps-heading); border-left: 3px solid var(--vmps-orange); padding-left: 1rem; line-height: 1.4; margin-top: 1.5rem !important; }
.vmps-signature--script { font-size: 1.4rem; border: 0; padding: 0; color: var(--vmps-ink); }
.vmps-sticky { position: sticky; top: calc(var(--vmps-header-h) + 2rem); }

/* Alumni cards */
.vmps-alumni-card, .vmps-post-card, .vmps-leader-card { background: #fff; border-radius: var(--vmps-radius-lg); overflow: hidden; height: 100%; display: flex; flex-direction: column; border: 1px solid var(--vmps-mist); transition: transform .35s var(--vmps-ease), box-shadow .35s var(--vmps-ease); }
.vmps-alumni-card:hover, .vmps-post-card:hover, .vmps-leader-card:hover { transform: translateY(-6px); box-shadow: var(--vmps-shadow-lift); }
.vmps-section--dark .vmps-alumni-card { background: rgba(255, 255, 255, .04); border-color: rgba(255, 255, 255, .1); }
.vmps-alumni-card .wp-block-post-featured-image, .vmps-post-card .wp-block-post-featured-image, .vmps-leader-card .wp-block-post-featured-image { margin: 0; overflow: hidden; }
.vmps-alumni-card img, .vmps-post-card img, .vmps-leader-card img { transition: transform .6s var(--vmps-ease); }
.vmps-alumni-card:hover img, .vmps-post-card:hover img, .vmps-leader-card:hover img { transform: scale(1.05); }
.vmps-alumni-card__body, .vmps-post-card__body { padding: 1.4rem 1.5rem 1.6rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.vmps-alumni-card__body > *, .vmps-post-card__body > * { margin: 0 !important; }
.vmps-alumni-card .wp-block-post-title a, .vmps-post-card .wp-block-post-title a, .vmps-leader-card .wp-block-post-title a { text-decoration: none; color: inherit; }
.vmps-section--dark .vmps-alumni-card .wp-block-post-title a { color: #fff; }
.vmps-alumni-card .wp-block-post-title a:hover, .vmps-post-card .wp-block-post-title a:hover { color: var(--vmps-ink); }
.vmps-meta-batch { font-family: var(--vmps-heading); font-size: .72rem !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--vmps-ink); }
.vmps-section--dark .vmps-meta-batch, .vmps-page-hero .vmps-meta-batch { color: var(--wp--preset--color--orange-soft); }
.vmps-meta-role { font-weight: 600; }
.vmps-meta-line { font-size: .92rem; opacity: .8; }
.vmps-meta-quote { font-style: italic; font-size: .95rem; border-left: 3px solid var(--vmps-orange); padding-left: .8rem; }
.vmps-page-hero .vmps-meta-role { font-size: 1.25rem; color: #fff; margin-top: .5rem; }
.vmps-page-hero .vmps-meta-quote { font-size: 1.1rem; margin-top: 1.25rem; color: #fff; }
.vmps-read-more { font-family: var(--vmps-heading); font-weight: 700; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; color: var(--vmps-ink); margin-top: auto !important; }
.vmps-section--dark .vmps-read-more { color: var(--wp--preset--color--orange-soft); }
.vmps-alumni-card .vmps-read-more { padding-top: .5rem; }
.vmps-leader-card { padding-bottom: 1.25rem; text-align: center; }
.vmps-leader-card > * { margin: 0 1.25rem !important; }
.vmps-leader-card > .wp-block-post-featured-image { margin: 0 0 1rem !important; }
.vmps-leader-card .wp-block-post-title { margin-top: .25rem !important; }

/* Placeholders for missing featured images */
.vmps-alumni-card .wp-block-post-featured-image:empty, .vmps-leader-card .wp-block-post-featured-image:empty { display: none; }

/* Post cards */
.vmps-post-card__foot { margin-top: auto !important; padding-top: .75rem !important; border-top: 1px solid var(--vmps-mist); align-items: center; }
.vmps-post-card .wp-block-post-excerpt__excerpt { margin: 0; color: var(--vmps-gray); }
.vmps-post-card .wp-block-post-excerpt__more-text { display: none; }
.vmps-chip a, .vmps-chip { text-decoration: none; }
.vmps-chip a { display: inline-block; color: var(--vmps-ink); background: var(--vmps-tint); padding: .3rem .65rem; border-radius: 4px; font-size: .68rem; }
.vmps-page-hero .vmps-chip a { background: var(--vmps-orange); color: #fff; }
.vmps-chip .wp-block-post-terms__separator { display: none; }
.vmps-chip { display: flex; flex-wrap: wrap; gap: .35rem; }
.vmps-pagination { margin-top: 3rem !important; gap: .5rem; font-family: var(--vmps-heading); font-weight: 600; }
.vmps-pagination a, .vmps-pagination .page-numbers { text-decoration: none; padding: .5rem .85rem; border-radius: 4px; color: var(--vmps-charcoal); }
.vmps-pagination .current { background: var(--vmps-charcoal); color: #fff; }
.vmps-filter { gap: .5rem !important; margin-bottom: 2.5rem !important; }
.vmps-filter p { margin: 0; }
.vmps-filter a { display: inline-block; padding: .55rem 1.1rem; border-radius: 999px; border: 1px solid var(--vmps-mist); text-decoration: none; color: var(--vmps-charcoal); font-family: var(--vmps-heading); font-weight: 600; font-size: .85rem; transition: all .25s; }
.vmps-filter a:hover { background: var(--vmps-charcoal); color: #fff; border-color: var(--vmps-charcoal); }

/* Gallery masonry */
.wp-block-gallery.is-style-vmps-masonry { display: block !important; columns: 4 160px; column-gap: 12px; }
.wp-block-gallery.is-style-vmps-masonry.columns-3 { columns: 3 160px; }
.wp-block-gallery.is-style-vmps-masonry > .wp-block-image { width: 100% !important; margin: 0 0 12px !important; break-inside: avoid; border-radius: var(--vmps-radius); overflow: hidden; display: block; }
.wp-block-gallery.is-style-vmps-masonry > .wp-block-image img { height: auto !important; aspect-ratio: auto !important; object-fit: cover; width: 100%; transition: transform .6s var(--vmps-ease), filter .4s; display: block; }
.wp-block-gallery.is-style-vmps-masonry > .wp-block-image:hover img { transform: scale(1.04); }
.vmps-gallery-block + .vmps-gallery-block { margin-top: var(--wp--preset--spacing--60) !important; }
.vmps-gallery-block h2 { margin-bottom: 1.25rem; display: flex; align-items: center; gap: 1rem; }
.vmps-gallery-block h2::after { content: ""; flex: 1; height: 1px; background: var(--vmps-mist); }

/* Join (admissions + visit) */
.vmps-section--join { padding-block: var(--wp--preset--spacing--60); }
.vmps-join { border-radius: var(--vmps-radius-lg); padding: clamp(2rem, 4vw, 3.5rem); position: relative; overflow: hidden; isolation: isolate; color: #fff; }
.vmps-join > * { margin-block: 0; }
.vmps-join > * + * { margin-top: 1rem; }
.vmps-join--apply { background: linear-gradient(135deg, #FE7230 0%, #FC4E01 45%, #DA3E01 100%); }
.vmps-join--apply .is-style-vmps-eyebrow { color: #fff; }
.vmps-join--apply .is-style-vmps-eyebrow::before { background: #fff; }
.vmps-join--apply .wp-block-button.is-style-vmps-light .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .7); }
.vmps-join--visit { background: var(--vmps-night) url("../images/dark-lines.webp") right bottom / cover no-repeat; }
.vmps-join::after { content: ""; position: absolute; right: -60px; top: -30%; bottom: -30%; width: 120px; background: rgba(255, 255, 255, .1); transform: skewX(-32deg); z-index: -1; }

/* Final CTA */
.vmps-section--final { overflow: hidden; isolation: isolate; text-align: center; padding-block: var(--wp--preset--spacing--80); }
.vmps-section--final::before { content: ""; position: absolute; inset: 0; background: url("../images/dark-lines.webp") center bottom / cover no-repeat; opacity: .6; z-index: 0; }
.vmps-section--final::after { content: ""; position: absolute; left: 50%; top: -20%; bottom: -20%; width: 180px; margin-left: -90px; background: linear-gradient(180deg, rgba(252, 78, 1, .5), rgba(252, 78, 1, 0)); transform: skewX(-32deg); z-index: 0; }
.vmps-final .is-style-vmps-eyebrow { justify-content: center; }
.vmps-final__title { text-transform: uppercase; font-weight: 900 !important; letter-spacing: -.02em; }
.vmps-final .is-style-vmps-lead { max-width: 58ch; margin-inline: auto !important; }

/* Timeline */
.vmps-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; position: relative; margin-top: 1rem; }
.vmps-timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 11px; height: 2px; background: linear-gradient(90deg, var(--vmps-orange), rgba(209, 208, 209, .25)); }
.vmps-tl__item { position: relative; padding: 2.5rem 1.25rem 0 0; margin: 0 !important; }
.vmps-tl__item::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--vmps-night); border: 3px solid var(--vmps-orange); box-sizing: border-box; transition: transform .3s; }
.vmps-tl__item:hover::before, .vmps-tl__item.is-highlight::before { background: var(--vmps-orange); transform: scale(1.25); }
.vmps-tl__item > * { margin: 0 !important; }
.vmps-tl__year { font-family: var(--vmps-heading); font-weight: 900; font-size: 1.6rem !important; color: var(--vmps-orange); letter-spacing: -.02em; }
.vmps-tl__item h3 { color: #fff; margin-top: .4rem !important; }
.vmps-tl__item p:last-child { margin-top: .5rem !important; color: var(--vmps-silver); }

/* Steps (admissions process) */
.vmps-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem 2.5rem; counter-reset: s; margin-bottom: 1rem !important; }
.vmps-step { display: grid; grid-template-columns: 64px 1fr; gap: 1.25rem; padding: 1.5rem 0; border-top: 1px solid rgba(255, 255, 255, .1); margin: 0 !important; }
.vmps-step__num { font-family: var(--vmps-heading); font-weight: 900; font-size: 2.25rem !important; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--vmps-orange); margin: 0 !important; }
.vmps-step:hover .vmps-step__num { color: var(--vmps-orange); }
.vmps-step__body > * { margin: 0 !important; }
.vmps-step__body > * + * { margin-top: .5rem !important; }
.vmps-step__body .wp-block-buttons { margin-top: .5rem !important; }
.vmps-step h3 { color: #fff; }

/* Quick guide */
.vmps-guide { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .75rem; position: relative; }
.vmps-guide__step { background: var(--vmps-paper); border-radius: var(--vmps-radius-lg); padding: 1.25rem 1rem 1.4rem; position: relative; margin: 0 !important; transition: background .3s, transform .3s var(--vmps-ease); }
.vmps-guide__step:hover { background: var(--vmps-tint); transform: translateY(-4px); }
.vmps-guide__step > * { margin: 0 !important; }
.vmps-guide__step > * + * { margin-top: .4rem !important; }
.vmps-guide__num { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: var(--vmps-charcoal); color: #fff; font-family: var(--vmps-heading); font-weight: 800; font-size: .85rem !important; margin-bottom: .75rem !important; }
.vmps-guide__step:last-child { background: var(--vmps-orange); color: #fff; }
.vmps-guide__step:last-child h3 { color: #fff; }
.vmps-guide__step:last-child .vmps-guide__num { background: #fff; color: var(--vmps-orange-deep); }
.vmps-guide__step:not(:last-child)::after { content: "→"; position: absolute; right: -.7rem; top: 1.6rem; color: var(--vmps-orange); font-weight: 700; z-index: 1; }

/* Academic stages */
.vmps-stage { padding-block: 2.5rem; border-top: 1px solid var(--vmps-mist); margin: 0 !important; }
.vmps-stage:last-child { border-bottom: 1px solid var(--vmps-mist); }
.vmps-stage__num { font-family: var(--vmps-heading); font-weight: 900; font-size: clamp(4rem, 8vw, 6.5rem) !important; line-height: .9; color: transparent; -webkit-text-stroke: 2px var(--vmps-orange); margin: 0 !important; }
.vmps-stage h2 { margin-top: 0 !important; }

/* Panels */
.vmps-panel { border-radius: var(--vmps-radius-lg); padding: clamp(1.5rem, 3vw, 2.25rem); }
.vmps-panel > * { margin-block: 0; }
.vmps-panel > * + * { margin-top: 1rem; }
.vmps-panel--glass { background: rgba(255, 255, 255, .05); border: 1px solid rgba(255, 255, 255, .12); }
.vmps-panel--dark { color: var(--vmps-silver); }
.vmps-panel--dark h3 { color: #fff; }
.vmps-panel--form { background: #fff; border: 1px solid var(--vmps-mist); box-shadow: var(--vmps-shadow); }
.vmps-excel-card { border-radius: var(--vmps-radius-lg); padding: clamp(2rem, 4vw, 3rem); color: var(--vmps-orange-deep); }
.vmps-excel-card .vmps-big-num__label { color: var(--vmps-charcoal); }
.vmps-mini-stat { color: var(--vmps-charcoal); }
.vmps-mini-stat strong { font-family: var(--vmps-heading); font-size: 1.5rem; display: block; color: var(--vmps-ink); }
.vmps-section--orange-edge { border-left: 0; }
.vmps-section--orange-edge::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--vmps-orange); }

/* Keywords row */
.vmps-keywords p { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; font-family: var(--vmps-heading); font-weight: 900; font-size: clamp(1.4rem, 3vw, 2rem); text-transform: uppercase; letter-spacing: -.01em; margin-top: 1.5rem; }
.vmps-keywords span:nth-child(odd) { color: var(--vmps-orange); }
.vmps-keywords span + span::before { content: "·"; color: var(--vmps-silver); margin-right: 1.25rem; }

/* Mini facts */
.vmps-mini { background: #fff; border-radius: var(--vmps-radius); padding: 1rem 1.1rem; border-top: 3px solid var(--vmps-orange); margin: 0 !important; }
.vmps-mini > * { margin: 0 !important; }
.vmps-mini > * + * { margin-top: .3rem !important; }
.vmps-form-page .vmps-mini { background: var(--vmps-paper); }

/* Events */
.vmps-event { background: #fff; border-radius: var(--vmps-radius-lg); overflow: hidden; height: 100%; box-shadow: var(--vmps-shadow); transition: transform .35s var(--vmps-ease), box-shadow .35s; }
.vmps-event:hover { transform: translateY(-6px); box-shadow: var(--vmps-shadow-lift); }
.vmps-event__img { margin: 0 !important; overflow: hidden; }
.vmps-event__body { padding: 1.5rem; }
.vmps-event__body > * { margin: 0 !important; }
.vmps-event__body > * + * { margin-top: .6rem !important; }

/* Experience grid */
.vmps-exp { background: rgba(255, 255, 255, .03); border: 1px solid rgba(255, 255, 255, .1); border-radius: var(--vmps-radius-lg); padding: 1.75rem 1.5rem; margin: 0 !important; transition: background .3s, border-color .3s; height: 100%; box-sizing: border-box; }
.vmps-exp:hover { background: rgba(255, 255, 255, .06); border-color: rgba(252, 78, 1, .5); }
.vmps-exp > * { margin: 0 !important; }
.vmps-exp__where { font-family: var(--vmps-heading); font-weight: 800; color: #fff; font-size: 1.1rem; }
.vmps-exp__where::before { content: ""; display: block; width: 24px; height: 3px; background: var(--vmps-orange); margin-bottom: .9rem; }
.vmps-exp__what { margin-top: .5rem !important; color: var(--vmps-silver); font-size: .95rem; }

/* Facilities */
.vmps-fac { background: #fff; border-radius: var(--vmps-radius-lg); overflow: hidden; height: 100%; box-shadow: var(--vmps-shadow); transition: transform .35s var(--vmps-ease), box-shadow .35s; }
.vmps-fac:hover { transform: translateY(-6px); box-shadow: var(--vmps-shadow-lift); }
.vmps-fac__img { margin: 0 !important; overflow: hidden; }
.vmps-fac__img img { transition: transform .6s var(--vmps-ease); }
.vmps-fac:hover .vmps-fac__img img { transform: scale(1.05); }
.vmps-fac__body { padding: 1.25rem 1.3rem 1.5rem; }
.vmps-fac__body > * { margin: 0 !important; }
.vmps-fac__body > * + * { margin-top: .45rem !important; }

/* FAQ */
.wp-block-details.is-style-vmps-faq { border-bottom: 1px solid var(--vmps-mist); padding-block: 0; }
.wp-block-details.is-style-vmps-faq summary { list-style: none; cursor: pointer; font-family: var(--vmps-heading); font-weight: 700; font-size: 1.05rem; padding: 1.25rem 3rem 1.25rem 0; position: relative; transition: color .2s; }
.wp-block-details.is-style-vmps-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-vmps-faq summary::after { content: ""; position: absolute; right: .25rem; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 50%; background: var(--vmps-tint) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA3E01' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform .3s var(--vmps-ease), background-color .3s; }
.wp-block-details.is-style-vmps-faq[open] summary::after { transform: rotate(45deg); background-color: var(--vmps-orange); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E"); }
.wp-block-details.is-style-vmps-faq summary:hover { color: var(--vmps-ink); }
.wp-block-details.is-style-vmps-faq > :not(summary) { margin: 0 0 1.25rem; color: #4a4a4c; }
.wp-block-details.is-style-vmps-faq:first-child { border-top: 1px solid var(--vmps-mist); }
.vmps-faqs > .wp-block-column:first-child > * { position: relative; }

/* Schedule */
.vmps-schedule { background: #fff; border-radius: var(--vmps-radius-lg); box-shadow: var(--vmps-shadow-lift); overflow: hidden; border: 1px solid var(--vmps-mist); }
.vmps-schedule__head { background: var(--vmps-night); color: #fff; padding: 1rem 1.5rem; }
.vmps-schedule dl { margin: 0; padding: .5rem 1.5rem 1rem; }
.vmps-schedule dl > div { display: grid; grid-template-columns: 1fr 1.2fr; gap: 1rem; padding: .85rem 0; border-bottom: 1px dashed var(--vmps-mist); }
.vmps-schedule dl > div:last-child { border-bottom: 0; }
.vmps-schedule dt { font-family: var(--vmps-heading); font-weight: 700; font-size: .9rem; }
.vmps-schedule dd { margin: 0; color: var(--vmps-gray); }

/* Tables */
.vmps-table table, .wp-block-table.vmps-table table { border-collapse: collapse; width: 100%; border-radius: var(--vmps-radius); overflow: hidden; }
.vmps-table th { background: var(--vmps-charcoal); color: #fff; text-align: left; font-family: var(--vmps-heading); font-weight: 700; font-size: .85rem; padding: .8rem 1rem; border: 0; }
.vmps-table td { padding: .8rem 1rem; border: 0; border-bottom: 1px solid var(--vmps-mist); }
.vmps-table tbody tr:nth-child(even) td { background: var(--vmps-paper); }

/* Contact list & social */
.vmps-contact-list { list-style: none; padding: 0; margin: 1.25rem 0; display: grid; gap: .9rem; }
.vmps-contact-list li { display: grid; grid-template-columns: 22px 1fr; gap: .8rem; align-items: start; line-height: 1.55; }
.vmps-contact-list .vmps-svg { color: var(--vmps-orange); margin-top: .15rem; }
.vmps-contact-list a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.vmps-contact-list a:hover { color: var(--vmps-ink); border-bottom-color: currentColor; }
.vmps-social { display: inline-flex; gap: .5rem; flex-wrap: wrap; }
.vmps-social a { width: 40px; height: 40px; display: inline-grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .08); color: #fff; transition: background .25s, transform .25s; }
.vmps-social a:hover { background: var(--vmps-orange); transform: translateY(-3px); }
.vmps-social-row .vmps-social a { background: var(--vmps-charcoal); }
.vmps-map { position: relative; width: 100%; max-width: 100%; aspect-ratio: 21 / 8; min-height: 320px; background: var(--vmps-paper); overflow: hidden; }
@media (max-width: 900px) { .vmps-map { aspect-ratio: auto; height: 360px; min-height: 0; } }
.vmps-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; filter: grayscale(.85) contrast(1.05); }
.vmps-map-wrap { margin: 0 !important; }
.vmps-contact { gap: clamp(2rem, 5vw, 4.5rem) !important; }

/* ---------- Forms ---------- */
.vmps-form-page { padding-block: var(--wp--preset--spacing--60); }
.vmps-form-page > * { max-width: 900px; }
.vmps-form-intro { margin-bottom: 1.5rem; }
.vmps-form { margin-block: 1.5rem; }
.vmps-form__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.1rem 1.25rem; }
.vmps-field { grid-column: span 6; display: flex; flex-direction: column; gap: .4rem; margin: 0; min-width: 0; }
.vmps-w-half { grid-column: span 3; }
.vmps-w-third { grid-column: span 2; }
.vmps-field label, .vmps-field legend { font-family: var(--vmps-heading); font-weight: 600; font-size: .85rem; color: var(--vmps-charcoal); padding: 0; }
.vmps-req { color: var(--vmps-ink); }
.vmps-field input[type="text"], .vmps-field input[type="email"], .vmps-field input[type="tel"], .vmps-field input[type="date"], .vmps-field select, .vmps-field textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--vmps-charcoal); background: #fff;
	border: 1.5px solid #d6d5d6; border-radius: 6px; padding: .8rem .9rem; min-height: 50px; transition: border-color .2s, box-shadow .2s;
}
.vmps-field select { appearance: none; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23323233' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right .8rem center / 18px no-repeat; padding-right: 2.5rem; }
.vmps-field textarea { min-height: 120px; resize: vertical; }
.vmps-field :is(input, select, textarea):hover { border-color: #a9a8aa; }
.vmps-field :is(input, select, textarea):focus { outline: none; border-color: var(--vmps-orange); box-shadow: 0 0 0 4px rgba(252, 78, 1, .15); }
.vmps-field input[type="file"] { font-size: .9rem; padding: .7rem; border: 1.5px dashed #c9c8c9; border-radius: 6px; background: var(--vmps-paper); cursor: pointer; width: 100%; box-sizing: border-box; }
.vmps-field input[type="file"]::file-selector-button { font-family: var(--vmps-heading); font-weight: 700; font-size: .75rem; letter-spacing: .05em; text-transform: uppercase; background: var(--vmps-charcoal); color: #fff; border: 0; border-radius: 4px; padding: .55rem .9rem; margin-right: .8rem; cursor: pointer; }
.vmps-field__help { font-size: .8rem; color: var(--vmps-gray); }
.vmps-field__error { font-size: .82rem; color: #b42318; font-weight: 600; }
.vmps-field.has-error :is(input, select, textarea) { border-color: #d92d20; background-color: #fffafa; }
.vmps-field--heading { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--vmps-mist); }
.vmps-field--heading:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.vmps-field--heading :is(h2, h3) { margin: 0; font-size: 1.15rem; font-weight: 700; line-height: 1.3; display: flex; align-items: center; gap: .6rem; }
.vmps-field--heading :is(h2, h3)::before { content: ""; width: 10px; height: 10px; background: var(--vmps-orange); transform: rotate(45deg); }
fieldset.vmps-field { border: 0; padding: 0; }
.vmps-choices { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .5rem; margin-top: .25rem; }
.vmps-choice { display: flex !important; align-items: flex-start; gap: .6rem; font-family: var(--wp--preset--font-family--body) !important; font-weight: 400 !important; font-size: .95rem !important; cursor: pointer; padding: .65rem .8rem; border: 1.5px solid var(--vmps-mist); border-radius: 6px; background: #fff; transition: border-color .2s, background .2s; line-height: 1.4; }
.vmps-choice:hover { border-color: var(--vmps-orange); }
.vmps-choice input { accent-color: var(--vmps-orange-deep); width: 18px; height: 18px; margin: .1rem 0 0; flex: none; }
.vmps-choice:has(input:checked) { border-color: var(--vmps-orange); background: var(--vmps-tint); }
.vmps-choice--consent { background: var(--vmps-paper); border-color: transparent; }
.vmps-form__required-note { font-size: .8rem; color: var(--vmps-gray); margin: 1.25rem 0 0; }
.vmps-form__submit { margin-top: 1rem; }
.vmps-form__submit .wp-block-button__link { font-size: .95rem; padding: 1.1rem 2.25rem; }
.vmps-form__submit .wp-block-button__link[disabled] { opacity: .6; pointer-events: none; }
.vmps-form-errors { background: #fef3f2; border: 1px solid #fecdca; color: #912018; border-radius: var(--vmps-radius); padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.vmps-form-errors ul { margin: .5rem 0 0; padding-left: 1.2rem; }
.vmps-form-success { text-align: center; background: #fff; border: 1px solid var(--vmps-mist); border-top: 5px solid var(--vmps-orange); border-radius: var(--vmps-radius-lg); padding: clamp(2rem, 5vw, 3.5rem); box-shadow: var(--vmps-shadow-lift); margin-block: 1.5rem; }
.vmps-form-success__icon { width: 72px; height: 72px; margin: 0 auto 1.25rem; border-radius: 50%; background: var(--vmps-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center / 55% no-repeat; animation: vmps-pop .6s var(--vmps-ease); }
@keyframes vmps-pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.vmps-form-success :is(h2, h3) { margin: 0 0 .75rem; font-size: clamp(1.4rem, 3vw, 1.75rem); }
.vmps-form-success__ref strong { display: inline-block; font-family: var(--vmps-heading); background: var(--vmps-tint); color: var(--vmps-ink); padding: .4rem .9rem; border-radius: 6px; margin-left: .5rem; letter-spacing: .04em; }
@media (max-width: 700px) {
	.vmps-w-half, .vmps-w-third { grid-column: span 6; }
}

/* ---------- Articles ---------- */
.vmps-article { padding-block: var(--wp--preset--spacing--60); }
.vmps-article__image { margin-top: calc(-1 * var(--wp--preset--spacing--80)) !important; position: relative; z-index: 2; box-shadow: var(--vmps-shadow-lift); border-radius: var(--vmps-radius-lg); overflow: hidden; }
.vmps-page-hero--post { padding-bottom: calc(var(--wp--preset--spacing--80) + 2rem); }
.vmps-article .wp-block-post-content > * + * { margin-top: 1.25rem; }
.vmps-article .wp-block-post-content :is(h2, h3) { margin-top: 2.5rem; }
.vmps-article .wp-block-quote { font-family: var(--vmps-heading); font-weight: 700; font-size: 1.4rem; margin-block: 2rem; }
.wp-block-post-navigation-link a { text-decoration: none; font-weight: 600; }
.vmps-page-content { padding-block: var(--wp--preset--spacing--60); }
.vmps-page-content > .alignfull:first-child { margin-top: calc(-1 * var(--wp--preset--spacing--60)); }
.vmps-page-content > .alignfull:last-child { margin-bottom: calc(-1 * var(--wp--preset--spacing--60)); }
.vmps-404__code { font-family: var(--vmps-heading); font-weight: 900; font-size: clamp(6rem, 18vw, 12rem); line-height: .8; color: transparent; -webkit-text-stroke: 2px var(--vmps-orange); margin: 0; }
.vmps-search { max-width: 520px; margin-top: 1.5rem; }
.vmps-search .wp-block-search__input { border-radius: 6px 0 0 6px; border: 0; padding: .9rem 1rem; font: inherit; }
.vmps-search .wp-block-search__button { margin-left: 0; border-radius: 0 6px 6px 0; }

/* ---------- Footer ---------- */
.vmps-footer { position: relative; overflow: hidden; isolation: isolate; font-size: .95rem; }
.vmps-footer::before { content: ""; position: absolute; inset: 0; background: url("../images/dark-lines.webp") left bottom / cover no-repeat; opacity: .35; z-index: -1; transform: scaleX(-1); }
.vmps-footer::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: linear-gradient(90deg, var(--vmps-orange) 0 30%, var(--vmps-graphite) 30%); }
.vmps-footer__cols { gap: 2rem clamp(2rem, 4vw, 4rem) !important; }
.vmps-footer__title { font-size: .8rem !important; letter-spacing: .16em; text-transform: uppercase; color: #fff !important; margin-bottom: 1.25rem; font-weight: 700 !important; }
.vmps-footer__tagline { font-family: var(--vmps-heading); font-weight: 800; margin-top: 1.5rem; }
.vmps-footer__links { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.vmps-footer__links a, .vmps-footer a { color: var(--vmps-silver); text-decoration: none; transition: color .2s, padding .2s; }
.vmps-footer__links a:hover { color: #fff; padding-left: .35rem; }
.vmps-footer__links a:hover::before { content: "›"; color: var(--vmps-orange); margin-right: .35rem; }
.vmps-footer .vmps-contact-list { margin: 0; }
.vmps-footer__bottom { margin-top: var(--wp--preset--spacing--60) !important; padding-top: 1.5rem; border-top: 1px solid rgba(255, 255, 255, .1); gap: .5rem 2rem; }
.vmps-footer__bottom p { margin: 0; color: #9b9a9c; }
.vmps-footer__bottom { padding-bottom: 4.5rem; }
.vmps-footer__motto { font-family: var(--vmps-heading); font-style: italic; }

/* WhatsApp button */
.vmps-fab { position: fixed; right: 20px; bottom: 20px; z-index: 900; display: inline-flex; align-items: center; gap: .5rem; background: #15803D; color: #fff; text-decoration: none; font-family: var(--vmps-heading); font-weight: 700; font-size: .85rem; padding: .8rem 1.1rem; border-radius: 999px; box-shadow: 0 12px 28px -10px rgba(0, 0, 0, .45); transition: transform .25s var(--vmps-ease); }
.vmps-fab:hover { transform: translateY(-3px); color: #fff; }
.vmps-fab .vmps-svg { width: 22px; height: 22px; }
@media (max-width: 600px) { .vmps-fab span { display: none; } .vmps-fab { padding: .85rem; } }

/* ---------- Scroll reveal ---------- */
.vmps-js .vmps-reveal { opacity: 0; transform: translateY(28px); transition: opacity .8s var(--vmps-ease), transform .8s var(--vmps-ease); transition-delay: var(--d, 0s); }
.vmps-js .vmps-reveal.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.vmps-js .vmps-reveal { opacity: 1; transform: none; transition: none; }
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.vmps-guide { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.vmps-guide__step::after { display: none; }
}
@media (max-width: 900px) {
	.vmps-feature { grid-template-columns: 1fr; }
	.vmps-steps { grid-template-columns: 1fr; }
	.vmps-timeline { grid-template-columns: 1fr; }
	.vmps-timeline::before { left: 8px; right: auto; top: 0; bottom: 0; width: 2px; height: auto; background: linear-gradient(180deg, var(--vmps-orange), rgba(209, 208, 209, .25)); }
	.vmps-tl__item { padding: 0 0 2rem 2.5rem; }
	.vmps-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vmps-more-strip { flex-wrap: wrap !important; }
	.vmps-hero::after, .vmps-page-hero::after { opacity: .3; }
	.vmps-sticky { position: static; }
}
@media (max-width: 781px) {
	.vmps-hero__badge { flex-basis: 45%; padding-right: 1rem; }
	.vmps-hero__badge + .vmps-hero__badge { padding-left: 0; border-left: 0; }
	.vmps-hero__badge:nth-child(even) { padding-left: 1rem !important; border-left: 1px solid rgba(255, 255, 255, .12) !important; }
	.vmps-achievers { grid-template-columns: 1fr; }
	.vmps-principal__photo::before { left: -10px; top: 10px; }
	.vmps-float-badge { left: 12px; }
	.vmps-hero__wrap { min-height: auto; }
	.vmps-hero__motto { margin: .75rem 0 0; display: block; }
	.vmps-section:not(.has-background) + .vmps-section:not(.has-background) { border-top: 0; }
}
@media (max-width: 480px) {
	.vmps-guide { grid-template-columns: 1fr; }
	.vmps-hero__badge strong { font-size: 1.1rem; }
	.vmps-hero__badge p { font-size: .8rem; }
}

/* Open mobile menu: left aligned */
.vmps-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.vmps-nav .is-menu-open .wp-block-navigation__container,
.vmps-nav .is-menu-open .wp-block-navigation-item,
.vmps-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }
.vmps-nav .is-menu-open .has-child > .wp-block-navigation-item__content { border-bottom: 1px solid rgba(255, 255, 255, .08); width: 100%; }

/* Desktop dropdowns: never inherit the mobile overlay's white text colour */
.vmps-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content { color: var(--vmps-charcoal) !important; }
.vmps-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.vmps-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus { color: var(--vmps-ink) !important; }

/* Top bar social icons */
.vmps-topbar__social .vmps-social { gap: .15rem; vertical-align: middle; }
.vmps-topbar__social .vmps-social a { width: 26px; height: 26px; background: transparent; color: var(--vmps-silver); }
.vmps-topbar__social .vmps-social a:hover { background: var(--vmps-orange); color: #fff; transform: none; }
.vmps-topbar__social .vmps-svg { width: 15px; height: 15px; }

/* Faculty: featured profiles (founder, principal) */
.vmps-profile-feature-list { list-style: none; padding: 0; margin: 0; }
.vmps-profile-feature { gap: clamp(2rem, 5vw, 4.5rem) !important; margin-top: 1rem; }
.vmps-profile-feature .wp-block-post-title { margin: .35rem 0 0; }
.vmps-profile-feature .vmps-meta-line { margin-top: .35rem; }
.vmps-profile-feature__text { margin-top: 1.25rem; }
.vmps-profile-feature__text > * + * { margin-top: 1rem; }
.vmps-section--dark .vmps-profile-feature .wp-block-post-title { color: #fff; }
.vmps-section--dark .vmps-profile-feature__text { color: var(--vmps-silver); }
.vmps-profile-feature .wp-block-post-featured-image img { border-radius: var(--vmps-radius-lg); box-shadow: var(--vmps-shadow-lift); }
.vmps-section--tight { padding-bottom: var(--wp--preset--spacing--40); }
.vmps-leader-card .vmps-meta-role { font-family: var(--vmps-heading); font-size: .72rem !important; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--vmps-ink); margin-top: .35rem !important; }
.vmps-leader-card .vmps-meta-line { font-weight: 600; opacity: 1; }

/* No gaps between header rows (flow layout adds block-gap margins) */
.vmps-header > * { margin-block: 0 !important; }
.wp-site-blocks > header.wp-block-template-part > .vmps-header { margin: 0; }

/* ---------- 1.2.0 QA fixes ---------- */
/* Small orange eyebrow text on dark cards needs the soft orange to stay readable. */
.vmps-mv--vision .is-style-vmps-eyebrow { color: var(--wp--preset--color--orange-soft, #FEA174); }
/* Card titles moved from h3 to h2 in archive templates: keep the same look. */
:is(.vmps-post-card, .vmps-alumni-card) h2.wp-block-post-title { font-weight: 700; line-height: 1.15; }
/* Bigger tap targets for footer and filter links on touch screens. */
@media (max-width: 781px) {
	.vmps-footer__links { gap: .15rem; }
	.vmps-footer__links a { display: inline-block; padding-block: .45rem; }
}
/* Client-side field messages. */
.vmps-field__error--js { display: none; }
.vmps-field.has-error .vmps-field__error--js { display: block; }
