/*
 * VWS Theme — feuille de style du site public.
 * Bleu nuit et ardoise, accent emeraude. Aucune police externe (RGPD).
 */

:root {
	--ink: #0A1424;
	--slate-deep: #16233A;
	--slate: #334155;
	--mute: #67788F;
	--line: #DDE3EC;
	--line-soft: #E9EDF3;
	--mist: #F5F7FA;
	--emerald: #059669;
	--emerald-dark: #047857;
	--amber: #F0731E;
	--radius: 10px;
	--radius-lg: 16px;
	--wrap: 1140px;
	--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 80px; }

body {
	margin: 0;
	font-family: var(--font);
	font-size: 17px;
	line-height: 1.6;
	color: var(--slate);
	background: #fff;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }

[hidden] { display: none !important; }

.vwst-sr {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.vwst-skip { position: absolute; left: -9999px; top: 0; z-index: 200; background: var(--ink); color: #fff; padding: 12px 18px; }
.vwst-skip:focus { left: 10px; top: 10px; }

.vwst-notice {
	background: #FEF1E6; color: #96490D; border-bottom: 1px solid #F6D6BB;
	padding: 12px 20px; font-size: 14px; text-align: center;
}

.vwst-link { color: var(--emerald-dark); text-decoration: none; border-bottom: 1px solid rgba(14,159,110,.35); }
.vwst-link:hover { border-bottom-color: var(--emerald-dark); }
.vwst-muted { color: var(--mute); font-size: 15px; }

/* --------------------------------------------------------- boutons */

.vwst-btn {
	display: inline-flex; align-items: center; justify-content: center;
	font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1;
	padding: 13px 22px; border-radius: var(--radius); border: 1px solid transparent;
	text-decoration: none; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.vwst-btn-lg { font-size: 16px; padding: 16px 28px; }
.vwst-btn-primary { background: var(--ink); color: #fff; }
.vwst-btn-primary:hover { background: var(--slate-deep); }
.vwst-btn-accent { background: var(--emerald); color: #fff; }
.vwst-btn-accent:hover { background: var(--emerald-dark); }
.vwst-btn-outline { background: #fff; color: var(--ink); border-color: var(--line); }
.vwst-btn-outline:hover { border-color: var(--ink); }
.vwst-btn-ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.35); }
.vwst-btn-ghost:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.vwst-btn-quiet { background: transparent; color: var(--slate); border-color: transparent; }
.vwst-btn-quiet:hover { color: var(--ink); }

/* --------------------------------------------------------- en-tete */

.vwst-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255,255,255,.94);
	backdrop-filter: saturate(140%) blur(8px);
	border-bottom: 1px solid var(--line-soft);
}
.vwst-header.is-stuck { box-shadow: 0 2px 12px rgba(10,20,36,.06); }
.vwst-header-inner {
	max-width: var(--wrap); margin: 0 auto; padding: 0 24px;
	display: flex; align-items: center; gap: 24px; min-height: 72px;
}
.vwst-brand { text-decoration: none; display: block; line-height: 1.2; }
.vwst-brand img, .custom-logo { max-height: 44px; width: auto; display: block; }
.vwst-brand-name { display: block; font-size: 17px; font-weight: 700; color: var(--ink); letter-spacing: -.015em; }
.vwst-brand-role { display: block; font-size: 12px; color: var(--mute); margin-top: 2px; }

.vwst-nav { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.vwst-nav-list { list-style: none; display: flex; gap: 24px; margin: 0; padding: 0; }
.vwst-nav-list a { font-size: 15px; color: var(--slate); text-decoration: none; }
.vwst-nav-list a:hover { color: var(--ink); }
.vwst-nav-actions { display: flex; align-items: center; gap: 10px; }

.vwst-burger { display: none; margin-left: auto; background: none; border: 0; padding: 8px; cursor: pointer; flex-direction: column; gap: 5px; }
.vwst-burger span { display: block; width: 22px; height: 2px; background: var(--ink); border-radius: 2px; }

/* --------------------------------------------------------- hero */

.vwst-hero {
	background: var(--ink);
	background-image: radial-gradient(circle at 78% 12%, rgba(14,159,110,.16), transparent 46%);
	color: #fff; padding: 96px 24px 84px;
}
.vwst-hero-inner { max-width: var(--wrap); margin: 0 auto; }
.vwst-hero-title {
	font-size: clamp(34px, 5vw, 54px); line-height: 1.08; letter-spacing: -.03em;
	font-weight: 700; color: #fff; margin: 0 0 22px; max-width: 17ch;
}
.vwst-hero-lead { font-size: 19px; line-height: 1.6; color: #C6D2E3; max-width: 62ch; margin: 0 0 34px; }
.vwst-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 60px; }

.vwst-hero-facts {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
	gap: 28px; margin: 0; padding-top: 34px; border-top: 1px solid rgba(255,255,255,.14);
}
.vwst-hero-facts div { margin: 0; }
.vwst-hero-facts dt { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #7F91AC; margin-bottom: 7px; }
.vwst-hero-facts dd { margin: 0; font-size: 15px; color: #D6DFEC; line-height: 1.5; }

/* --------------------------------------------------------- sections */

.vwst-section { padding: 88px 24px; }
.vwst-section-alt { background: var(--mist); }
.vwst-section-inner { max-width: var(--wrap); margin: 0 auto; }
.vwst-section-narrow { max-width: 760px; }
.vwst-section-head { max-width: 68ch; margin-bottom: 46px; }
.vwst-eyebrow { font-size: 13px; font-weight: 600; color: var(--emerald-dark); margin: 0 0 12px; }
.vwst-h2 { font-size: clamp(26px, 3.4vw, 36px); line-height: 1.18; letter-spacing: -.025em; font-weight: 700; color: var(--ink); margin: 0 0 16px; }
.vwst-section-lead { font-size: 17.5px; color: var(--mute); margin: 0; line-height: 1.65; }
.vwst-section-foot { margin: 38px 0 0; font-size: 15.5px; color: var(--mute); }
.vwst-disclaimer { font-size: 14px; padding-top: 22px; border-top: 1px solid var(--line-soft); }

/* --------------------------------------------------------- generateur */

.vwst-section-generator { background: var(--mist); }
.vwst-gen-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 56px; align-items: start; }
.vwst-gen-text .vwst-section-lead { margin-bottom: 30px; }

.vwst-steps { list-style: none; counter-reset: step; margin: 0 0 30px; padding: 0; }
.vwst-steps li {
	counter-increment: step; display: flex; gap: 14px; align-items: baseline;
	padding: 13px 0; border-bottom: 1px solid var(--line);
}
.vwst-steps li::before {
	content: counter( step ); flex: none;
	font-size: 12px; font-weight: 700; color: var(--amber);
	width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--amber);
	display: inline-flex; align-items: center; justify-content: center;
}
.vwst-steps li span { font-size: 16px; color: var(--slate); }

.vwst-gen-price { margin: 0; display: flex; gap: 14px; align-items: baseline; flex-wrap: wrap; }
.vwst-gen-price strong { font-size: 40px; font-weight: 700; color: var(--ink); letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.vwst-gen-price span { font-size: 15px; color: var(--mute); max-width: 34ch; }

.vwst-gen-panel {
	background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg);
	padding: 30px 28px; box-shadow: 0 1px 2px rgba(10,20,36,.05), 0 14px 40px rgba(10,20,36,.07);
}
.vwst-gen-panel-title { font-size: 19px; font-weight: 700; color: var(--ink); margin: 0 0 20px; letter-spacing: -.015em; }

/* --------------------------------------------------------- aides */

.vwst-aides { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.vwst-aide { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 26px 24px; background: #fff; }
.vwst-aide-gain {
	font-size: 22px; font-weight: 700; color: var(--emerald-dark);
	margin: 0 0 12px; letter-spacing: -.02em; font-variant-numeric: tabular-nums;
}
.vwst-aide-name { font-size: 17px; font-weight: 700; color: var(--ink); margin: 0 0 4px; }
.vwst-aide-who { font-size: 13px; color: var(--mute); margin: 0 0 14px; }
.vwst-aide-text { font-size: 15px; margin: 0; line-height: 1.6; }

/* --------------------------------------------------------- methode */

.vwst-method-grid { display: grid; grid-template-columns: 1fr 1.15fr; gap: 56px; align-items: start; }
.vwst-method-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 26px; }
.vwst-method-list h3 { font-size: 16.5px; font-weight: 700; color: var(--ink); margin: 0 0 6px; }
.vwst-method-list p { margin: 0; font-size: 15.5px; color: var(--mute); line-height: 1.6; }

/* --------------------------------------------------------- contact */

.vwst-section-contact { background: var(--ink); color: #fff; }
.vwst-section-contact .vwst-h2 { color: #fff; }
.vwst-section-contact .vwst-eyebrow { color: #4FD1A0; }
.vwst-section-contact .vwst-section-lead { color: #C6D2E3; }
.vwst-contact-grid { display: grid; grid-template-columns: 1fr 460px; gap: 60px; align-items: start; }
.vwst-contact-direct { margin: 30px 0 0; font-size: 16px; color: #C6D2E3; }
.vwst-contact-direct a { color: #fff; font-weight: 600; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); margin-left: 6px; }
.vwst-contact-panel { background: #fff; border-radius: var(--radius-lg); padding: 30px 28px; color: var(--slate); }

/* --------------------------------------------------------- faq */

.vwst-faq { border-top: 1px solid var(--line); }
.vwst-faq-item { border-bottom: 1px solid var(--line); }
.vwst-faq-item summary {
	cursor: pointer; list-style: none; padding: 20px 34px 20px 0; position: relative;
	font-size: 17px; font-weight: 600; color: var(--ink);
}
.vwst-faq-item summary::-webkit-details-marker { display: none; }
.vwst-faq-item summary::after {
	content: ""; position: absolute; right: 6px; top: 50%; width: 9px; height: 9px;
	border-right: 2px solid var(--mute); border-bottom: 2px solid var(--mute);
	transform: translateY(-70%) rotate(45deg); transition: transform .18s ease;
}
.vwst-faq-item[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.vwst-faq-item p { margin: 0 0 22px; font-size: 16px; color: var(--mute); max-width: 74ch; line-height: 1.65; }

/* --------------------------------------------------------- pages internes */

.vwst-page { padding: 72px 24px 88px; }
.vwst-page-inner { max-width: 760px; margin: 0 auto; }
.vwst-page-title { font-size: clamp(28px, 4vw, 38px); line-height: 1.2; letter-spacing: -.025em; color: var(--ink); font-weight: 700; margin: 0 0 26px; }
.vwst-entry { padding-bottom: 30px; margin-bottom: 30px; border-bottom: 1px solid var(--line-soft); }
.vwst-entry-title { font-size: 22px; margin: 0 0 8px; }
.vwst-entry-title a { color: var(--ink); text-decoration: none; }
.vwst-entry-meta { font-size: 14px; color: var(--mute); margin: 0 0 24px; }
.vwst-prose { font-size: 17px; line-height: 1.7; }
.vwst-prose h2 { font-size: 23px; color: var(--ink); margin: 38px 0 12px; letter-spacing: -.015em; }
.vwst-prose h3 { font-size: 19px; color: var(--ink); margin: 30px 0 10px; }
.vwst-prose p { margin: 0 0 18px; }
.vwst-prose ul, .vwst-prose ol { margin: 0 0 18px; padding-left: 22px; }
.vwst-prose li { margin-bottom: 8px; }
.vwst-prose a { color: var(--emerald-dark); }
.vwst-404-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.vwst-pagination { margin-top: 30px; font-size: 15px; }
.vwst-pagination a { color: var(--emerald-dark); }

/* --------------------------------------------------------- pied */

.vwst-footer { background: var(--slate-deep); color: #A9B8CE; padding: 66px 24px 0; }
.vwst-footer-inner {
	max-width: var(--wrap); margin: 0 auto;
	display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 44px;
	padding-bottom: 48px;
}
.vwst-footer-name { font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 4px; }
.vwst-footer-role { font-size: 14px; margin: 0 0 16px; color: #93A4BF; }
.vwst-footer-zone { font-size: 14px; margin: 0; line-height: 1.6; max-width: 42ch; }
.vwst-footer-col h2 { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #7F91AC; margin: 0 0 14px; font-weight: 600; }
.vwst-footer-col ul { list-style: none; margin: 0; padding: 0; }
.vwst-footer-col li { margin-bottom: 9px; }
.vwst-footer-col a { color: #C6D2E3; text-decoration: none; font-size: 15px; }
.vwst-footer-col a:hover { color: #fff; }
.vwst-footer-legal { max-width: var(--wrap); margin: 0 auto; border-top: 1px solid rgba(255,255,255,.1); padding: 22px 0 30px; }
.vwst-footer-legal p { margin: 0; font-size: 13px; color: #7F91AC; }

/* ------------------------------------------- composants injectes par le plugin */

.vws-modules { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px; }
.vws-module { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 26px; background: #fff; display: flex; flex-direction: column; }
.vws-module-name { font-size: 19px; font-weight: 700; color: var(--ink); margin: 0 0 8px; letter-spacing: -.015em; }
.vws-module-pitch { font-size: 15.5px; color: var(--mute); margin: 0 0 4px; line-height: 1.6; }
.vws-module-list { list-style: none; margin: 0 0 24px; padding: 0; font-size: 15px; flex: 1 1 auto; }
.vws-module-list li { position: relative; padding: 0 0 10px 22px; line-height: 1.55; }
.vws-module-list li::before {
	content: ""; position: absolute; left: 2px; top: 8px; width: 6px; height: 6px;
	border-radius: 50%; background: var(--emerald);
}

.vws-price-split { display: flex; gap: 32px; margin: 18px 0 20px; padding: 14px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.vws-price-split div { margin: 0; }
.vws-price-split dt { font-size: 12px; color: var(--mute); margin: 0 0 4px; }
.vws-price-split dd { margin: 0; font-size: 22px; font-weight: 700; color: var(--ink); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }

.vws-formulas { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; }
.vws-formula { border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 26px; background: #fff; display: flex; flex-direction: column; }
.vws-formula-head { display: block; margin-bottom: 12px; }
.vws-formula-name { font-size: 19px; font-weight: 700; color: var(--ink); margin: 0 0 4px; letter-spacing: -.015em; }
.vws-formula-mode { font-size: 13px; color: var(--emerald-dark); margin: 0 0 16px; }
.vws-formula-price { font-size: 30px; font-weight: 700; color: var(--ink); margin: 0 0 14px; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.vws-formula-price span { font-size: 14px; font-weight: 500; color: var(--mute); letter-spacing: 0; }
.vws-formula-pitch { font-size: 15.5px; color: var(--mute); margin: 0 0 18px; line-height: 1.6; }

/* --------------------------------------------------------- responsive */

@media (max-width: 1024px) {
	.vwst-gen-grid, .vwst-method-grid, .vwst-contact-grid { grid-template-columns: 1fr; gap: 40px; }
	.vwst-footer-inner { grid-template-columns: 1fr 1fr; gap: 34px; }
}

/* --------------------------------------------------------- qui suis-je */

.vwst-about-hero { background: var(--ink); color: #fff; padding: 76px 24px 66px; }
.vwst-about-inner { max-width: var(--wrap); margin: 0 auto; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 48px; align-items: center; }
.vwst-about-photo { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: var(--radius-lg); display: block; }
.vwst-about-hero .vwst-eyebrow { color: #4FD1A0; }
.vwst-about-title { font-size: clamp(34px, 5vw, 52px); line-height: 1.05; letter-spacing: -.03em; font-weight: 700; color: #fff; margin: 0 0 22px; }

.vwst-about-quote {
	margin: 0 0 20px; padding: 0 0 0 18px; border-left: 3px solid var(--emerald);
	font-size: 19px; line-height: 1.5; color: #fff; font-weight: 500; max-width: 54ch;
}
.vwst-about-lead { font-size: 16px; color: #C6D2E3; margin: 0 0 22px; max-width: 62ch; line-height: 1.65; }

.vwst-tags { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 20px; padding: 0; }
.vwst-tags li {
	font-size: 12.5px; color: #C6D2E3; padding: 6px 14px;
	border: 1px solid rgba(255,255,255,.18); border-radius: 20px;
}
.vwst-zone {
	margin: 0; font-size: 13.5px; color: #A9B8CE; padding: 10px 16px;
	background: rgba(14,159,110,.1); border: 1px solid rgba(14,159,110,.28); border-radius: var(--radius);
	display: inline-block;
}

.vwst-figures { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; }
.vwst-figures div { border-left: 3px solid var(--emerald); padding: 4px 0 4px 18px; border-radius: 0; }
.vwst-figure { font-size: 34px; font-weight: 700; color: var(--ink); letter-spacing: -.03em; margin: 0; font-variant-numeric: tabular-nums; }
.vwst-figure-label { font-size: 14px; color: var(--mute); margin: 4px 0 0; line-height: 1.45; }

.vwst-section-urgence { background: var(--mist); }
.vwst-eyebrow-alert { color: #C0392B; }
.vwst-urgence { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.vwst-check { list-style: none; margin: 26px 0 0; padding: 0; }
.vwst-check li { position: relative; padding: 0 0 12px 26px; font-size: 15.5px; line-height: 1.55; }
.vwst-check li::before {
	content: ""; position: absolute; left: 2px; top: 6px; width: 9px; height: 5px;
	border-left: 2px solid var(--emerald); border-bottom: 2px solid var(--emerald);
	transform: rotate(-45deg);
}
.vwst-urgence-box { background: var(--ink); border-radius: var(--radius-lg); padding: 28px 26px; color: #fff; }
.vwst-urgence-box-title { font-size: 17px; font-weight: 700; color: #fff; margin: 0 0 8px; }
.vwst-urgence-box-note { font-size: 14.5px; color: #C6D2E3; margin: 0 0 22px; line-height: 1.55; }
.vwst-urgence-box-phone { font-size: 13.5px; color: #93A4BF; margin: 14px 0 0; text-align: center; }
.vwst-urgence-box-phone a { color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.4); }

.vwst-skills { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 22px; }
.vwst-skills article { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 24px 22px; }
.vwst-skills h3 { font-size: 16.5px; font-weight: 700; color: var(--ink); margin: 0 0 8px; letter-spacing: -.01em; }
.vwst-skills p { margin: 0; font-size: 15px; color: var(--mute); line-height: 1.6; }

.vwst-method-steps { list-style: none; counter-reset: vstep; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
.vwst-method-steps li { counter-increment: vstep; border-top: 2px solid var(--line); padding-top: 18px; border-radius: 0; }
.vwst-method-steps li::before {
	content: "0" counter( vstep ); display: block; font-size: 12px; font-weight: 700;
	color: var(--emerald-dark); letter-spacing: .1em; margin-bottom: 10px;
}
.vwst-method-steps h3 { font-size: 16.5px; font-weight: 700; color: var(--ink); margin: 0 0 8px; }
.vwst-method-steps p { margin: 0; font-size: 15px; color: var(--mute); line-height: 1.6; }

.vwst-about-cta { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 36px; padding-top: 30px; border-top: 1px solid var(--line); }

/* --------------------------------------------------------- me contacter */

.vwst-contact-two { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.vwst-contact-card { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-lg); padding: 28px 26px; }
.vwst-contact-card-title { font-size: 18px; font-weight: 700; color: var(--ink); margin: 0 0 6px; letter-spacing: -.015em; }
.vwst-contact-card-note { font-size: 14.5px; color: var(--mute); margin: 0 0 20px; line-height: 1.55; }
.vwst-contact-client { margin-top: 32px; background: var(--mist); border-radius: var(--radius-lg); padding: 28px; }
.vwst-contact-client h2 { font-size: 17px; color: var(--ink); margin: 0 0 6px; }
.vwst-contact-client p { margin: 0; font-size: 15px; color: var(--mute); }

/* --------------------------------------------------------- pied : portrait */

.vwst-footer-photo { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; display: block; margin-bottom: 12px; border: 2px solid rgba(255,255,255,.12); }

@media (max-width: 860px) {
	.vwst-about-inner { grid-template-columns: 1fr; gap: 26px; }
	.vwst-about-photo { max-width: 200px; }
	.vwst-urgence { grid-template-columns: 1fr; gap: 32px; }
	.vwst-about-quote { font-size: 17px; }
	.vwst-contact-two { grid-template-columns: 1fr; }
}

/* --------------------------------------------- panneaux de formulaire */

.vwst-gen-panel,
.vwst-contact-panel,
.vwst-contact-card {
	box-shadow: 0 1px 2px rgba(10,20,36,.05), 0 16px 44px rgba(10,20,36,.08);
	border: 1px solid rgba(221,227,236,.9);
}
.vwst-gen-panel-title,
.vwst-contact-card-title {
	font-size: 18px; font-weight: 700; color: var(--ink);
	letter-spacing: -.015em; margin: 0 0 4px;
}
.vwst-gen-panel { position: relative; }
.vwst-gen-panel::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
	background: var(--amber); border-radius: 16px 16px 0 0;
}
.vwst-contact-panel { position: relative; }
.vwst-contact-panel::before {
	content: ""; position: absolute; inset: 0 0 auto 0; height: 3px;
	background: var(--emerald); border-radius: 16px 16px 0 0;
}
.vwst-gen-panel-sub {
	font-size: 13.5px; color: var(--mute); margin: 0 0 22px;
	padding-bottom: 18px; border-bottom: 1px solid var(--line-soft);
}

/* ============================================================ boutons
 * Couleurs portées par a.vwst-btn pour l'emporter sur les règles de lien.
 * Survol : inversion, fond blanc et texte de la couleur du fond d'origine.
 */

a.vwst-btn, button.vwst-btn, .vwst-btn {
	border: 1px solid transparent;
	text-decoration: none;
	transition: background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .12s ease;
}

a.vwst-btn-accent, button.vwst-btn-accent, .vwst-btn-accent {
	background: var(--emerald); color: #fff; border-color: var(--emerald);
	box-shadow: 0 1px 2px rgba(4,120,87,.2), 0 8px 20px rgba(4,120,87,.22);
}
a.vwst-btn-accent:hover, button.vwst-btn-accent:hover, .vwst-btn-accent:hover {
	background: #fff; color: var(--emerald-dark); border-color: var(--emerald);
	box-shadow: 0 1px 2px rgba(4,120,87,.12);
}

a.vwst-btn-primary, button.vwst-btn-primary, .vwst-btn-primary {
	background: var(--ink); color: #fff; border-color: var(--ink);
}
a.vwst-btn-primary:hover, button.vwst-btn-primary:hover, .vwst-btn-primary:hover {
	background: #fff; color: var(--ink); border-color: var(--ink);
}

a.vwst-btn-outline, button.vwst-btn-outline, .vwst-btn-outline {
	background: #fff; color: var(--ink); border-color: var(--line);
}
a.vwst-btn-outline:hover, button.vwst-btn-outline:hover, .vwst-btn-outline:hover {
	background: var(--ink); color: #fff; border-color: var(--ink);
}

a.vwst-btn-ghost, .vwst-btn-ghost {
	background: transparent; color: #fff; border-color: rgba(255,255,255,.4);
}
a.vwst-btn-ghost:hover, .vwst-btn-ghost:hover {
	background: #fff; color: var(--ink); border-color: #fff;
}

a.vwst-btn-quiet, .vwst-btn-quiet { background: transparent; color: var(--slate); border-color: transparent; }
a.vwst-btn-quiet:hover, .vwst-btn-quiet:hover { color: var(--emerald-dark); background: transparent; }

.vwst-btn:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(5,150,105,.3); }
.vwst-btn:active { transform: translateY(1px); }

/* ===================================================== correctifs mise en page */

/* La barre d'administration de WordPress décale l'en-tête collant. */
body.admin-bar .vwst-header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .vwst-header { top: 46px; } }

/* Sans portrait chargé, la colonne image ne doit pas laisser un vide. */
.vwst-about-inner { grid-template-columns: minmax(0, 1fr); }
.vwst-about-inner:has(.vwst-about-photo) { grid-template-columns: 300px minmax(0, 1fr); }
.vwst-about-hero { padding-top: 92px; }

/* Le titre du hero ne doit jamais passer sous l'en-tête collant. */
.vwst-hero { padding-top: 104px; }

/* ======================================================= relief général */

.vws-module, .vws-formula, .vwst-aide, .vwst-skills article {
	transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.vws-module:hover, .vws-formula:hover, .vwst-aide:hover, .vwst-skills article:hover {
	border-color: var(--emerald);
	box-shadow: 0 2px 4px rgba(5,150,105,.07), 0 16px 40px rgba(5,150,105,.12);
	transform: translateY(-3px);
}
.vws-module-list li::before, .vwst-check li::before { border-color: var(--emerald); }
.vws-module-list li::before { background: var(--emerald); }
.vwst-eyebrow { color: var(--emerald-dark); }
.vwst-aide-gain { color: var(--emerald-dark); }
.vwst-figures div { border-left-color: var(--emerald); }
.vwst-method-steps li::before { color: var(--emerald-dark); }

@media (max-width: 1024px) {
	.vwst-about-inner:has(.vwst-about-photo) { grid-template-columns: 1fr; }
}

/* ================================================= page « Qui suis-je » */

.vwst-about-hero {
	background:
		radial-gradient( circle at 12% 22%, rgba(5,150,105,.22), transparent 46% ),
		radial-gradient( circle at 88% 8%, rgba(5,150,105,.1), transparent 40% ),
		var(--ink);
	position: relative;
}
.vwst-about-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient( 90deg, transparent, rgba(5,150,105,.6), transparent );
}
.vwst-about-inner:has(.vwst-about-figure) { grid-template-columns: 290px minmax(0, 1fr); }

.vwst-about-figure { margin: 0; position: relative; }
.vwst-about-figure::before {
	content: ""; position: absolute; inset: -10px -10px 26px 12px;
	border: 1px solid rgba(5,150,105,.45); border-radius: var(--radius-lg);
}
.vwst-about-photo {
	position: relative; border-radius: var(--radius-lg);
	box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.vwst-about-figure figcaption {
	position: relative; margin-top: 14px;
	font-size: 14px; font-weight: 600; color: #fff;
}
.vwst-about-figure figcaption span {
	display: block; font-weight: 400; font-size: 12.5px; color: #93A4BF; margin-top: 2px;
}

.vwst-about-quote {
	border-left: 0; padding: 0 0 0 26px; position: relative;
	font-size: 20px; line-height: 1.45; font-weight: 500;
}
.vwst-about-quote::before {
	content: "";
	position: absolute; left: 0; top: 4px; bottom: 4px; width: 3px;
	background: linear-gradient( 180deg, var(--emerald), rgba(5,150,105,.1) );
	border-radius: 3px;
}

.vwst-tags li {
	background: rgba(5,150,105,.14); border-color: rgba(5,150,105,.34); color: #A7F3D0;
}
.vwst-zone { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); }

.vwst-figures { gap: 0; }
.vwst-figures div {
	border-left: 0; padding: 0 32px; position: relative;
}
.vwst-figures div + div::before {
	content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 1px; background: var(--line);
}
.vwst-figures div:first-child { padding-left: 0; }
.vwst-figure { font-size: 40px; letter-spacing: -.035em; }
.vwst-figure-label { font-size: 13.5px; max-width: 24ch; }

.vwst-urgence-box {
	background: linear-gradient( 165deg, #16233A, var(--ink) );
	box-shadow: 0 2px 4px rgba(10,20,36,.1), 0 22px 50px rgba(10,20,36,.22);
	border: 1px solid rgba(255,255,255,.08);
}
.vwst-urgence-box-title { font-size: 18px; letter-spacing: -.01em; }

.vwst-skills article { padding: 26px 24px; }
.vwst-skills h3 { position: relative; padding-top: 14px; }
.vwst-skills h3::before {
	content: ""; position: absolute; left: 0; top: 0; width: 26px; height: 2px;
	background: var(--emerald); border-radius: 2px;
}

.vwst-method-steps li { border-top-width: 1px; padding-top: 20px; }
.vwst-method-steps li::before { font-size: 13px; letter-spacing: .12em; }

@media (max-width: 1024px) {
	.vwst-about-inner:has(.vwst-about-figure) { grid-template-columns: 1fr; }
	.vwst-about-figure { max-width: 220px; }
	.vwst-figures div { padding: 0 0 18px; }
	.vwst-figures div + div::before { display: none; }
}

/* ================================================= palette révisée */

:root {
	--blue: #3A8EBA;
	--blue-dark: #2E7398;
	--blue-tint: #EAF3F9;
	--silver: #8A97A6;
}

a.vwst-btn-accent, button.vwst-btn-accent, .vwst-btn-accent {
	background: var(--blue); color: #fff; border-color: var(--blue);
	box-shadow: 0 1px 2px rgba(46,115,152,.2), 0 8px 20px rgba(58,142,186,.24);
}
a.vwst-btn-accent:hover, button.vwst-btn-accent:hover, .vwst-btn-accent:hover {
	background: #fff; color: var(--blue-dark); border-color: var(--blue);
}
a.vwst-btn-primary, button.vwst-btn-primary, .vwst-btn-primary {
	background: var(--blue); color: #fff; border-color: var(--blue);
}
a.vwst-btn-primary:hover, button.vwst-btn-primary:hover, .vwst-btn-primary:hover {
	background: #fff; color: var(--blue-dark); border-color: var(--blue);
}
a.vwst-btn-outline:hover, button.vwst-btn-outline:hover, .vwst-btn-outline:hover {
	background: var(--blue); color: #fff; border-color: var(--blue);
}
.vwst-btn:focus-visible { box-shadow: 0 0 0 3px rgba(58,142,186,.32); }
.vwst-eyebrow, .vwst-aide-gain, .vwst-method-steps li::before { color: var(--blue-dark); }
.vwst-figures div { border-left-color: var(--blue); }
.vws-module-list li::before { background: var(--blue); }
.vwst-check li::before { border-color: var(--blue); }
.vws-module:hover, .vws-formula:hover, .vwst-aide:hover, .vwst-skills article:hover {
	border-color: var(--blue);
	box-shadow: 0 2px 4px rgba(58,142,186,.08), 0 16px 40px rgba(58,142,186,.14);
}
.vwst-skills h3::before { background: var(--blue); }
.vwst-link { color: var(--blue-dark); border-bottom-color: rgba(58,142,186,.4); }
.vwst-contact-panel::before { background: var(--blue); }

/* ============================================ en-tête et signature */

.vwst-header-inner { min-height: 78px; gap: 32px; }

.vwst-brand { display: flex; align-items: center; gap: 12px; }
.vwst-logo, .vwst-brand .custom-logo { height: 42px; width: auto; display: block; flex: none; }

.vwst-word { display: block; line-height: 1; }
.vwst-word-1, .vwst-word-2 {
	font-size: 21px; font-weight: 700; letter-spacing: -.025em;
}
.vwst-word-1 { color: var(--silver); }
.vwst-word-2 { color: var(--blue); margin-left: 2px; }
.vwst-word-sub {
	display: block; margin-top: 5px;
	font-size: 10.5px; font-weight: 500; letter-spacing: .05em;
	text-transform: uppercase; color: var(--mute);
}

/* Le menu tient sur une ligne : plus de libellés coupés en deux. */
.vwst-nav { gap: 22px; }
.vwst-nav-list { gap: 4px; align-items: center; }
.vwst-nav-list li { white-space: nowrap; }
.vwst-nav-list a {
	display: block; padding: 9px 12px; border-radius: 8px;
	font-size: 14.5px; font-weight: 500; color: var(--slate); white-space: nowrap;
	transition: background-color .14s ease, color .14s ease;
}
.vwst-nav-list a:hover { background: var(--blue-tint); color: var(--blue-dark); }
.vwst-nav-list .current-menu-item > a,
.vwst-nav-list .is-current > a { background: var(--blue-tint); color: var(--blue-dark); font-weight: 600; }

.vwst-nav-actions { gap: 8px; white-space: nowrap; }
.vwst-nav-actions .vwst-btn { padding: 11px 16px; font-size: 14px; white-space: nowrap; }
.vwst-nav-actions .vwst-btn-quiet { padding-left: 10px; padding-right: 10px; }

@media (max-width: 1240px) {
	.vwst-nav-list a { padding: 9px 9px; font-size: 14px; }
	.vwst-word-sub { display: none; }
}

/* Bouton hamburger : au repos une pastille discrète, avec une vraie
   transformation en croix à l'ouverture — plus seulement trois traits figés. */
.vwst-burger {
	position: relative; width: 40px; height: 40px; border-radius: 10px;
	background: var(--blue-tint, rgba(58,142,186,.1)); border: 1px solid transparent;
	transition: background-color .18s ease, border-color .18s ease;
}
.vwst-burger:hover { background: rgba(58,142,186,.18); }
.vwst-burger span {
	position: relative; transition: transform .22s ease, opacity .22s ease, width .22s ease;
}
.vwst-burger span:nth-child(2) { width: 16px; align-self: center; }
.vwst-burger[aria-expanded="true"] { background: var(--blue-dark, #1d4e6b); border-color: var(--blue-dark, #1d4e6b); }
.vwst-burger[aria-expanded="true"] span { background: #fff; }
.vwst-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.vwst-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; width: 0; }
.vwst-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Menu replié : un seul jeu de règles cohérent, à partir de la largeur où le
   hamburger apparaît. Avant, deux blocs de largeurs différentes (1080px et
   860px) se contredisaient sur la position de .vwst-nav — l'un l'affichait en
   tiroir plein écran (position: absolute), l'autre repassait ensuite la même
   propriété à static, cassant le tiroir sur tous les téléphones. */
@media (max-width: 1080px) {
	.vwst-burger { display: flex; }
	.vwst-header-inner { position: relative; }
	.vwst-nav {
		display: none; position: absolute; left: 0; right: 0; top: 100%;
		background: #fff; border-bottom: 1px solid var(--line);
		box-shadow: 0 16px 32px -12px rgba(15, 30, 53, .18);
		flex-direction: column; align-items: stretch; gap: 0; padding: 12px 24px 20px;
		max-height: calc(100vh - 78px); overflow-y: auto;
	}
	.vwst-nav.is-open { display: flex; }
	.vwst-nav-list { display: flex; flex-direction: column; gap: 0; }
	.vwst-nav-list li { border-bottom: 1px solid var(--line-soft); }
	.vwst-nav-list a { padding: 14px 4px; border-radius: 0; }
	.vwst-nav-actions { flex-direction: column; align-items: stretch; gap: 10px; margin-top: 16px; white-space: normal; }
	.vwst-nav-actions .vwst-btn { width: 100%; }
}
@media (max-width: 860px) {
	body { font-size: 16px; }
	.vwst-logo, .vwst-brand .custom-logo { height: 34px; }
	.vwst-word-1, .vwst-word-2 { font-size: 18px; }

	.vwst-hero { padding: 62px 20px 56px; }
	.vwst-hero-lead { font-size: 17px; }
	.vwst-hero-actions { margin-bottom: 44px; }
	.vwst-hero-actions .vwst-btn { width: 100%; }
	.vwst-section { padding: 60px 20px; }
	.vwst-section-head { margin-bottom: 34px; }
	.vwst-gen-panel, .vwst-contact-panel { padding: 24px 20px; }
	.vwst-footer-inner { grid-template-columns: 1fr; }
	.vwst-page { padding: 48px 20px 64px; }
}

/* ============================================ pages de rubrique */

.vwst-phero {
	background:
		radial-gradient( circle at 85% 15%, rgba(58,142,186,.28), transparent 52% ),
		linear-gradient( 160deg, #16233A 0%, var(--ink) 70% );
	color: #fff; padding: 100px 24px 62px; position: relative;
}
.vwst-phero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient( 90deg, transparent, rgba(58,142,186,.7), transparent );
}
.vwst-phero-inner { max-width: var(--wrap); margin: 0 auto; }

.vwst-breadcrumb { font-size: 13px; color: #8FA3BC; margin-bottom: 22px; }
.vwst-breadcrumb a { color: #C6D2E3; text-decoration: none; }
.vwst-breadcrumb a:hover { color: #fff; }
.vwst-breadcrumb span { margin: 0 8px; }
.vwst-breadcrumb span:last-child { margin: 0; color: #fff; }

.vwst-eyebrow-light { color: #7FC0E2; }
.vwst-phero-title {
	font-size: clamp(30px, 4.4vw, 46px); line-height: 1.08; letter-spacing: -.03em;
	font-weight: 700; color: #fff; margin: 0 0 18px; max-width: 20ch;
}
.vwst-phero-lead { font-size: 17.5px; line-height: 1.62; color: #C6D2E3; max-width: 66ch; margin: 0; }

.vwst-phero-facts {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 26px; margin: 44px 0 0; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.14);
}
.vwst-phero-facts div { margin: 0; }
.vwst-phero-facts dt {
	font-size: 11px; text-transform: uppercase; letter-spacing: .1em;
	color: #7FC0E2; margin-bottom: 7px; font-weight: 600;
}
.vwst-phero-facts dd { margin: 0; font-size: 16px; color: #fff; font-weight: 500; }

.vwst-pcta { background: var(--mist); text-align: center; }
.vwst-pcta .vwst-section-lead { margin: 0 auto; max-width: 58ch; }
.vwst-pcta-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 28px; }

.vwst-aide-for {
	margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line-soft);
	font-size: 13.5px; color: var(--mute);
}
.vwst-aide-for strong { display: block; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--blue-dark); margin-bottom: 4px; }

.vwst-faq-group { margin-bottom: 48px; }
.vwst-faq-group:last-child { margin-bottom: 0; }
.vwst-faq-group-title {
	font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .12em;
	color: var(--blue-dark); margin: 0 0 14px; display: flex; align-items: center; gap: 12px;
}
.vwst-faq-group-title::after { content: ""; flex: 1; height: 1px; background: var(--line); }

@media (max-width: 860px) {
	.vwst-phero { padding: 82px 20px 48px; }
	.vwst-phero-facts { gap: 20px; margin-top: 32px; padding-top: 24px; }
}

/* Bouton Consulting : fond légèrement grisé plutôt que blanc. */
a.vwst-btn-soft, .vwst-btn-soft {
	background: #EDF1F5; color: var(--ink); border-color: #DDE4EC;
}
a.vwst-btn-soft:hover, .vwst-btn-soft:hover {
	background: var(--blue); color: #fff; border-color: var(--blue);
}
.vwst-ico { flex: none; opacity: .85; }
.vwst-nav-actions .vwst-btn { display: inline-flex; align-items: center; gap: 7px; }

/* ==================================================== page KOREOS */

.vwst-khero {
	background:
		radial-gradient( circle at 12% 20%, rgba(249,115,22,.24), transparent 44% ),
		radial-gradient( circle at 88% 78%, rgba(249,115,22,.16), transparent 42% ),
		linear-gradient( 165deg, #1A1512 0%, #0D0B0A 75% );
	color: #fff; padding: 104px 24px 76px; position: relative; overflow: hidden;
}
.vwst-khero::before {
	content: ""; position: absolute; inset: 0;
	background-image: radial-gradient( rgba(249,115,22,.16) 1px, transparent 1px );
	background-size: 22px 22px; opacity: .5; pointer-events: none;
}
.vwst-khero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient( 90deg, transparent, rgba(249,115,22,.8), transparent );
}
.vwst-khero-inner { max-width: var(--wrap); margin: 0 auto; position: relative; }
.vwst-khero .vwst-breadcrumb a { color: #D6C7BC; }
.vwst-khero .vwst-breadcrumb span:last-child { color: #FDBA74; }

.vwst-kmark { display: flex; align-items: center; gap: 16px; margin: 8px 0 28px; }
.vwst-kmark-k {
	width: 62px; height: 62px; flex: none;
	display: flex; align-items: center; justify-content: center;
	font-size: 34px; font-weight: 800; color: #FDBA74;
	border: 2px solid rgba(249,115,22,.6); border-radius: 14px;
	background: linear-gradient( 160deg, rgba(249,115,22,.24), rgba(249,115,22,.04) );
	box-shadow: 0 0 26px rgba(249,115,22,.3) inset, 0 10px 34px rgba(249,115,22,.2);
}
.vwst-kmark-word {
	font-size: 42px; font-weight: 800; letter-spacing: .18em;
	background: linear-gradient( 180deg, #FED7AA 0%, #F97316 52%, #B45309 100% );
	-webkit-background-clip: text; background-clip: text; color: transparent;
}

.vwst-khero-title {
	font-size: clamp(28px, 3.8vw, 40px); line-height: 1.15; letter-spacing: -.025em;
	font-weight: 700; color: #fff; margin: 0 0 18px; max-width: 24ch;
}
.vwst-khero-lead { font-size: 17px; line-height: 1.65; color: #C9BBB1; max-width: 64ch; margin: 0 0 34px; }
.vwst-khero-actions { display: flex; gap: 12px; flex-wrap: wrap; }

a.vwst-btn-korange, .vwst-btn-korange {
	background: linear-gradient( 180deg, #F97316, #EA580C );
	color: #fff; border-color: #EA580C;
	box-shadow: 0 2px 4px rgba(234,88,12,.28), 0 12px 30px rgba(249,115,22,.3);
}
a.vwst-btn-korange:hover, .vwst-btn-korange:hover {
	background: #fff; color: #C2410C; border-color: #fff;
}

@media (max-width: 860px) {
	.vwst-khero { padding: 84px 20px 56px; }
	.vwst-kmark-k { width: 48px; height: 48px; font-size: 26px; }
	.vwst-kmark-word { font-size: 30px; }
	.vwst-khero-actions .vwst-btn { width: 100%; }
}

/* Intitulés du menu horizontal en blanc lorsqu’ils sont sur fond sombre. */
.vwst-phero .vwst-breadcrumb span:last-child,
.vwst-khero .vwst-breadcrumb span:last-child { color: #fff; }

/* ==================================================== pied de page */

.vwst-footer-inner {
	display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 44px;
	max-width: var(--wrap); margin: 0 auto; padding: 60px 24px 44px;
}

.vwst-footer-mark { display: flex; align-items: center; gap: 12px; text-decoration: none; margin-bottom: 16px; }
.vwst-footer-logo { height: 40px; width: auto; display: block; flex: none; }
.vwst-footer-mark .vwst-word-1 { color: #C3CEDC; }
.vwst-footer-mark .vwst-word-2 { color: #6FB4DC; }
.vwst-footer-mark .vwst-word-1,
.vwst-footer-mark .vwst-word-2 { font-size: 22px; font-weight: 700; letter-spacing: -.025em; }

.vwst-footer-tagline { font-size: 13.5px; color: #93A4BF; margin: 0 0 16px; }
.vwst-footer-zone { font-size: 13.5px; line-height: 1.65; color: #7A8BA5; margin: 0; max-width: 38ch; }

.vwst-footer-title {
	font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: #6FB4DC; margin: 0 0 14px;
}
.vwst-footer-col ul { list-style: none; margin: 0; padding: 0; }
.vwst-footer-col li { margin-bottom: 10px; }
.vwst-footer-col a {
	font-size: 14px; color: #C3CEDC; text-decoration: none;
	transition: color .14s ease;
}
.vwst-footer-col a:hover { color: #fff; }

.vwst-linkedin {
	display: inline-flex; align-items: center; gap: 9px; margin-top: 20px;
	padding: 9px 16px; border-radius: 9px; text-decoration: none;
	font-size: 14px; font-weight: 600; color: #fff;
	background: #0A66C2; border: 1px solid #0A66C2;
	transition: background-color .15s ease, color .15s ease;
}
a.vwst-linkedin, a.vwst-linkedin:link, a.vwst-linkedin:visited { color: #fff; }
a.vwst-linkedin:hover { background: #fff; color: #0A66C2; }
.vwst-linkedin .vwst-ico { flex: none; }

.vwst-footer-legal {
	border-top: 1px solid rgba(255,255,255,.1);
	max-width: var(--wrap); margin: 0 auto; padding: 22px 24px 34px;
}
.vwst-footer-legal p { font-size: 12.5px; line-height: 1.6; color: #67788F; margin: 0; }

@media (max-width: 980px) {
	.vwst-footer-inner { grid-template-columns: 1fr 1fr; gap: 34px; }
}
@media (max-width: 620px) {
	.vwst-footer-inner { grid-template-columns: 1fr; gap: 30px; padding: 44px 20px 32px; }
}

/* --------------------------------------- encart « dans votre espace » */

.vwst-note-espace {
	display: grid; gap: 8px; margin-bottom: 30px;
	padding: 22px 26px; border-radius: 14px;
	background: linear-gradient( 135deg, var(--blue-tint) 0%, #F7FAFC 100% );
	border: 1px solid #C2DCEB; border-left: 4px solid var(--blue);
}
.vwst-note-espace-title {
	margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .14em;
	text-transform: uppercase; color: var(--blue-dark);
}
.vwst-note-espace p:last-child { margin: 0; font-size: 15px; line-height: 1.65; color: var(--slate); max-width: 78ch; }
.vwst-note-espace strong { color: var(--ink); }

.vwst-aide { position: relative; }
.vwst-aide::before {
	content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
	background: var(--blue); border-radius: 3px 0 0 3px; opacity: 0; transition: opacity .16s ease;
}
.vwst-aide:hover::before { opacity: 1; }
.vwst-disclaimer { max-width: 82ch; }

/* ============================ bannière de rubrique, seconde passe
 * La colonne de droite restait vide et laissait un grand trou entre
 * le chapeau et les repères. On répartit sur deux colonnes et on
 * resserre les hauteurs.
 */

.vwst-phero { padding: 88px 24px 52px; }
.vwst-phero-inner {
	display: grid; grid-template-columns: 1.25fr 1fr; gap: 48px; align-items: start;
}
.vwst-breadcrumb { grid-column: 1 / -1; margin-bottom: 8px; }
.vwst-phero .vwst-eyebrow-light { grid-column: 1; margin-bottom: 10px; }
.vwst-phero-title { grid-column: 1; max-width: 18ch; margin-bottom: 16px; }
.vwst-phero-lead { grid-column: 1; max-width: 58ch; }

/* Les repères passent à droite, en colonne, et remplissent le vide. */
.vwst-phero-facts {
	grid-column: 2; grid-row: 2 / span 3;
	display: grid; grid-template-columns: 1fr; gap: 0;
	margin: 0; padding: 0; border-top: 0;
	background: rgba(255,255,255,.04);
	border: 1px solid rgba(255,255,255,.1); border-radius: 14px;
	overflow: hidden;
}
.vwst-phero-facts div {
	padding: 20px 24px; border-bottom: 1px solid rgba(255,255,255,.09); position: relative;
}
.vwst-phero-facts div:last-child { border-bottom: 0; }
.vwst-phero-facts div::before {
	content: ""; position: absolute; left: 0; top: 18px; bottom: 18px; width: 2px;
	background: var(--blue); opacity: .7;
}
.vwst-phero-facts dt { font-size: 10px; letter-spacing: .16em; margin-bottom: 5px; }
.vwst-phero-facts dd { font-size: 17px; font-weight: 600; letter-spacing: -.01em; }

/* ---------------------------------------------- blocs des aides */

.vwst-aides { gap: 18px; }
.vwst-aide {
	border-radius: 16px; padding: 26px 26px 24px;
	box-shadow: 0 1px 2px rgba(10,20,36,.04), 0 10px 28px rgba(10,20,36,.05);
}
.vwst-aide-gain {
	display: inline-block; margin: 0 0 14px;
	font-size: 12px; font-weight: 700; letter-spacing: .04em;
	color: #fff; background: var(--blue);
	padding: 5px 12px; border-radius: 20px;
}
.vwst-aide-name { font-size: 18px; letter-spacing: -.015em; margin-bottom: 3px; }
.vwst-aide-who { font-size: 12.5px; color: var(--mute); margin-bottom: 14px; }
.vwst-aide-text { font-size: 14.5px; line-height: 1.65; }

/* ------------------------------------- section « qui fait quoi » */

.vwst-method-steps { gap: 28px; }
.vwst-method-steps li { padding-top: 22px; }
.vwst-method-steps li::before { font-size: 12px; color: var(--blue); }
.vwst-method-steps h3 { font-size: 16px; margin-bottom: 8px; }
.vwst-method-steps p { font-size: 14.5px; line-height: 1.65; }

@media (max-width: 980px) {
	.vwst-phero-inner { grid-template-columns: 1fr; gap: 30px; }
	.vwst-phero .vwst-eyebrow-light,
	.vwst-phero-title, .vwst-phero-lead, .vwst-phero-facts { grid-column: 1; }
	.vwst-phero-facts { grid-row: auto; }
	.vwst-phero-title { max-width: none; }
}

/* Rôles : on distingue d’un coup d’œil ce qui incombe à chacun. */
.vwst-roles li { position: relative; padding-top: 46px; border-top-color: var(--line); }
.vwst-roles li::before { top: 22px; }
.vwst-role-who {
	position: absolute; top: 0; left: 0;
	font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	padding: 4px 11px; border-radius: 20px;
}
.vwst-roles .is-moi { border-top-color: var(--blue); }
.vwst-roles .is-moi .vwst-role-who { background: var(--blue-tint); color: var(--blue-dark); }
.vwst-roles .is-vous { border-top-color: #F97316; }
.vwst-roles .is-vous .vwst-role-who { background: #FEF1E6; color: #96490D; }
.vwst-roles .is-vous::before { color: #B4571C; }

/* =====================================================================
 * Page « Aides et subventions »
 *
 * Le sujet est un barème public : des lignes, des filets, des montants
 * alignés à droite. Pas de cartes ni d'ombres, qui banaliseraient un
 * contenu qui n'est pas un catalogue de produits.
 * ===================================================================== */

.vwst-fin-wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }

.vwst-fin-open { background: var(--ink); color: #fff; padding: 96px 0 0; position: relative; }
.vwst-fin-open::after {
	content: ""; display: block; height: 46px;
	background: linear-gradient( 180deg, var(--ink) 0%, var(--ink) 60%, #fff 60% );
}
.vwst-fin-open .vwst-breadcrumb { margin-bottom: 34px; }
.vwst-fin-open .vwst-breadcrumb a { color: #8FA3BC; }
.vwst-fin-open .vwst-breadcrumb span:last-child { color: #fff; }

.vwst-fin-title {
	font-size: clamp(32px, 5vw, 58px); line-height: 1.02; letter-spacing: -.04em;
	font-weight: 700; color: #fff; margin: 0 0 30px; max-width: 15ch;
}
.vwst-fin-lead { max-width: 60ch; margin-bottom: 46px; }
.vwst-fin-lead p { margin: 0; font-size: 17px; line-height: 1.7; color: #B7C4D6; }

.vwst-fin-calc {
	background: #fff; color: var(--ink); border-radius: 4px;
	padding: 26px 30px 24px; max-width: 430px; position: relative;
	transform: translateY(46px); box-shadow: 0 30px 60px rgba(0,0,0,.28);
}
.vwst-fin-calc-intro { margin: 0 0 14px; font-size: 14px; color: var(--mute); }
.vwst-fin-calc-rows { border-top: 1px solid var(--line); }
.vwst-fin-calc-rows p {
	display: flex; align-items: baseline; justify-content: space-between; gap: 24px;
	margin: 0; padding: 12px 0; border-bottom: 1px solid var(--line-soft);
	font-size: 15px; color: var(--slate);
}
.vwst-fin-calc-rows b {
	font-size: 19px; font-weight: 600; color: var(--ink);
	font-variant-numeric: tabular-nums; letter-spacing: -.01em;
}
.vwst-fin-calc-rows .is-minus { color: var(--blue-dark); }
.vwst-fin-calc-rows .is-total { border-bottom: 0; padding-top: 16px; }
.vwst-fin-calc-rows .is-total span { font-weight: 600; color: var(--ink); }
.vwst-fin-calc-rows .is-total b { font-size: 27px; font-weight: 700; }
.vwst-fin-calc-note { margin: 16px 0 0; font-size: 12px; line-height: 1.5; color: var(--mute); }

.vwst-fin-bareme { padding: 74px 0 64px; }
.vwst-fin-h2 {
	font-size: clamp(23px, 2.6vw, 30px); line-height: 1.15; letter-spacing: -.03em;
	font-weight: 700; color: var(--ink); margin: 0 0 8px;
}
.vwst-fin-sub { margin: 0 0 34px; font-size: 16px; line-height: 1.7; color: var(--mute); max-width: 66ch; }
.vwst-fin-bareme .vwst-fin-h2 { margin-bottom: 26px; }

.vwst-bareme { border-top: 2px solid var(--ink); }
.vwst-bareme-head {
	display: grid; grid-template-columns: 1fr 1.5fr 150px; gap: 32px;
	padding: 12px 0; border-bottom: 1px solid var(--line);
	font-size: 12.5px; color: var(--mute);
}
.vwst-bareme-head span:last-child { text-align: right; }
.vwst-bareme-row {
	display: grid; grid-template-columns: 1fr 1.5fr 150px; gap: 32px;
	padding: 26px 0; border-bottom: 1px solid var(--line); align-items: start;
}
.vwst-bareme-row:last-child { border-bottom: 2px solid var(--ink); }
.vwst-bareme-qui h3 { margin: 0 0 6px; font-size: 18px; font-weight: 700; color: var(--ink); letter-spacing: -.015em; }
.vwst-bareme-qui p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--mute); }
.vwst-bareme-quoi p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--slate); }
.vwst-bareme-taux { text-align: right; }
.vwst-bareme-unite { display: block; font-size: 13px; color: var(--mute); margin-bottom: 2px; }
.vwst-bareme-chiffre {
	display: block; font-size: 30px; font-weight: 700; letter-spacing: -.035em;
	color: var(--blue-dark); font-variant-numeric: tabular-nums;
}
.vwst-bareme-court { margin-top: 8px; }
.vwst-bareme-court .vwst-bareme-row { padding: 22px 0; }
.vwst-bareme-court .vwst-bareme-quoi p { font-size: 14.5px; }

.vwst-fin-legal { margin: 22px 0 0; font-size: 13px; line-height: 1.7; color: var(--mute); max-width: 84ch; }
.vwst-fin-legal i { font-style: italic; }

.vwst-fin-roles { background: var(--mist); padding: 66px 0 70px; }
.vwst-partage { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 2px solid var(--ink); }
.vwst-partage-col { padding: 26px 34px 30px 0; }
.vwst-partage-col.is-vous { padding-left: 34px; border-left: 1px solid var(--line); }
.vwst-partage-col h3 { margin: 0 0 18px; font-size: 17px; font-weight: 700; color: var(--ink); letter-spacing: -.015em; }
.vwst-partage-col.is-vous h3 { color: var(--blue-dark); }
.vwst-partage-col ul { list-style: none; margin: 0; padding: 0; }
.vwst-partage-col li {
	margin: 0 0 16px; padding-left: 20px; position: relative;
	font-size: 15px; line-height: 1.65; color: var(--slate);
}
.vwst-partage-col li::before {
	content: ""; position: absolute; left: 0; top: 9px; width: 8px; height: 1px; background: var(--ink);
}
.vwst-partage-col.is-vous li::before { background: var(--blue); height: 3px; }
.vwst-partage-col li b { font-weight: 600; color: var(--ink); }

.vwst-fin-espace {
	margin: 34px 0 0; padding: 18px 22px; border-left: 3px solid var(--blue); background: #fff;
	font-size: 15px; line-height: 1.65; color: var(--slate); max-width: 74ch;
}
.vwst-fin-espace b { color: var(--ink); font-weight: 600; }

.vwst-main { display: block; }
.vwst-contact-text, .vwst-about-text, .vwst-footer-brand { min-width: 0; }
.vwst-btn-block { display: block; width: 100%; text-align: center; }

@media (max-width: 900px) {
	.vwst-bareme-head { display: none; }
	.vwst-bareme-row { grid-template-columns: 1fr; gap: 14px; padding: 24px 0; }
	.vwst-bareme-taux { text-align: left; display: flex; align-items: baseline; gap: 10px; }
	.vwst-bareme-unite { margin-bottom: 0; }
	.vwst-bareme-chiffre { font-size: 26px; }
	.vwst-partage { grid-template-columns: 1fr; }
	.vwst-partage-col { padding: 26px 0; border-top: 1px solid var(--line); }
	.vwst-partage-col.is-vous { padding-left: 0; border-left: 0; }
	.vwst-partage-col:first-child { border-top: 0; }
}

@media (max-width: 700px) {
	.vwst-fin-open { padding-top: 76px; }
	.vwst-fin-calc { max-width: none; padding: 22px 22px 20px; }
}

/* ==================================================== accès à l’espace
 * Dernier élément de la barre, détaché des deux boutons d’action par un
 * filet : ce n’est pas un appel à l’action de plus, c’est une porte.
 */

.vwst-espace {
	display: inline-flex; align-items: center; gap: 10px;
	margin-left: 14px; padding: 6px 14px 6px 7px;
	text-decoration: none; white-space: nowrap;
	border: 1px solid var(--line); border-radius: 999px; background: #fff;
	position: relative;
	transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.vwst-espace::before {
	content: ""; position: absolute; left: -14px; top: 8px; bottom: 8px;
	width: 1px; background: var(--line);
}
.vwst-espace:hover {
	border-color: var(--ink); background: var(--ink);
	box-shadow: 0 6px 18px rgba(10,20,36,.18);
}

.vwst-espace-pic {
	flex: none; width: 32px; height: 32px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	background: var(--mist); color: var(--slate); overflow: hidden;
	transition: background-color .16s ease, color .16s ease;
}
.vwst-espace-pic img { width: 32px; height: 32px; object-fit: cover; display: block; }
.vwst-espace:hover .vwst-espace-pic { background: rgba(255,255,255,.16); color: #fff; }

.vwst-espace-txt { display: block; line-height: 1.15; }
.vwst-espace-l1 {
	display: block; font-size: 13.5px; font-weight: 600; color: var(--ink);
	transition: color .16s ease;
}
.vwst-espace-l2 {
	display: block; font-size: 11.5px; color: var(--mute); margin-top: 1px;
	transition: color .16s ease;
}
.vwst-espace:hover .vwst-espace-l1 { color: #fff; }
.vwst-espace:hover .vwst-espace-l2 { color: #93A4BF; }

/* Connecté : un point vert discret confirme la session ouverte. */
.vwst-espace.is-in .vwst-espace-pic { position: relative; }
.vwst-espace.is-in .vwst-espace-pic::after {
	content: ""; position: absolute; right: 0; bottom: 0;
	width: 9px; height: 9px; border-radius: 50%;
	background: #22C55E; border: 2px solid #fff;
}
.vwst-espace.is-in:hover .vwst-espace-pic::after { border-color: var(--ink); }

@media (max-width: 1240px) {
	.vwst-espace-l2 { display: none; }
	.vwst-espace-l1 { font-size: 13px; }
}
@media (max-width: 860px) {
	.vwst-espace { margin-left: 8px; padding-right: 8px; }
	.vwst-espace::before { display: none; }
	.vwst-espace-txt { display: none; }
}

/* ================================================ générateur express */

.vwst-gen-hero {
	background:
		radial-gradient( circle at 80% 25%, rgba(58,142,186,.26), transparent 55% ),
		linear-gradient( 160deg, #16233A 0%, var(--ink) 72% );
	color: #fff; padding: 96px 0 74px; position: relative; overflow: hidden;
}
.vwst-gen-hero::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient( 90deg, transparent, rgba(58,142,186,.7), transparent );
}
.vwst-gen-hero .vwst-breadcrumb { margin-bottom: 30px; }
.vwst-gen-hero .vwst-breadcrumb a { color: #8FA3BC; }
.vwst-gen-hero .vwst-breadcrumb span:last-child { color: #fff; }

.vwst-gen-title {
	margin: 0 0 20px; font-size: clamp(34px, 5.6vw, 62px); line-height: 1.02;
	letter-spacing: -.045em; font-weight: 700; color: #fff; max-width: 16ch;
}
.vwst-gen-lead {
	margin: 0 0 34px; font-size: 18px; line-height: 1.65; color: #C6D2E3; max-width: 62ch;
}

.vwst-gen-prix { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin: 0; }
.vwst-gen-prix-montant {
	font-size: 46px; font-weight: 700; letter-spacing: -.04em; color: #fff;
	font-variant-numeric: tabular-nums;
}
.vwst-gen-prix-unite { font-size: 18px; font-weight: 600; color: #7FC0E2; }
.vwst-gen-prix-note { flex: 1 1 100%; font-size: 13.5px; color: #93A4BF; margin-top: 6px; }

/* ------------------------------------------------------- métiers */

.vwst-metiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 20px; }

.vwst-metier {
	display: flex; flex-direction: column; overflow: hidden;
	background: #fff; border: 1px solid var(--line); border-radius: 16px;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.vwst-metier:hover {
	border-color: var(--blue);
	box-shadow: 0 2px 4px rgba(58,142,186,.08), 0 18px 40px rgba(58,142,186,.15);
	transform: translateY(-3px);
}
.vwst-metier-img { display: block; width: 100%; height: 168px; object-fit: cover; background: var(--mist); }
.vwst-metier-body { padding: 20px 22px 22px; display: flex; flex-direction: column; flex: 1 1 auto; }
.vwst-metier-body h3 { margin: 0 0 3px; font-size: 18px; font-weight: 700; color: var(--ink); letter-spacing: -.015em; }
.vwst-metier-sous { margin: 0 0 12px; font-size: 12.5px; color: var(--mute); }
.vwst-metier-texte { margin: 0 0 16px; font-size: 14.5px; line-height: 1.65; color: var(--slate); flex: 1 1 auto; }
.vwst-metier-form {
	margin: 0; padding-top: 14px; border-top: 1px solid var(--line-soft);
	font-size: 13.5px; font-weight: 700; color: var(--blue-dark);
}

/* --------------------------------------------- mode d’emploi du lien */

.vwst-gen-howto {
	background: var(--mist); border: 1px solid var(--line); border-radius: 12px;
	padding: 18px 20px; margin-bottom: 22px;
}
.vwst-gen-howto-title {
	margin: 0 0 12px; font-size: 14px; font-weight: 700; color: var(--ink);
}
.vwst-gen-howto ol { margin: 0; padding-left: 20px; }
.vwst-gen-howto li { margin-bottom: 7px; font-size: 14px; line-height: 1.55; color: var(--slate); }
.vwst-gen-howto li b { color: var(--ink); }
.vwst-gen-howto-warn {
	margin: 12px 0 0; padding: 11px 13px; border-radius: 8px;
	background: #FEF1E6; border: 1px solid #F6D6BB;
	font-size: 13px; line-height: 1.55; color: #96490D;
}

@media (max-width: 700px) {
	.vwst-gen-hero { padding: 76px 0 54px; }
	.vwst-gen-prix-montant { font-size: 38px; }
}

/* --------------------------- générateur, ajustements de composition */

/* Le titre d’attaque doit tenir sur une ligne sur grand écran. */
.vwst-gen-title { max-width: none; white-space: nowrap; }
@media (max-width: 900px) { .vwst-gen-title { white-space: normal; } }

/* Certains titres de section n’ont pas à être coupés en deux. */
.vwst-h2-large { max-width: none; }
.vwst-section-head:has(.vwst-h2-large) .vwst-section-lead { max-width: 68ch; }

.vwst-gen-price em {
	display: block; margin-top: 6px; font-style: normal;
	font-size: 13.5px; color: var(--mute);
}

/* Ce que le formulaire rapporte, mis en avant sous chaque métier. */
.vwst-metier-lead {
	margin: 0; padding: 13px 15px; border-radius: 9px;
	background: var(--blue-tint); border: 1px solid #C2DCEB;
	font-size: 13.5px; line-height: 1.55; color: #24597A; font-weight: 500;
}

.vwst-gen-howto a { color: var(--blue-dark); font-weight: 600; }

/* Photo du menu : diamètre porté de 32 à 42 px, soit environ un tiers de plus. */
.vwst-espace-pic { width: 42px; height: 42px; }
.vwst-espace-pic img { width: 42px; height: 42px; }
.vwst-espace { padding: 5px 16px 5px 6px; }
.vwst-espace.is-in .vwst-espace-pic::after { width: 11px; height: 11px; }

.vwst-tel-horaires { margin: 8px 0 0; font-size: 13.5px; line-height: 1.6; color: var(--mute); max-width: 46ch; }

/* =====================================================================
 * 3.4.0 — accueil premium
 * Menu plus aéré, fiche Google, applications sur mesure, modules sur fond
 * teinté, formules avec leur financement, barème ouvert aux OPCO.
 * ================================================================== */

:root {
	--nuit: #0C1A2B;
	--or: #D9A441;
	--or-clair: #F0C877;
	--bronze: #8A5310;
	--creme: #FBF0DE;
	--teinte: #EAF2F8;
}

/* ------------------------------------------------------------ en-tête */

.vwst-header { background: rgba(255,255,255,.92); border-bottom-color: #E8EDF3; }
.vwst-header.is-stuck { box-shadow: 0 8px 28px rgba(16,42,74,.08); }
.vwst-header-inner { min-height: 80px; }
.vwst-word-sub {
	margin-top: 6px; text-transform: none;
	font-size: 12.5px; font-weight: 500; letter-spacing: .06em; color: #6B7A90;
}

@media (min-width: 1081px) {
	.vwst-nav-list a {
		position: relative; padding: 10px 12px; background: none;
		font-size: 15px; font-weight: 500; color: #1B2640;
	}
	.vwst-nav-list a::after {
		content: ""; position: absolute; left: 12px; right: 12px; bottom: 3px; height: 2px;
		border-radius: 2px; background: var(--blue);
		transform: scaleX(0); transform-origin: left; transition: transform .2s ease;
	}
	.vwst-nav-list a:hover { background: none; color: var(--blue-dark); }
	.vwst-nav-list a:hover::after,
	.vwst-nav-list .current-menu-item > a::after,
	.vwst-nav-list .is-current > a::after { transform: scaleX(1); }
	.vwst-nav-list .current-menu-item > a,
	.vwst-nav-list .is-current > a { background: none; color: var(--blue-dark); }
	.vwst-nav-actions .vwst-btn { min-height: 42px; padding: 0 16px; border-radius: 10px; }
}
@media (prefers-reduced-motion: reduce) {
	.vwst-nav-list a::after { transition: none; }
}

/* ------------------------------------------------ pièces communes */

.vwst-btn { gap: 8px; }
.vwst-btn .vwst-ico { flex: none; }
a.vwst-btn-or, .vwst-btn-or { background: var(--or); border-color: var(--or); color: #1B1405; }
a.vwst-btn-or:hover, .vwst-btn-or:hover { background: transparent; border-color: var(--or); color: var(--or-clair); }
a.vwst-btn-ligne, .vwst-btn-ligne { background: #fff; border-color: #BFD7E6; color: var(--blue-dark); }
a.vwst-btn-ligne:hover, .vwst-btn-ligne:hover { background: var(--blue); border-color: var(--blue); color: #fff; }

.vwst-puce {
	display: inline-flex; align-items: center; gap: 7px; min-height: 28px; margin: 0;
	padding: 0 12px; border-radius: 20px; font-size: 13px; font-weight: 600; line-height: 1.2;
}
.vwst-puce.is-or { background: var(--or); color: #1B1405; }
.vwst-puce.is-nuit { background: rgba(255,255,255,.1); color: #DCE8F3; box-shadow: inset 0 0 0 1px rgba(255,255,255,.18); }
.vwst-puce.is-bleu { background: #E4F0F8; color: #1F5378; }
.vwst-puce.is-vert { background: #E3F5EC; color: #0B6B4C; }
.vwst-puce.is-creme { align-self: flex-start; background: var(--creme); color: #6B400B; }

.vwst-tuile {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 48px; height: 48px; border-radius: 14px;
}
.vwst-tuile.is-bleu { background: #E4F0F8; color: #2C6D91; }
.vwst-tuile.is-vert { background: #E3F5EC; color: #0F7B52; }
.vwst-tuile.is-bronze { background: var(--creme); color: var(--bronze); }
.vwst-tuile.is-violet { background: #EFEAFB; color: #6D4AC4; }
.vwst-tuile.is-rouge { background: #FBE9E6; color: #B3382A; }
.vwst-tuile.is-or { background: var(--or); color: #1B1405; }

.vwst-coches { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.vwst-coches li { display: flex; gap: 10px; margin: 0; padding: 0; font-size: 15px; line-height: 1.5; color: var(--slate); }
.vwst-coches li::before { content: none; }
.vwst-coches .vwst-ico { margin-top: 2px; color: var(--blue); }
.vwst-coches.is-nuit li { color: #DCE8F3; font-size: 16px; }
.vwst-coches.is-nuit .vwst-ico { color: var(--or); }

/* ------------------------------------------------ fiche Google */

.vwst-gen { background: #F7FAFD; border-bottom: 1px solid #E8EDF3; }
.vwst-gen .vwst-gen-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 500px); gap: 72px; align-items: center; }
.vwst-gen-text { display: flex; flex-direction: column; gap: 20px; }
.vwst-gen-text .vwst-puce { align-self: flex-start; }
.vwst-gen .vwst-gen-h2 { margin: 0; font-size: clamp(30px, 3.8vw, 44px); line-height: 1.1; }
.vwst-gen .vwst-gen-text .vwst-section-lead { margin: 0; }

.vwst-gen-etapes {
	list-style: none; margin: 6px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
}
.vwst-gen-etapes li { display: flex; flex-direction: column; gap: 7px; margin: 0; padding-top: 16px; border-top: 2px solid #D5E3EE; }
.vwst-gen-num {
	display: inline-flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%;
	background: var(--nuit); color: #fff; font-size: 14px; font-weight: 700;
}
.vwst-gen-etapes strong { font-size: 16px; line-height: 1.35; color: var(--ink); }
.vwst-gen-etapes span:last-child { font-size: 14px; line-height: 1.5; color: var(--mute); }

.vwst-gen-tarif {
	display: flex; align-items: center; gap: 24px; margin-top: 8px;
	padding: 22px 24px; border-radius: 18px; background: #fff; border: 1px solid #DFE7F0;
}
.vwst-gen-montant {
	margin: 0; font-size: 48px; font-weight: 700; line-height: 1; letter-spacing: -.03em;
	color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums;
}
.vwst-gen-montant span { display: block; margin-top: 6px; font-size: 13.5px; font-weight: 500; letter-spacing: 0; color: var(--mute); }
.vwst-gen-tarif-titre { margin: 0 0 10px; font-size: 15px; font-weight: 600; color: var(--ink); }
.vwst-gen-inclus { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.vwst-gen-inclus li {
	display: inline-flex; align-items: center; gap: 5px; margin: 0; padding: 4px 10px;
	border-radius: 20px; border: 1px solid #DCE6EF; font-size: 13px; color: var(--slate);
}
.vwst-gen-inclus li::before { content: none; }
.vwst-gen-inclus .vwst-ico { color: #0F7B52; }

/* Plaque bleu nuit décalée derrière le formulaire. */
.vwst-gen-scene { position: relative; padding: 0 22px 22px 0; }
.vwst-gen-scene::before {
	content: ""; position: absolute; left: 34px; right: 0; top: 34px; bottom: 0;
	border-radius: 26px; background: var(--nuit);
}
.vwst-gen .vwst-gen-panel {
	position: relative; padding: 32px; border-radius: 22px;
	border: 1px solid #DFE7F0; box-shadow: 0 30px 70px rgba(16,42,74,.16);
}
.vwst-gen .vwst-gen-panel::before { content: none; }
.vwst-gen-panel-tete { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.vwst-gen .vwst-gen-panel-title { margin: 0; font-size: 22px; }
.vwst-gen .vwst-gen-panel-sub { margin: 4px 0 0; padding: 0; border: 0; font-size: 14.5px; }
.vwst-gen-panel-tete .vwst-puce { flex: none; }

.vwst-gen-avant-apres {
	display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr); gap: 10px; align-items: center;
	margin-bottom: 22px; padding: 14px; border-radius: 14px; background: #F4F7FB;
}
.vwst-gen-fiche { padding: 12px; border-radius: 10px; background: #fff; border: 1px solid #E3E8EF; }
.vwst-gen-fiche p { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 13px; color: var(--ink); }
.vwst-gen-fiche .vwst-ico { color: #B3382A; }
.vwst-gen-etoiles { display: block; margin-top: 4px; font-size: 12px; letter-spacing: 1px; color: #E8A21A; }
.vwst-gen-fiche i { display: block; height: 6px; width: 80%; margin-top: 7px; border-radius: 4px; background: #E3E8EF; }
.vwst-gen-fiche i.is-court { width: 55%; margin-top: 5px; }
.vwst-gen-fleche {
	display: flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%; background: var(--blue); color: #fff;
}
.vwst-gen-site { display: block; overflow: hidden; border-radius: 10px; background: #fff; border: 1px solid #E3E8EF; }
.vwst-gen-site-barre { display: flex; align-items: center; gap: 4px; height: 16px; padding: 0 7px; background: #EEF2F6; }
.vwst-gen-site-barre i { display: block; width: 6px; height: 6px; border-radius: 50%; background: #C9D1DC; }
.vwst-gen-site-tete { display: flex; align-items: center; height: 34px; padding: 0 10px; background: var(--nuit); color: #fff; font-size: 11px; font-weight: 700; }
.vwst-gen-site-blocs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; padding: 8px 10px; }
.vwst-gen-site-blocs i { display: block; height: 18px; border-radius: 4px; background: #E4F0F8; }

/* Le formulaire du plugin, harmonisé avec le panneau. */
.vwst-gen .vwst-gen-panel input[type="url"],
.vwst-gen .vwst-gen-panel input[type="text"] { min-height: 50px; border-radius: 12px; font-size: 15px; }
.vwst-gen .vwst-gen-panel button[type="submit"] { min-height: 54px; border-radius: 12px; font-size: 16.5px; }

/* ------------------------------------------------ modules métier */

.vwst-section-modules {
	background-color: var(--teinte);
	background-image: radial-gradient(rgba(44,109,145,.13) 1px, transparent 1px);
	background-size: 22px 22px;
}

.vwst-vedette {
	position: relative; overflow: hidden; margin-bottom: 28px;
	display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: center;
	padding: 48px 52px; border-radius: 24px;
	background-color: var(--nuit);
	background-image:
		radial-gradient(circle at 100% 0%, rgba(58,142,186,.35), rgba(58,142,186,0) 50%),
		radial-gradient(circle at 0% 100%, rgba(217,164,65,.14), rgba(217,164,65,0) 45%);
	box-shadow: 0 30px 70px rgba(12,26,43,.28);
}
.vwst-vedette-texte { display: flex; flex-direction: column; gap: 18px; }
.vwst-vedette-puces { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.vwst-vedette-titre { margin: 0; font-size: clamp(26px, 2.8vw, 36px); line-height: 1.12; letter-spacing: -.02em; color: #fff; }
.vwst-vedette-intro { margin: 0; font-size: 17px; line-height: 1.65; color: #B3C3D6; }
.vwst-vedette-actions { margin: 6px 0 0; }

.vwst-fenetre { overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 24px 60px rgba(0,0,0,.35); }
.vwst-fenetre-barre { display: flex; align-items: center; gap: 7px; height: 34px; padding: 0 14px; background: #EEF2F6; }
.vwst-fenetre-barre i { display: block; width: 10px; height: 10px; border-radius: 50%; background: #C9D1DC; }
.vwst-fenetre-barre span { margin-left: 10px; font-size: 11.5px; color: #6B7890; }
.vwst-fenetre-corps { display: flex; flex-direction: column; gap: 12px; padding: 20px; background: #F6F8FB; }
.vwst-fenetre-titre { margin: 0; font-size: 15px; font-weight: 700; color: var(--ink); }
.vwst-suggestion {
	display: flex; align-items: flex-start; gap: 12px; padding: 14px;
	border-radius: 12px; background: #fff; border: 1px solid #E3E8EF;
	font-size: 14px; line-height: 1.45; color: var(--slate);
}
.vwst-suggestion .vwst-tuile { width: 34px; height: 34px; border-radius: 10px; }
.vwst-suggestion b { display: block; color: var(--ink); }
.vwst-suggestion-bouton {
	margin-left: auto; padding: 7px 12px; border-radius: 8px; flex: none;
	background: var(--blue); color: #fff; font-size: 13px; font-weight: 600; font-style: normal;
}

.vwst-modules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vwst-module,
.vwst-formule {
	display: flex; flex-direction: column; gap: 14px; padding: 28px;
	border-radius: 18px; background: #fff; border: 1px solid #DFE7F0;
	box-shadow: 0 14px 34px rgba(16,42,74,.07);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.vwst-module:hover,
.vwst-formule:hover { transform: translateY(-3px); border-color: #BFD7E6; box-shadow: 0 22px 46px rgba(16,42,74,.12); }
.vwst-module-tete { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.vwst-module-type {
	padding: 4px 11px; border-radius: 20px; background: var(--nuit); color: #fff;
	font-size: 12.5px; font-weight: 600; letter-spacing: .02em;
}
.vwst-module-aide {
	margin: 0; padding: 12px 14px; border-radius: 12px; background: #F3F0FB;
	font-size: 14px; line-height: 1.55; color: #4B3A86;
}
.vwst-module-titre { margin: 0; font-size: 20px; line-height: 1.3; letter-spacing: -.015em; color: var(--ink); }
.vwst-module-texte { margin: 0; font-size: 15px; line-height: 1.55; color: #5F6E84; }
.vwst-module-prix { display: flex; gap: 24px; margin: 0; padding: 12px 0; border-top: 1px solid var(--line-soft); border-bottom: 1px solid var(--line-soft); }
.vwst-module-prix div { margin: 0; }
.vwst-module-prix dt { font-size: 12.5px; color: var(--mute); }
.vwst-module-prix dd { margin: 0; font-size: 18px; font-weight: 700; color: var(--ink); font-variant-numeric: tabular-nums; }
.vwst-module .vwst-btn,
.vwst-formule .vwst-btn { margin-top: auto; }

a.vwst-module-appel {
	display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 28px;
	border-radius: 18px; border: 1.5px dashed #9DBCD3; background: rgba(255,255,255,.6);
	text-decoration: none; transition: border-color .15s ease, background-color .15s ease;
}
a.vwst-module-appel:hover { border-color: var(--blue); background: #fff; }
.vwst-module-appel strong { font-size: 20px; line-height: 1.3; color: var(--ink); }
.vwst-module-appel span { font-size: 15px; line-height: 1.55; color: #5F6E84; }
.vwst-module-appel em { display: inline-flex; align-items: center; gap: 8px; font-style: normal; font-weight: 600; color: var(--blue-dark); }

/* ------------------------------------------------ conseil */

.vwst-conseil-tete { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 48px; align-items: end; margin-bottom: 40px; }
.vwst-conseil-tete .vwst-section-head { margin-bottom: 0; }
a.vwst-prise-en-charge {
	display: flex; gap: 14px; align-items: flex-start; padding: 20px 22px; border-radius: 16px;
	background: var(--nuit); color: #DCE8F3; text-decoration: none; font-size: 15px; line-height: 1.5;
	transition: transform .2s ease;
}
a.vwst-prise-en-charge:hover { transform: translateY(-2px); color: #fff; }
.vwst-prise-en-charge .vwst-tuile { width: 44px; height: 44px; border-radius: 12px; }
.vwst-prise-en-charge strong { display: block; font-size: 16px; color: #fff; }

.vwst-formules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.vwst-formule header { display: block; }
.vwst-formule-lieu { margin: 4px 0 0; font-size: 13.5px; font-weight: 600; color: #0F7B52; }
.vwst-formule-prix { margin: 0; font-size: 34px; font-weight: 700; letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; }
.vwst-formule-prix span { font-size: 14px; font-weight: 500; letter-spacing: 0; color: var(--mute); }
.vwst-formule.is-vedette { border: 2px solid var(--blue); box-shadow: 0 20px 44px rgba(58,142,186,.18); }

/* ------------------------------------------------ financement */

.vwst-section-aides { background: #F7F9FC; border-top: 1px solid #E8EDF3; }
.vwst-bareme-row.is-vedette {
	margin: 0 -20px; padding-left: 20px; padding-right: 20px;
	border-radius: 14px; background: #EAF3F9; border-bottom-color: transparent;
}
.vwst-aides-pied { display: flex; align-items: center; justify-content: space-between; gap: 16px 28px; flex-wrap: wrap; margin-top: 26px; }
.vwst-aides-pied p { margin: 0; max-width: 64ch; font-size: 14px; line-height: 1.6; color: var(--mute); }
.vwst-aides-pied .vwst-link { display: inline-block; margin-top: 4px; }

/* ------------------------------------------------ responsive */

@media (max-width: 1024px) {
	.vwst-gen .vwst-gen-grid,
	.vwst-vedette,
	.vwst-conseil-tete { grid-template-columns: minmax(0, 1fr); }
	.vwst-gen .vwst-gen-grid { gap: 48px; }
	.vwst-modules,
	.vwst-formules { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vwst-vedette { padding: 40px 36px; gap: 36px; }
}
@media (max-width: 700px) {
	.vwst-gen-etapes,
	.vwst-modules,
	.vwst-formules { grid-template-columns: minmax(0, 1fr); }
	.vwst-gen-tarif { flex-direction: column; align-items: flex-start; }
	.vwst-gen-scene { padding: 0 12px 12px 0; }
	.vwst-gen-scene::before { left: 20px; top: 20px; }
	.vwst-gen .vwst-gen-panel { padding: 24px 20px; }
	.vwst-gen-panel-tete { flex-direction: column; }
	.vwst-vedette { padding: 30px 22px; }
	.vwst-vedette-visuel { display: none; }
	.vwst-bareme-row.is-vedette { margin: 0 -12px; padding-left: 12px; padding-right: 12px; }
}
@media (prefers-reduced-motion: reduce) {
	.vwst-module, .vwst-formule, a.vwst-prise-en-charge { transition: none; }
	.vwst-module:hover, .vwst-formule:hover, a.vwst-prise-en-charge:hover { transform: none; }
}

/* =====================================================================
 * 3.5.0 — bande KOREOS sous le menu
 * Second plan : elle défile avec la page, seul le menu reste collé.
 * ================================================================== */

.vwst-kbar {
	position: relative; z-index: 40;
	background:
		radial-gradient(circle at 8% 50%, rgba(249,115,22,.24), rgba(249,115,22,0) 30%),
		radial-gradient(circle at 92% 50%, rgba(249,115,22,.18), rgba(249,115,22,0) 30%),
		linear-gradient(180deg, #1A1512 0%, #12100E 100%);
}
.vwst-kbar::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: linear-gradient(90deg, rgba(249,115,22,.8), rgba(249,115,22,0) 35%, rgba(249,115,22,0) 65%, rgba(249,115,22,.8));
}
.vwst-kbar-inner {
	max-width: var(--wrap); margin: 0 auto; padding: 0 24px; min-height: 44px;
	display: flex; align-items: center; gap: 16px;
}
a.vwst-kbar-marque { display: inline-flex; align-items: center; gap: 10px; flex: none; text-decoration: none; }
.vwst-kbar-k {
	display: inline-flex; align-items: center; justify-content: center; flex: none;
	width: 28px; height: 28px; border-radius: 8px;
	font-size: 15px; font-weight: 800; line-height: 1; color: #FDBA74;
	border: 1.5px solid rgba(249,115,22,.65);
	background: linear-gradient(160deg, rgba(249,115,22,.24), rgba(249,115,22,.05));
	box-shadow: inset 0 0 14px rgba(249,115,22,.3);
}
.vwst-kbar-mot {
	font-size: 15px; font-weight: 800; letter-spacing: .16em;
	background: linear-gradient(180deg, #FDBA74 0%, #F97316 55%, #C2410C 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.vwst-kbar-texte {
	margin: 0; padding-left: 16px; border-left: 1px solid rgba(249,115,22,.35);
	font-size: 14px; line-height: 1.4; color: #F4EDE6;
}
.vwst-kbar-texte b { color: #fff; font-weight: 700; }
.vwst-kbar-court { display: none; }
a.vwst-kbar-lien {
	display: inline-flex; align-items: center; gap: 6px; flex: none;
	font-size: 14px; font-weight: 600; color: #FDBA74; text-decoration: none; white-space: nowrap;
	border-bottom: 1px solid rgba(253,186,116,.45); padding-bottom: 1px;
	transition: color .15s ease, border-color .15s ease;
}
a.vwst-kbar-lien:hover,
a.vwst-kbar-lien:focus-visible { color: #fff; border-bottom-color: #fff; }
a.vwst-kbar-lien .vwst-ico { transition: transform .15s ease; }
a.vwst-kbar-lien:hover .vwst-ico { transform: translateX(3px); }
.vwst-kbar a:focus-visible { outline: 2px solid #FDBA74; outline-offset: 3px; border-radius: 4px; }

/* Le bouton Enchères, intégré au menu : même gabarit que ses voisins. */
.vwst-nav-actions a.vwe-nav-btn { display: inline-flex; align-items: center; gap: 7px; }

@media (max-width: 1080px) {
	.vwst-kbar-long { display: none; }
	.vwst-kbar-court { display: inline; }
	.vwst-kbar-mot { display: none; }
	a.vwst-kbar-lien { margin-left: auto; }
}
@media (max-width: 860px) {
	.vwst-kbar-inner { padding: 0 16px; gap: 10px; }
	.vwst-kbar-texte { padding-left: 0; border-left: 0; font-size: 13px; }
	a.vwst-kbar-lien { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
	a.vwst-kbar-lien, a.vwst-kbar-lien .vwst-ico { transition: none; }
	a.vwst-kbar-lien:hover .vwst-ico { transform: none; }
}


/* =====================================================================
 * 3.6.0 — MapKo
 * Logo officiel (icône « M » et épingle), mot Map blanc et Ko orange.
 * ================================================================== */

.vwst-mapko-marque { display: inline-flex; align-items: center; gap: 10px; }
.vwst-mapko-icone {
	display: block; flex: none; width: 28px; height: 28px; border-radius: 7px;
	box-shadow: 0 0 14px rgba(249,115,22,.35);
}
.vwst-mapko-mot { font-size: 17px; font-weight: 800; letter-spacing: -.01em; line-height: 1; color: #fff; }
.vwst-mapko-mot em {
	font-style: normal;
	background: linear-gradient(180deg, #FDBA74 0%, #F97316 60%, #C2410C 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent;
}
.vwst-mapko-marque.is-sombre .vwst-mapko-mot { color: var(--ink); }
.vwst-mapko-marque.is-sombre .vwst-mapko-icone { width: 34px; height: 34px; border-radius: 9px; }
.vwst-mapko-marque.is-sombre .vwst-mapko-mot { font-size: 20px; }

/* Bande du menu */
.vwst-kbar-marque .vwst-mapko-marque { gap: 9px; }

/* Signature du générateur sur l’accueil */
.vwst-gen-signature { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin: 0; }
.vwst-gen-signature a { text-decoration: none; }

/* Page MapKo */
.vwst-mapko-hero-grille {
	display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center;
}
.vwst-mapko-hero .vwst-khero-title { margin-top: 12px; }
.vwst-mapko-logo {
	display: block; width: 100%; height: auto; border-radius: 22px;
	box-shadow: 0 30px 70px rgba(0,0,0,.45), 0 0 0 1px rgba(249,115,22,.25);
}
.vwst-mapko-nom {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 40px;
}
.vwst-mapko-nom p {
	margin: 0; padding: 16px 20px; border-radius: 14px;
	background: rgba(255,255,255,.05); box-shadow: inset 0 0 0 1px rgba(249,115,22,.22);
	font-size: 16px; line-height: 1.5; color: #E7DED6;
}
.vwst-mapko-nom b { font-size: 20px; color: #fff; }
.vwst-mapko-nom b.is-orange { color: #FB923C; }

.vwst-mapko-etapes { margin-top: 0; }
.vwst-module-type.is-orange { background: #FFF1E6; color: #C2410C; }

.vwst-mapko-offre { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 520px); gap: 48px; align-items: center; }
.vwst-mapko-offre .vwst-section-head { margin: 0; }
.vwst-mapko-offre .vwst-gen-tarif { flex-direction: column; align-items: flex-start; }
.vwst-mapko-offre .vwst-gen-tarif .vwst-btn { margin-top: 16px; }

@media (max-width: 1024px) {
	.vwst-mapko-hero-grille,
	.vwst-mapko-offre { grid-template-columns: minmax(0, 1fr); }
	.vwst-mapko-logo { max-width: 520px; }
}
@media (max-width: 700px) {
	.vwst-mapko-nom { grid-template-columns: minmax(0, 1fr); }
}
.vwst-section a.vwst-btn-korange:hover { border-color: #EA580C; }
/* === VWS 3.7.0 — nouvelle homepage consulting === */
.vv-wrap{width:min(1180px,calc(100% - 40px));margin:auto}.vv-kicker{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.78rem;color:#168cf0}.vv-btn{display:inline-flex;align-items:center;justify-content:center;background:#168cf0;color:#fff!important;padding:14px 22px;border-radius:8px;font-weight:800;text-decoration:none;box-shadow:0 8px 22px rgba(22,140,240,.2)}.vv-btn-outline{background:transparent;border:1px solid rgba(255,255,255,.55);box-shadow:none}.vv-btn-light{background:#fff;color:#0c2340!important;border:1px solid #ccd7e4;box-shadow:none}.vv-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.vv-hero{background:linear-gradient(110deg,#06172c 0%,#062640 58%,#073a45 100%);color:#fff;overflow:hidden}.vv-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:560px}.vv-hero-copy{padding:78px 0 55px;position:relative;z-index:2}.vv-hero h1{font-size:clamp(2.4rem,4.7vw,4.6rem);line-height:.98;letter-spacing:-.045em;max-width:760px;margin:10px 0 20px}.vv-hero h1 span{color:#1d9cff}.vv-lead{font-size:1.18rem;line-height:1.6;max-width:680px;color:#dce8f3}.vv-hero-photo{align-self:stretch;position:relative}.vv-hero-photo:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#06213a 0%,transparent 28%);z-index:1}.vv-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.vv-pill-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:42px;font-size:.84rem;font-weight:700;color:#e7f2fb}.vv-section{padding:72px 0;background:#fff}.vv-two{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.vv-fisc{background:#f5f9fc}.vv-fisc-logo{max-width:410px;width:100%;height:auto}.vv-fisc h2,.vv-custom h2,.vv-about h2{font-size:clamp(2rem,3.2vw,3.25rem);line-height:1.05;margin:16px 0}.vv-fisc p,.vv-custom p,.vv-about p{font-size:1.05rem;line-height:1.65;color:#526276}.vv-mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.vv-mini-grid span{font-weight:700;color:#18324f}.vv-product-card{background:linear-gradient(145deg,#0a2037,#0e3554);padding:28px;border-radius:22px;box-shadow:0 25px 55px rgba(5,26,48,.22)}.vv-dashboard{background:#fff;border-radius:12px;padding:24px;color:#18324f}.vv-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.vv-stats i{font-style:normal;font-size:1.2rem;font-weight:900;background:#f5f8fb;padding:12px;border-radius:8px}.vv-stats small{display:block;font-size:.65rem;font-weight:600;color:#789}.vv-bars{height:110px;background:linear-gradient(180deg,transparent,#eaf6ff),repeating-linear-gradient(90deg,#168cf0 0 8px,transparent 8px 20px);border-radius:8px;opacity:.65}.vv-cyber{background:#07192e;color:#fff;padding:70px 0}.vv-cyber-top{display:grid;grid-template-columns:1.05fr .95fr;gap:45px;align-items:center}.vv-cyber h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1;margin:8px 0 14px}.vv-cyber h3{font-size:1.25rem}.vv-cyber-copy p{color:#c8d8e7;line-height:1.65}.vv-cyber-facts{display:flex;gap:20px;flex-wrap:wrap;margin-top:25px;font-size:.88rem;font-weight:700}.vv-cyber-photo{position:relative;border-radius:18px;overflow:hidden;min-height:370px}.vv-cyber-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.vv-cyber-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 30%,rgba(5,23,42,.9) 78%)}.vv-cyber-photo ul{position:absolute;z-index:2;right:20px;top:35px;list-style:none;margin:0;padding:0;width:46%}.vv-cyber-photo li{background:rgba(10,42,70,.9);margin:9px 0;padding:10px 12px;border-radius:7px;font-weight:700;font-size:.84rem}.vv-cyber-photo li:before{content:"✓";color:#37a8ff;margin-right:8px}.vv-cyber-bottom{display:grid;grid-template-columns:1.25fr .75fr;gap:40px;background:#f6f9fc;color:#112c48;margin-top:38px;padding:30px;border-radius:16px}.vv-check-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vv-check-grid span{background:#fff;border:1px solid #dfe8f1;padding:16px 12px;border-radius:9px;font-size:.82rem;font-weight:700;box-shadow:0 3px 10px rgba(20,45,70,.05)}.vv-report li{margin:8px 0}.vv-report p{font-size:.78rem;color:#657589}.vv-no-funding{margin-top:18px;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:14px 18px;color:#b9c9d8;font-size:.82rem}.vv-no-funding strong{color:#fff}.vv-custom{background:#fff}.vv-custom-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.vv-custom-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.vv-custom-cards span{min-height:130px;border:1px solid #dce6ef;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;font-size:1.6rem;color:#168cf0}.vv-custom-cards b{font-size:.82rem;color:#18324f;margin-top:12px}.vv-about{background:#f7f9fc}.vv-about-grid{display:grid;grid-template-columns:170px 1fr 1.2fr;gap:28px;align-items:center}.vv-about-grid>img{width:170px;height:130px;object-fit:cover;border-radius:12px}.vv-about-points{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.vv-about-points span{text-align:center;font-size:.74rem;color:#607086}.vv-about-points b{display:block;color:#15314d;font-size:.92rem;margin-bottom:5px}.vv-mapko-logo{max-width:220px;max-height:74px;object-fit:contain}.vwst-section-generator{background:#fff!important}.vwst-section-aides{display:none!important}
@media(max-width:900px){.vv-hero-grid,.vv-two,.vv-cyber-top,.vv-cyber-bottom,.vv-custom-grid,.vv-about-grid{grid-template-columns:1fr}.vv-hero-photo{height:390px}.vv-hero-copy{padding:55px 0 25px}.vv-check-grid,.vv-custom-cards{grid-template-columns:repeat(2,1fr)}.vv-about-points{grid-template-columns:repeat(2,1fr)}.vv-about-grid>img{width:150px;height:150px}.vv-cyber-photo ul{width:55%}}
@media(max-width:560px){.vv-wrap{width:min(100% - 24px,1180px)}.vv-hero h1{font-size:2.55rem}.vv-pill-row{gap:12px}.vv-mini-grid,.vv-stats,.vv-check-grid,.vv-custom-cards{grid-template-columns:1fr}.vv-cyber-photo{min-height:420px}.vv-cyber-photo ul{width:auto;left:18px;right:18px;top:auto;bottom:18px}.vv-about-points{grid-template-columns:1fr 1fr}}
