/*
 * Valorde Stone — corporate industrial design system (RTL / Arabic)
 * Loaded after Astra so it stays compatible with Elementor, Gutenberg and WooCommerce.
 * Sections: 1 Tokens · 2 Base · 3 Header · 4 Inner pages · 5 Components
 *           6 Homepage · 7 Footer · 8 WooCommerce · 9 Responsive · 10 Motion
 */

/* 1. Tokens ---------------------------------------------------------------- */
:root {
  --vd-navy: #082b5c;
  --vd-navy-deep: #051d40;
  --vd-blue: #0a438e;
  --vd-red: #df171f;
  --vd-red-dark: #b90f16;
  --vd-pale: #f4f7fb;
  --vd-text: #12213a;
  --vd-muted: #5b6d84;
  --vd-line: #dbe5f0;
  --vd-radius: 6px;
  --vd-radius-lg: 14px;
  --vd-shadow-sm: 0 4px 16px rgba(8, 43, 92, .07);
  --vd-shadow: 0 18px 45px rgba(8, 43, 92, .13);
  --vd-ease: cubic-bezier(.22, .8, .25, 1);
  --vd-logo-h: 54px;
  --vd-header-h: calc(var(--vd-logo-h) + 30px);
}

/* 2. Base ------------------------------------------------------------------ */
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: calc(var(--vd-header-h) + 20px); }
::selection { background: var(--vd-red); color: #fff; }

body.valorde-stone-site {
  color: var(--vd-text);
  background: #fff;
  font-family: "Cairo", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
/* Arabic letters must stay joined: never apply letter-spacing to Arabic text. */
.valorde-stone-site h1, .valorde-stone-site h2, .valorde-stone-site h3,
.valorde-stone-site h4, .valorde-stone-site h5, .valorde-stone-site h6 {
  letter-spacing: 0;
  color: var(--vd-navy);
  font-family: "Cairo", system-ui, sans-serif;
  font-weight: 800;
}
.valorde-stone-site .site-content { overflow: clip; }
.valorde-stone-site a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease, opacity .2s ease; }
.valorde-stone-site :focus-visible { outline: 3px solid rgba(10, 67, 142, .55); outline-offset: 3px; border-radius: 3px; }
.valorde-container { width: min(1220px, calc(100% - 48px)); margin-inline: auto; }
.vd-icon { display: block; flex: none; }

/* Astra's wrapper: constrain inner pages, keep full-bleed for the home page and builders. */
.valorde-shell .site-content > .ast-container { width: 100%; max-width: 1220px; margin-inline: auto; padding-inline: 24px; }
.valorde-home .site-content > .ast-container,
.valorde-landing .site-content > .ast-container,
.ast-page-builder-template .site-content > .ast-container,
.elementor-template-full-width .site-content > .ast-container,
.elementor-template-canvas .site-content > .ast-container { max-width: none; padding: 0; }

/* 3. Header ---------------------------------------------------------------- */
.valorde-site-header {
  position: sticky; top: 0; z-index: 100;
  background: rgba(255, 255, 255, .94);
  -webkit-backdrop-filter: saturate(1.4) blur(14px); backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid var(--vd-line);
  transition: box-shadow .3s ease, background .3s ease;
}
.admin-bar .valorde-site-header { top: 32px; }
.valorde-site-header::before { content: ""; display: block; height: 3px; background: linear-gradient(to left, var(--vd-red) 0 28%, var(--vd-blue) 28% 100%); }
.valorde-site-header.is-scrolled { box-shadow: 0 10px 34px rgba(8, 43, 92, .12); }

.valorde-header-inner { display: flex; align-items: center; gap: 36px; min-height: var(--vd-header-h); transition: min-height .3s var(--vd-ease); }
.valorde-site-header.is-scrolled .valorde-header-inner { min-height: calc(var(--vd-logo-h) * .86 + 26px); }

/* Logo is scaled to sit in proportion with the 76px bar and the menu text. */
.valorde-brand { display: inline-flex; align-items: center; flex: none; text-decoration: none !important; }
.valorde-brand-image { display: block; width: auto; height: var(--vd-logo-h); max-width: none; object-fit: contain; transition: height .3s var(--vd-ease), transform .3s var(--vd-ease); }
.valorde-brand:hover .valorde-brand-image { transform: scale(1.03); }
.valorde-site-header.is-scrolled .valorde-brand-image { height: calc(var(--vd-logo-h) * .86); }

.valorde-primary-nav { flex: 1; }
.valorde-menu, .valorde-primary-nav ul { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.valorde-primary-nav li { position: relative; margin: 0; }
.valorde-primary-nav a {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  padding: 10px 16px; color: var(--vd-navy);
  font-size: .95rem; font-weight: 700; line-height: 1.4; text-decoration: none !important;
}
.valorde-primary-nav > ul > li > a::after {
  content: ""; position: absolute; inset-inline: 16px; bottom: 3px; height: 2px;
  background: var(--vd-red); border-radius: 2px;
  transform: scaleX(0); transform-origin: center; transition: transform .3s var(--vd-ease);
}
.valorde-primary-nav > ul > li > a:hover { color: var(--vd-red); }
.valorde-primary-nav > ul > li > a:hover::after,
.valorde-primary-nav > ul > li.current-menu-item > a::after,
.valorde-primary-nav > ul > li.current-menu-ancestor > a::after,
.valorde-primary-nav > ul > li.current_page_item > a::after { transform: scaleX(1); }
.valorde-primary-nav > ul > li.current-menu-item > a,
.valorde-primary-nav > ul > li.current-menu-ancestor > a,
.valorde-primary-nav > ul > li.current_page_item > a { color: var(--vd-red); }

/* Dropdowns for menus assigned from Appearance > Menus */
.valorde-primary-nav .menu-item-has-children > a::before {
  content: ""; order: 2; width: 6px; height: 6px; margin-top: -3px;
  border-inline-end: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg);
}
.valorde-primary-nav .sub-menu {
  position: absolute; top: 100%; inset-inline-start: 0; z-index: 10;
  display: block; min-width: 220px; padding: 8px; background: #fff;
  border: 1px solid var(--vd-line); border-top: 3px solid var(--vd-red); border-radius: 0 0 var(--vd-radius) var(--vd-radius);
  box-shadow: var(--vd-shadow);
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.valorde-primary-nav li:hover > .sub-menu, .valorde-primary-nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.valorde-primary-nav .sub-menu a { display: flex; width: 100%; padding: 10px 14px; border-radius: 4px; font-size: .88rem; }
.valorde-primary-nav .sub-menu a:hover { background: var(--vd-pale); color: var(--vd-red); }

.valorde-mobile-cta { display: none; }

.valorde-header-actions { display: flex; align-items: center; gap: 10px; flex: none; }
.valorde-icon-btn {
  position: relative; display: inline-grid; place-items: center; width: 40px; height: 40px;
  border: 1px solid var(--vd-line); border-radius: 50%; color: var(--vd-navy) !important; text-decoration: none !important;
}
.valorde-icon-btn:hover { border-color: var(--vd-red); color: var(--vd-red) !important; transform: translateY(-2px); }
.valorde-cart-link b {
  position: absolute; top: -5px; inset-inline-start: -5px; display: grid; place-items: center;
  min-width: 18px; height: 18px; padding: 0 5px; border: 2px solid #fff; border-radius: 99px;
  background: var(--vd-red); color: #fff; font-size: .62rem; font-weight: 800; line-height: 1;
}
.valorde-header-cta {
  display: inline-flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 20px;
  border-radius: var(--vd-radius); background: var(--vd-red); color: #fff !important;
  font-size: .88rem; font-weight: 800; text-decoration: none !important; white-space: nowrap;
  box-shadow: 0 8px 18px rgba(223, 23, 31, .22);
}
.valorde-header-cta:hover { background: var(--vd-red-dark); transform: translateY(-2px); box-shadow: 0 12px 24px rgba(223, 23, 31, .3); }
.valorde-header-cta .vd-icon { transition: transform .25s ease; }
.valorde-header-cta:hover .vd-icon { transform: translateX(-4px); }

.valorde-menu-toggle, .valorde-menu-button { display: none; }

/* 4. Inner pages (About / Services / Contact / blog) ----------------------- */
.valorde-inner #primary { margin-block: 0; padding-block: 56px 80px; }
.valorde-inner .entry-title, .valorde-inner .page-title {
  position: relative; margin: 0 0 40px; padding-bottom: 20px;
  color: var(--vd-navy); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.3;
}
.valorde-inner .entry-title::after, .valorde-inner .page-title::after {
  content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 72px; height: 4px; border-radius: 2px;
  background: linear-gradient(to left, var(--vd-red) 0 55%, var(--vd-blue) 55% 100%);
}
.valorde-inner .entry-title a { color: inherit; }
.valorde-inner .entry-title a:hover { color: var(--vd-red); }
.valorde-inner .entry-content { color: var(--vd-muted); font-size: 1.02rem; line-height: 2.05; }
.valorde-inner .entry-content h2 { margin: 2em 0 .6em; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.4; }
.valorde-inner .entry-content h3 { margin: 1.6em 0 .5em; font-size: 1.3rem; }
.valorde-inner .entry-content a:not(.wp-block-button__link):not(.elementor-button) { color: var(--vd-blue); text-decoration: underline; text-decoration-color: rgba(10, 67, 142, .3); text-underline-offset: 4px; }
.valorde-inner .entry-content a:not(.wp-block-button__link):not(.elementor-button):hover { color: var(--vd-red); text-decoration-color: currentColor; }
.valorde-inner .entry-content ul, .valorde-inner .entry-content ol { padding-inline-start: 1.4em; }
.valorde-inner .entry-content li::marker { color: var(--vd-red); }
.valorde-inner .entry-content img { border-radius: var(--vd-radius); }
.valorde-inner .entry-content blockquote { margin: 2em 0; padding: 22px 28px; border: 0; border-inline-start: 4px solid var(--vd-red); background: var(--vd-pale); color: var(--vd-navy); font-weight: 600; }
.valorde-inner .entry-content table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.valorde-inner .entry-content th { background: var(--vd-navy); color: #fff; font-weight: 700; }
.valorde-inner .entry-content th, .valorde-inner .entry-content td { padding: 12px 16px; border: 1px solid var(--vd-line); text-align: start; }
.valorde-inner .entry-content tr:nth-child(even) td { background: var(--vd-pale); }

/* Blog / archive cards */
.valorde-inner .ast-article-post, .valorde-inner .ast-article-single { border: 1px solid var(--vd-line); border-radius: var(--vd-radius-lg); background: #fff; box-shadow: var(--vd-shadow-sm); }
.valorde-inner .ast-article-post:hover { transform: translateY(-4px); box-shadow: var(--vd-shadow); }
.valorde-inner .ast-article-post { transition: transform .25s ease, box-shadow .25s ease; }
.valorde-inner .entry-meta, .valorde-inner .entry-meta a { color: var(--vd-muted); font-size: .85rem; }
.valorde-inner .page-numbers { border-radius: var(--vd-radius); }
.valorde-inner .page-numbers.current, .valorde-inner .page-numbers:hover { background: var(--vd-red); border-color: var(--vd-red); color: #fff; }

/* Forms (contact page: Contact Form 7, WPForms, Gutenberg, search) */
.valorde-stone-site input[type="text"], .valorde-stone-site input[type="email"], .valorde-stone-site input[type="tel"],
.valorde-stone-site input[type="url"], .valorde-stone-site input[type="number"], .valorde-stone-site input[type="search"],
.valorde-stone-site input[type="password"], .valorde-stone-site select, .valorde-stone-site textarea {
  width: 100%; padding: 13px 16px; border: 1px solid #c9d6e6; border-radius: var(--vd-radius);
  background: #fff; color: var(--vd-text); font-family: inherit; font-size: .95rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.valorde-stone-site input:focus, .valorde-stone-site select:focus, .valorde-stone-site textarea:focus {
  border-color: var(--vd-blue); box-shadow: 0 0 0 4px rgba(10, 67, 142, .12); outline: 0;
}
.valorde-stone-site label { color: var(--vd-navy); font-weight: 700; }
.valorde-stone-site ::placeholder { color: #93a2b6; }

/* 5. Buttons --------------------------------------------------------------- */
.valorde-stone-site .button, .valorde-stone-site button[type="submit"], .valorde-stone-site input[type="submit"],
.valorde-stone-site .wp-block-button__link, .valorde-stone-site .elementor-button,
.valorde-stone-site .wpcf7-submit {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 0 26px; border: 0; border-radius: var(--vd-radius);
  background: var(--vd-red); color: #fff; font-family: inherit; font-weight: 800; font-size: .95rem;
  box-shadow: 0 10px 22px rgba(223, 23, 31, .2); cursor: pointer;
}
.valorde-stone-site .button:hover, .valorde-stone-site button[type="submit"]:hover, .valorde-stone-site input[type="submit"]:hover,
.valorde-stone-site .wp-block-button__link:hover, .valorde-stone-site .elementor-button:hover,
.valorde-stone-site .wpcf7-submit:hover { background: var(--vd-red-dark); color: #fff; transform: translateY(-2px); }

/* 6. Homepage -------------------------------------------------------------- */
.valorde-corporate-home { --vd-section-y: 104px; background: #fff; color: var(--vd-text); overflow: hidden; }
.valorde-corporate-home .valorde-container { width: min(1220px, calc(100% - 48px)); }

.vd-hero {
  position: relative; display: flex; align-items: center; min-height: 640px; overflow: hidden;
  background:
    radial-gradient(circle at 1px 1px, rgba(10, 67, 142, .09) 1px, transparent 0) 0 0 / 26px 26px,
    linear-gradient(110deg, #f5f9ff 0%, #fff 54%, #e4effb 100%);
}
.vd-hero::after { content: ""; position: absolute; width: 650px; height: 650px; border: 1px solid rgba(10, 67, 142, .1); border-radius: 50%; inset-inline-end: -280px; top: -240px; }
.vd-hero-inner { position: relative; z-index: 1; display: grid; grid-template-columns: .9fr 1.1fr; gap: 56px; align-items: center; }
.vd-hero-copy { order: 2; padding-block: 72px; }
.vd-hero-image-wrap { position: relative; order: 1; display: flex; align-items: center; min-height: 480px; }
.vd-hero-image-wrap::before { content: ""; position: absolute; z-index: -1; top: 7%; inset-inline-start: -22px; width: 86%; height: 86%; border: 14px solid rgba(223, 23, 31, .08); }
.vd-hero-image { display: block; width: 100%; height: auto; max-height: 490px; object-fit: cover; border-radius: 6px; box-shadow: 22px 25px 60px rgba(8, 43, 92, .22); }
.vd-hero-badge {
  position: absolute; inset-inline-end: -22px; bottom: 36px; display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 116px; height: 116px; border: 4px solid #fff; border-radius: 50%; background: var(--vd-red); color: #fff;
  box-shadow: 0 12px 30px rgba(223, 23, 31, .3); transform: rotate(8deg);
}
.vd-hero-badge strong { color: #fff; font-family: "DM Sans", sans-serif; font-size: 1.8rem; line-height: 1; }
.vd-hero-badge span { margin-top: 6px; font-size: .68rem; font-weight: 700; }

.vd-eyebrow, .vd-section-label { display: inline-flex; align-items: center; gap: 12px; color: var(--vd-red); font-size: .85rem; font-weight: 800; }
.vd-eyebrow::before, .vd-section-label::before { content: ""; width: 34px; height: 3px; background: var(--vd-red); border-radius: 2px; }
.vd-hero h1 { margin: 20px 0 18px; color: var(--vd-navy); font-size: clamp(2.8rem, 5.2vw, 4.9rem); line-height: 1.25; }
.vd-hero h1 strong, .vd-section h2 strong, .vd-cta h2 strong { color: var(--vd-red); font-weight: 800; }
.vd-hero-copy > p { max-width: 520px; margin: 0; color: #4d617d; font-size: 1.05rem; line-height: 2.05; }
.vd-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }

.vd-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 52px; padding: 0 28px;
  border-radius: var(--vd-radius); font-weight: 800; font-size: .95rem; text-decoration: none !important;
}
.vd-button-red { background: var(--vd-red); color: #fff !important; box-shadow: 0 12px 25px rgba(223, 23, 31, .22); }
.vd-button-red:hover { background: var(--vd-red-dark); color: #fff !important; transform: translateY(-3px); }
.vd-button-outline { border: 1.5px solid rgba(8, 43, 92, .3); color: var(--vd-navy) !important; background: rgba(255, 255, 255, .6); }
.vd-button-outline:hover { border-color: var(--vd-red); color: var(--vd-red) !important; background: #fff; transform: translateY(-3px); }
.vd-button-white { background: #fff; color: var(--vd-navy) !important; box-shadow: 0 12px 28px rgba(0, 0, 0, .18); }
.vd-button-white:hover { background: #ffe9ea; color: var(--vd-red) !important; transform: translateY(-3px); }
.vd-arrow, .vd-link span { display: inline-flex; transition: transform .25s ease; }
.vd-button:hover .vd-arrow, .vd-link:hover span { transform: translateX(-5px); }

/* Proof cards: float over the bottom edge of the hero */
.vd-hero { padding-bottom: 64px; }
.vd-proof-bar { position: relative; z-index: 2; margin-top: -64px; background: transparent; }
.vd-proof-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.vd-proof-grid > div {
  position: relative; display: grid; grid-template-columns: 52px 1fr; column-gap: 14px; align-items: center; min-height: 92px; padding: 20px 22px;
  border: 1px solid var(--vd-line); border-radius: var(--vd-radius-lg); background: #fff; box-shadow: var(--vd-shadow);
  transition: transform .3s var(--vd-ease), border-color .3s ease;
}
.vd-proof-grid > div::after { content: ""; position: absolute; inset-inline: 22px; top: -1px; height: 3px; border-radius: 0 0 3px 3px; background: var(--vd-red); transform: scaleX(.25); transform-origin: right; transition: transform .35s var(--vd-ease); }
.vd-proof-grid > div:hover { transform: translateY(-5px); border-color: rgba(223, 23, 31, .3); }
.vd-proof-grid > div:hover::after { transform: scaleX(1); }
.vd-proof-icon { grid-row: span 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: rgba(223, 23, 31, .08); color: var(--vd-red); font-style: normal; }
.vd-proof-grid > div:nth-child(even) .vd-proof-icon { background: rgba(10, 67, 142, .08); color: var(--vd-blue); }
.vd-proof-grid strong { color: var(--vd-navy); font-size: 1rem; font-weight: 800; line-height: 1.5; }
.vd-proof-grid span { color: var(--vd-muted); font-size: .8rem; line-height: 1.7; }

/* Sections */
.vd-section { padding-block: var(--vd-section-y); }
.vd-section h2 { margin: 14px 0 0; color: var(--vd-navy); font-size: clamp(2.1rem, 4vw, 3.4rem); line-height: 1.3; }
.vd-about { background: #fff; }
.vd-about-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: start; }
.vd-about p { margin: 0 0 16px; color: var(--vd-muted); font-size: .98rem; line-height: 2.05; }
.vd-about .vd-lead { color: var(--vd-text); font-size: 1.15rem; font-weight: 600; line-height: 2.05; }
.vd-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 12px; color: var(--vd-red); font-size: .92rem; font-weight: 800; text-decoration: none !important; }
.vd-company-profile { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--vd-line); }
.vd-company-profile h3 { margin: 26px 0 10px; color: var(--vd-navy); font-size: 1.2rem; line-height: 1.6; }
.vd-company-profile h3:first-child { margin-top: 0; }
.vd-company-profile p { margin: 0 0 14px; color: var(--vd-muted); font-size: .96rem; line-height: 2.05; }
.vd-stats.vd-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 500px; }

.vd-services { background: var(--vd-pale); }
.vd-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 36px; margin-bottom: 44px; }
.vd-section-heading > p { max-width: 390px; margin: 0; color: #64758b; font-size: .95rem; line-height: 2; }
.vd-service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.vd-service-card {
  position: relative; isolation: isolate; min-height: 320px; padding: 32px 30px; overflow: hidden;
  border: 1px solid var(--vd-line); border-radius: var(--vd-radius); background: #fff; color: var(--vd-navy) !important; text-decoration: none !important;
  transition: transform .3s var(--vd-ease), box-shadow .3s var(--vd-ease), border-color .3s ease;
}
.vd-service-card::after { content: ""; position: absolute; z-index: -1; inset-inline-end: -54px; bottom: -65px; width: 140px; height: 140px; border: 1px solid currentColor; border-radius: 50%; opacity: .1; pointer-events: none; }
.vd-service-card:nth-child(2) { border-top: 4px solid var(--vd-blue); }
.vd-service-card:nth-child(3) { border-top: 4px solid var(--vd-red); }
.vd-service-card:hover { transform: translateY(-8px); border-color: rgba(223, 23, 31, .45); box-shadow: var(--vd-shadow); }
.vd-service-card-red { background: var(--vd-red); border-color: var(--vd-red); color: #fff !important; }
.vd-service-card-red::after { opacity: .28; }
.vd-service-no { display: block; color: var(--vd-red); font-family: "DM Sans", sans-serif; font-size: .85rem; font-weight: 700; }
.vd-service-card-red .vd-service-no { color: #ffc2c5; }
.vd-service-icon { display: grid; place-items: center; width: 68px; height: 68px; margin-top: 30px; border-radius: 16px; background: rgba(223, 23, 31, .08); color: var(--vd-red); transition: transform .3s ease; }
.vd-service-card-red .vd-service-icon { background: rgba(255, 255, 255, .16); color: #fff; }
.vd-service-card:hover .vd-service-icon { transform: translateY(-4px) rotate(-5deg); }
.vd-service-card h3 { margin: 22px 0 10px; color: inherit; font-size: 1.3rem; line-height: 1.5; }
.vd-service-card p { max-width: 290px; margin: 0; color: #63758c; font-size: .88rem; line-height: 2; }
.vd-service-card-red p { color: rgba(255, 255, 255, .85); }
.vd-service-arrow { position: absolute; inset-inline-start: 28px; bottom: 26px; display: inline-flex; transition: transform .25s ease; }
.vd-service-card:hover .vd-service-arrow { transform: translateX(-6px); }

/* Timeline cards */
.vd-timeline-section { background: #fff; }
.vd-timeline-heading { align-items: start; }
.vd-timeline { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; margin-top: 0; }
.vd-timeline article {
  position: relative; min-height: 0; padding: 26px 24px 28px; overflow: hidden;
  border: 1px solid var(--vd-line); border-top: 3px solid var(--vd-red); border-radius: var(--vd-radius); background: #fff;
  transition: transform .3s var(--vd-ease), box-shadow .3s var(--vd-ease);
}
.vd-timeline article:nth-child(even) { border-top-color: var(--vd-blue); }
.vd-timeline article:hover { transform: translateY(-6px); box-shadow: var(--vd-shadow); }
.vd-timeline article b { display: inline-block; padding: 2px 14px; border-radius: 99px; background: rgba(223, 23, 31, .08); color: var(--vd-red); font-family: "DM Sans", sans-serif; font-size: 1.15rem; font-weight: 700; }
.vd-timeline article:nth-child(even) b { background: rgba(10, 67, 142, .08); color: var(--vd-blue); }
.vd-timeline h3 { margin: 16px 0 8px; color: var(--vd-navy); font-size: 1.1rem; }
.vd-timeline p { margin: 0; color: #6b7c90; font-size: .88rem; line-height: 2; }

/* Call to action */
.vd-cta { position: relative; overflow: hidden; padding-block: 88px; background: linear-gradient(110deg, var(--vd-navy), #0c4c9c); color: #fff; }
.vd-cta::before { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 50%; inset-inline-start: -160px; top: -200px; }
.vd-cta-inner { position: relative; display: flex; justify-content: space-between; align-items: center; gap: 30px; }
.vd-label-light { color: #ffb1b4; }
.vd-cta h2 { margin-top: 14px; color: #fff; font-size: clamp(2.1rem, 3.8vw, 3.6rem); line-height: 1.3; }

/* 7. Footer ---------------------------------------------------------------- */
.valorde-site-footer { position: relative; background: var(--vd-navy-deep); color: rgba(255, 255, 255, .72); }
.valorde-site-footer::before { content: ""; display: block; height: 4px; background: linear-gradient(to left, var(--vd-red) 0 28%, var(--vd-blue) 28% 100%); }
.valorde-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.3fr; gap: 48px; padding-block: 72px 56px; }
.valorde-brand-footer .valorde-brand-image { height: calc(var(--vd-logo-h) * 1.2); }
.valorde-footer-brand > p { max-width: 280px; margin: 22px 0 0; font-size: .9rem; line-height: 2; }
.valorde-site-footer h3 { position: relative; margin: 0 0 22px; padding-bottom: 12px; color: #fff; font-size: 1.05rem; }
.valorde-site-footer h3::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 30px; height: 3px; border-radius: 2px; background: var(--vd-red); }
.valorde-site-footer ul { margin: 0; padding: 0; list-style: none; }
.valorde-site-footer li { margin-bottom: 11px; }
.valorde-site-footer a { color: rgba(255, 255, 255, .72); font-size: .9rem; text-decoration: none !important; }
.valorde-site-footer li a:hover { color: #fff; padding-inline-start: 6px; }
.valorde-footer-contact { margin: 0 0 14px; font-size: .9rem; line-height: 2; }
.valorde-footer-mail, .valorde-footer-hours { display: flex; align-items: flex-start; gap: 10px; }
.valorde-footer-mail { margin-bottom: 14px; color: #ff9da1 !important; font-weight: 700; }
.valorde-footer-mail:hover { color: #fff !important; }
.valorde-footer-hours .vd-icon, .valorde-footer-mail .vd-icon { margin-top: 6px; color: var(--vd-red); }
.valorde-footer-bottom { display: flex; justify-content: space-between; gap: 20px; padding-block: 20px; border-top: 1px solid rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .5); font-size: .8rem; }

/* 8. WooCommerce ----------------------------------------------------------- */
.valorde-stone-site ul.products { gap: 24px; }
.valorde-stone-site ul.products li.product { overflow: hidden; padding: 0 0 20px; border: 1px solid var(--vd-line); border-radius: var(--vd-radius-lg); background: #fff; box-shadow: var(--vd-shadow-sm); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.valorde-stone-site ul.products li.product:hover { transform: translateY(-6px); border-color: rgba(223, 23, 31, .35); box-shadow: var(--vd-shadow); }
.valorde-stone-site ul.products li.product > a img { margin: 0 0 18px; aspect-ratio: 1 / 1; object-fit: cover; }
.valorde-stone-site ul.products li.product .woocommerce-loop-product__title, .valorde-stone-site ul.products li.product .price, .valorde-stone-site ul.products li.product .button { margin-inline: 20px; }
.valorde-stone-site ul.products li.product .woocommerce-loop-product__title { color: var(--vd-navy); font-size: 1.05rem; font-weight: 800; }
.valorde-stone-site ul.products li.product .price { color: var(--vd-red); font-weight: 800; }
.valorde-stone-site span.onsale { min-width: auto; min-height: auto; padding: .4em .9em; border-radius: var(--vd-radius); background: var(--vd-red); color: #fff; font-weight: 800; line-height: 1.6; }
.valorde-stone-site .woocommerce-message, .valorde-stone-site .woocommerce-info, .valorde-stone-site .woocommerce-error { border-radius: var(--vd-radius); border-top-color: var(--vd-blue); }

/* 9. Responsive ------------------------------------------------------------ */
@media (max-width: 1080px) {
  .valorde-header-inner { gap: 20px; }
  .valorde-primary-nav a { padding: 10px 11px; font-size: .9rem; }
  .valorde-header-cta { padding: 0 16px; }
  .vd-about-grid { gap: 60px; }
}
@media (max-width: 900px) {
  :root { --vd-header-h: calc(var(--vd-logo-h) * .78 + 26px); }
  .valorde-header-inner { min-height: var(--vd-header-h); }
  .valorde-brand-image, .valorde-site-header.is-scrolled .valorde-brand-image { height: calc(var(--vd-logo-h) * .78); }
  .valorde-header-cta { display: none; }

  .valorde-menu-button { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 42px; height: 42px; margin-inline-start: auto; border: 1px solid var(--vd-line); border-radius: var(--vd-radius); cursor: pointer; order: 3; }
  .valorde-menu-button span { display: block; width: 20px; height: 2px; margin-inline: auto; border-radius: 2px; background: var(--vd-navy); transition: transform .3s ease, opacity .2s ease; }
  .valorde-menu-toggle:checked + .valorde-menu-button span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .valorde-menu-toggle:checked + .valorde-menu-button span:nth-child(2) { opacity: 0; }
  .valorde-menu-toggle:checked + .valorde-menu-button span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
  .valorde-header-actions { order: 2; margin-inline-start: auto; }
  .valorde-menu-button { margin-inline-start: 0; }

  .valorde-primary-nav {
    position: absolute; inset-inline: 0; top: 100%; flex: none; max-height: calc(100vh - var(--vd-header-h) - 20px); overflow-y: auto;
    padding: 12px 24px 22px; background: #fff; border-bottom: 3px solid var(--vd-red); box-shadow: 0 24px 40px rgba(8, 43, 92, .16);
    opacity: 0; visibility: hidden; transform: translateY(-10px); transition: opacity .25s ease, transform .25s ease, visibility .25s;
  }
  .valorde-menu-toggle:checked ~ .valorde-primary-nav { opacity: 1; visibility: visible; transform: none; }
  .valorde-menu, .valorde-primary-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .valorde-primary-nav li { border-bottom: 1px solid var(--vd-line); }
  .valorde-primary-nav li:last-child { border: 0; }
  .valorde-primary-nav a { display: flex; padding: 15px 4px; font-size: 1.02rem; }
  .valorde-primary-nav > ul > li > a::after { display: none; }
  .valorde-primary-nav > ul > li.current-menu-item > a { padding-inline-start: 14px; border-inline-start: 4px solid var(--vd-red); }
  .valorde-primary-nav .sub-menu { position: static; min-width: 0; padding: 0 14px 8px; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; }
  .valorde-mobile-cta { display: block; padding-top: 16px; border: 0 !important; }
  .valorde-mobile-cta a { justify-content: center; min-height: 48px; border-radius: var(--vd-radius); background: var(--vd-red); color: #fff !important; font-weight: 800; }

  .valorde-corporate-home { --vd-section-y: 76px; }
  .vd-hero-inner, .vd-about-grid { grid-template-columns: 1fr; gap: 36px; }
  .vd-hero-copy { order: 1; padding-block: 64px 0; }
  .vd-hero-image-wrap { order: 2; min-height: 360px; padding-bottom: 40px; }
  .vd-section-heading { align-items: start; flex-direction: column; }
  .vd-service-grid { grid-template-columns: 1fr 1fr; }
  .vd-cta-inner { align-items: start; flex-direction: column; }
  .valorde-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .admin-bar .valorde-site-header { top: 46px; }
}
@media (max-width: 580px) {
  .valorde-container, .valorde-corporate-home .valorde-container { width: min(100% - 32px, 560px); }
  .valorde-primary-nav { padding-inline: 16px; }
  .valorde-brand-image, .valorde-site-header.is-scrolled .valorde-brand-image { height: calc(var(--vd-logo-h) * .7); }
  .valorde-shell .site-content > .ast-container { padding-inline: 16px; }
  .valorde-inner #primary { padding-block: 36px 56px; }
  .vd-hero h1 { font-size: 2.7rem; }
  .vd-hero-image-wrap { min-height: 250px; }
  .vd-hero-badge { width: 92px; height: 92px; inset-inline-end: -6px; bottom: 6px; }
  .vd-hero-badge strong { font-size: 1.35rem; }
  .vd-button { width: 100%; }
  .vd-service-card { min-height: 0; padding-bottom: 76px; }
  .vd-service-grid { grid-template-columns: 1fr; }
  .valorde-footer-grid { grid-template-columns: 1fr; padding-block: 52px 36px; }
  .valorde-footer-bottom { align-items: start; flex-direction: column; gap: 6px; }
  .valorde-stone-site ul.products { gap: 14px; }
  .valorde-stone-site .woocommerce ul.products[class*=columns-] li.product { width: calc(50% - 7px); margin-inline: 0; }
  .valorde-stone-site ul.products li.product .woocommerce-loop-product__title { font-size: .92rem; }
}
@media (max-width: 782px) { .admin-bar .valorde-site-header { top: 46px; } }

/* 10. Motion --------------------------------------------------------------- */
.vd-hero-copy { animation: vd-fade-up .75s var(--vd-ease) both; }
.vd-hero-image-wrap { animation: vd-hero-in .9s .12s var(--vd-ease) both; }
.vd-hero-image { animation: vd-image-float 7s ease-in-out 1s infinite; }
.vd-hero-badge { animation: vd-badge-pulse 3.2s ease-in-out 1.4s infinite; }
.vd-proof-bar::after { animation: vd-line-grow 1.2s .5s ease both; }
.vd-reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s var(--vd-ease); transition-delay: var(--vd-delay, 0ms); }
.vd-reveal.vd-is-visible { opacity: 1; transform: none; }
@keyframes vd-fade-up { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes vd-hero-in { from { opacity: 0; transform: translateX(-28px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes vd-image-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes vd-badge-pulse { 0%, 100% { box-shadow: 0 12px 30px rgba(223, 23, 31, .25); } 50% { box-shadow: 0 15px 40px rgba(223, 23, 31, .45); } }
@keyframes vd-line-grow { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .valorde-stone-site *, .valorde-stone-site *::before, .valorde-stone-site *::after { transition-duration: .01ms !important; animation: none !important; }
  .vd-reveal { opacity: 1; transform: none; }
}

/* 11. Cards (shared) ------------------------------------------------------- */
.vd-card-grid { display: grid; gap: 20px; }
.vd-card-grid-2 { grid-template-columns: repeat(2, 1fr); }
.vd-card-grid-3 { grid-template-columns: repeat(3, 1fr); }
.vd-card-grid-4 { grid-template-columns: repeat(4, 1fr); }
.vd-card {
  position: relative; display: block; padding: 32px 30px; border: 1px solid var(--vd-line); border-radius: var(--vd-radius-lg);
  background: #fff; color: var(--vd-text); box-shadow: var(--vd-shadow-sm); text-decoration: none !important;
  transition: transform .3s var(--vd-ease), box-shadow .3s var(--vd-ease), border-color .3s ease;
}
.vd-card:hover { transform: translateY(-6px); border-color: rgba(223, 23, 31, .35); box-shadow: var(--vd-shadow); }
.vd-card-icon { display: grid; place-items: center; width: 62px; height: 62px; margin-bottom: 20px; border-radius: 16px; background: rgba(223, 23, 31, .08); color: var(--vd-red); }
.vd-card h3 { margin: 0 0 10px; color: var(--vd-navy); font-size: 1.25rem; line-height: 1.5; }
.vd-card p { margin: 0; color: var(--vd-muted); font-size: .92rem; line-height: 2; }
.vd-card-service { padding-top: 34px; }
.vd-card-service .vd-service-no { position: absolute; top: 28px; inset-inline-end: 30px; color: #c3cfe0; font-size: 1.6rem; }
.vd-card-service.is-featured { border-color: var(--vd-red); background: linear-gradient(160deg, var(--vd-red), var(--vd-red-dark)); color: #fff; }
.vd-card-service.is-featured h3, .vd-card-service.is-featured p, .vd-card-service.is-featured .vd-checklist li { color: #fff; }
.vd-card-service.is-featured .vd-service-no { color: rgba(255, 255, 255, .45); }
.vd-card-service.is-featured .vd-card-icon { background: rgba(255, 255, 255, .18); color: #fff; }
.vd-card-service.is-featured .vd-checklist .vd-icon { color: #fff; }
.vd-checklist { margin: 20px 0 0; padding: 18px 0 0; border-top: 1px solid var(--vd-line); list-style: none; }
.vd-card-service.is-featured .vd-checklist { border-top-color: rgba(255, 255, 255, .25); }
.vd-checklist li { display: flex; align-items: center; gap: 10px; margin: 0 0 10px; color: var(--vd-navy); font-size: .9rem; font-weight: 600; }
.vd-checklist .vd-icon { color: var(--vd-red); }
.vd-step b { display: block; margin-bottom: 14px; color: var(--vd-red); font-family: "DM Sans", sans-serif; font-size: 2.2rem; line-height: 1; }
.vd-step:nth-child(even) b { color: var(--vd-blue); }
.vd-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 30px; }
.vd-stat { padding: 20px 16px; border: 1px solid var(--vd-line); border-top: 3px solid var(--vd-red); border-radius: var(--vd-radius); background: var(--vd-pale); text-align: center; }
.vd-stat:nth-child(2) { border-top-color: var(--vd-blue); }
.vd-stat strong { display: block; color: var(--vd-navy); font-family: "DM Sans", sans-serif; font-size: 1.9rem; line-height: 1.2; }
.vd-stat span { color: var(--vd-muted); font-size: .82rem; font-weight: 600; }

/* 12. Page banner & contact ------------------------------------------------ */
.vd-page-hero { position: relative; overflow: hidden; padding-block: 64px 70px; background: linear-gradient(110deg, var(--vd-navy), #0c4c9c); color: #fff; }
.vd-page-hero::before { content: ""; position: absolute; width: 520px; height: 520px; border: 1px solid rgba(255, 255, 255, .1); border-radius: 50%; inset-inline-start: -160px; top: -240px; }
.vd-page-hero::after { content: ""; position: absolute; inset-inline-start: 0; bottom: 0; width: 28%; height: 4px; background: var(--vd-red); }
.vd-page-hero .valorde-container { position: relative; z-index: 1; }
.vd-breadcrumb { display: flex; gap: 10px; margin-bottom: 18px; color: rgba(255, 255, 255, .7); font-size: .88rem; }
.vd-breadcrumb a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.vd-breadcrumb a:hover { color: #fff; text-decoration: underline; }
.valorde-stone-site .vd-page-hero h1 { margin: 0 0 14px; color: #fff; font-size: clamp(2.2rem, 4.5vw, 3.6rem); line-height: 1.3; }
.vd-page-hero p { max-width: 640px; margin: 0; color: rgba(255, 255, 255, .8); font-size: 1.05rem; line-height: 2; }

.vd-contact-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 56px; align-items: start; }
.vd-contact-info h2 { margin: 14px 0 28px; }
.vd-info-card { display: flex; align-items: center; gap: 18px; margin-bottom: 16px; padding: 22px 24px; }
.vd-info-card .vd-card-icon { width: 54px; height: 54px; margin: 0; }
.vd-info-card small { display: block; color: var(--vd-muted); font-size: .8rem; }
.vd-info-card strong { display: block; color: var(--vd-navy); font-size: 1.05rem; }
.vd-info-card span { color: var(--vd-muted); font-size: .92rem; }
.vd-form-card { padding: 38px; }
.vd-form-card:hover { transform: none; box-shadow: var(--vd-shadow-sm); border-color: var(--vd-line); }
.vd-form-card h3 { margin-bottom: 22px; font-size: 1.5rem; }
.vd-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.vd-field { margin-bottom: 18px; }
.vd-field label { display: block; margin-bottom: 8px; font-size: .9rem; }
.vd-field label small { color: var(--vd-muted); font-weight: 500; }
.vd-hp { position: absolute; inset-inline-start: -9999px; width: 1px; height: 1px; overflow: hidden; }
.vd-notice { margin-bottom: 20px; padding: 14px 18px; border-radius: var(--vd-radius); font-weight: 600; font-size: .92rem; }
.vd-notice-ok { border: 1px solid #a8dcbc; background: #eaf8f0; color: #17613a; }
.vd-notice-err { border: 1px solid #f2b6b9; background: #fdeeee; color: #9a1017; }

/* 13. Footer cards --------------------------------------------------------- */
.valorde-footer-card { padding: 26px 26px 14px; border: 1px solid rgba(255, 255, 255, .12); border-radius: var(--vd-radius-lg); background: rgba(255, 255, 255, .05); }
.valorde-footer-card h3 { margin-bottom: 18px; }
.valorde-to-top { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border: 1px solid rgba(255, 255, 255, .25); border-radius: 99px; color: #fff !important; font-size: .8rem !important; }
.valorde-to-top:hover { background: var(--vd-red); border-color: var(--vd-red); transform: translateY(-2px); }
.valorde-footer-bottom { align-items: center; }
.valorde-footer-grid { padding-block: 64px 48px; }

@media (max-width: 900px) {
  .vd-proof-grid { grid-template-columns: repeat(2, 1fr); }
  .vd-timeline { grid-template-columns: repeat(2, 1fr); }
  .vd-card-grid-3, .vd-card-grid-4 { grid-template-columns: repeat(2, 1fr); }
  .vd-contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .vd-page-hero { padding-block: 48px 54px; }
}
@media (max-width: 580px) {
  .vd-hero { padding-bottom: 56px; }
  .vd-proof-bar { margin-top: -48px; }
  .vd-proof-grid, .vd-timeline, .vd-card-grid-2, .vd-card-grid-3, .vd-card-grid-4, .vd-form-row, .vd-stats { grid-template-columns: 1fr; }
  .vd-card { padding: 26px 22px; }
  .vd-form-card { padding: 26px 20px; }
  .valorde-footer-bottom { align-items: flex-start; }
}

/* Consultation page — focused corporate conversion layout */
.vd-consultation-page .vd-page-hero { background:linear-gradient(115deg,#f5f8fc,#fff 58%,#edf4fb); }
.vd-consultation-intro { padding-block:78px 70px; background:#fff; }
.vd-consultation-head { display:flex; justify-content:space-between; align-items:end; gap:45px; margin-bottom:42px; }
.vd-consultation-head h2 { margin:14px 0 0; color:var(--vd-navy); font-size:clamp(2.2rem,4vw,3.7rem); line-height:1.12; letter-spacing:-.055em; }
.vd-consultation-head h2 strong { color:var(--vd-red); }
.vd-consultation-head>p { max-width:410px; margin:0; color:var(--vd-muted); font-size:.95rem; line-height:2; }
.vd-consultation-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.vd-consult-step { position:relative; min-height:190px; padding:25px 26px; border:1px solid var(--vd-line); border-radius:var(--vd-radius); background:#fff; overflow:hidden; transition:transform .25s,box-shadow .25s; }
.vd-consult-step:hover { transform:translateY(-6px); box-shadow:var(--vd-shadow); }
.vd-consult-step>b { color:var(--vd-red); font:700 1.2rem "DM Sans",sans-serif; }
.vd-consult-step-icon { display:block; margin-top:26px; color:var(--vd-blue); font-size:2rem; }
.vd-consult-step h3 { margin:11px 0 5px; color:var(--vd-navy); font-size:1.05rem; }
.vd-consult-step p { margin:0; color:var(--vd-muted); font-size:.78rem; }
.vd-consult-step-featured { border-color:var(--vd-red); background:linear-gradient(140deg,var(--vd-red),#b70f18); }
.vd-consult-step-featured>b,.vd-consult-step-featured .vd-consult-step-icon,.vd-consult-step-featured h3,.vd-consult-step-featured p { color:#fff; }
.vd-consultation-form-section { padding-block:90px 110px; background:var(--vd-pale); }
.vd-consultation-grid { grid-template-columns:.82fr 1.18fr; align-items:start; gap:70px; }
.vd-consultation-aside { padding-top:12px; }
.vd-consultation-aside h2 { margin:14px 0 17px; color:var(--vd-navy); font-size:clamp(2rem,3.5vw,3.1rem); line-height:1.15; letter-spacing:-.05em; }
.vd-consultation-aside h2 strong { color:var(--vd-red); }
.vd-consultation-aside>p { color:var(--vd-muted); line-height:2; font-size:.9rem; }
.vd-consultation-points { display:grid; gap:12px; padding:0; margin:28px 0; list-style:none; color:var(--vd-navy); font-size:.82rem; font-weight:700; }
.vd-consultation-points li { display:flex; align-items:center; gap:10px; }
.vd-consultation-points span { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:rgba(223,23,31,.1); color:var(--vd-red); }
.vd-consultation-contact { display:grid; gap:6px; margin-top:30px; padding:20px; border-inline-start:3px solid var(--vd-red); background:#fff; border-radius:4px; }
.vd-consultation-contact small { color:var(--vd-muted); }
.vd-consultation-contact a { color:var(--vd-navy); font-weight:800; text-decoration:none; }
.vd-consultation-contact span { color:var(--vd-muted); font-size:.78rem; }
.vd-consultation-form-card { border:0; border-top:4px solid var(--vd-red); box-shadow:0 18px 55px rgba(8,43,92,.1); }
.vd-form-heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:10px; margin-bottom:25px; }
.vd-form-heading h3 { margin:0; color:var(--vd-navy); font-size:1.5rem; }
.vd-form-heading p { margin:0; color:var(--vd-muted); font-size:.75rem; }
.vd-form-number { color:var(--vd-red); font:700 .8rem "DM Sans",sans-serif; }
.vd-form label em { color:var(--vd-red); font-style:normal; }
.vd-form input,.vd-form textarea,.vd-form select { border-color:#d8e2ee; border-radius:4px; background:#fbfdff; transition:border-color .2s,box-shadow .2s,background .2s; }
.vd-form input:focus,.vd-form textarea:focus,.vd-form select:focus { border-color:var(--vd-blue); background:#fff; box-shadow:0 0 0 3px rgba(10,67,142,.1); outline:0; }
.vd-form select { min-height:48px; padding-inline:14px; color:var(--vd-navy); }
.vd-consult-submit { width:100%; margin-top:5px; }
@media (max-width:900px) { .vd-consultation-head { align-items:start; flex-direction:column; } .vd-consultation-grid { grid-template-columns:1fr; gap:38px; } }
@media (max-width:580px) { .vd-consultation-intro,.vd-consultation-form-section { padding-block:60px; } .vd-consultation-steps { grid-template-columns:1fr; } .vd-consult-step { min-height:145px; } }

/* Proof cards — visual quality strip */
.vd-proof-bar { padding-block:30px; background:linear-gradient(115deg,#061f46,#0a438e); }
.vd-proof-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.vd-proof-grid>div { position:relative; display:grid; grid-template-columns:44px 1fr; column-gap:12px; align-items:center; min-height:94px; padding:15px 17px; border:1px solid rgba(255,255,255,.18); border-radius:10px; background:rgba(255,255,255,.08); overflow:hidden; transition:transform .3s var(--vd-ease),background .3s,box-shadow .3s; }
.vd-proof-grid>div::after { content:""; position:absolute; width:82px; height:82px; border:1px solid rgba(255,255,255,.2); border-radius:50%; inset-inline-end:-31px; bottom:-42px; }
.vd-proof-grid>div:hover { transform:translateY(-7px); background:rgba(255,255,255,.16); box-shadow:0 15px 30px rgba(0,0,0,.16); }
.vd-proof-icon { display:grid; place-items:center; grid-row:span 2; width:42px; height:42px; border-radius:10px; background:#fff; color:var(--vd-red); transition:transform .3s var(--vd-ease),background .3s; }
.vd-proof-grid>div:hover .vd-proof-icon { transform:rotate(-8deg) scale(1.08); background:#ffeaeb; }
.vd-proof-grid strong { color:#fff; font-size:.9rem; line-height:1.5; }
.vd-proof-grid span { color:rgba(255,255,255,.68); font-size:.7rem; line-height:1.6; }
.vd-proof-bar::after { display:none; }
.vd-consultation-page .vd-page-hero { position:relative; overflow:hidden; }
.vd-consultation-page .vd-page-hero::after { content:"VD"; position:absolute; inset-inline-end:6%; bottom:-40px; color:rgba(10,67,142,.04); font:800 11rem "DM Sans",sans-serif; line-height:1; pointer-events:none; }
.vd-consultation-page .vd-consultation-intro,.vd-consultation-page .vd-consultation-form-section { position:relative; }
.vd-consultation-page .vd-consult-step,.vd-consultation-page .vd-consultation-form-card,.vd-consultation-page .vd-consultation-contact { animation:vd-consult-rise .65s var(--vd-ease) both; }
.vd-consultation-page .vd-consult-step:nth-child(2) { animation-delay:.1s; }.vd-consultation-page .vd-consult-step:nth-child(3) { animation-delay:.2s; }
@keyframes vd-consult-rise { from{opacity:0;transform:translateY(18px)} to{opacity:1;transform:translateY(0)} }
@media (max-width:900px) { .vd-proof-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:580px) { .vd-proof-grid { grid-template-columns:1fr; } .vd-proof-grid>div { min-height:82px; } }
@media (prefers-reduced-motion:reduce) { .vd-consultation-page .vd-consult-step,.vd-consultation-page .vd-consultation-form-card,.vd-consultation-page .vd-consultation-contact { animation:none; } }

/* Alternative proof-card direction: light editorial bento cards */
.vd-proof-bar { padding-block:72px; background:#f4f7fb; }
.vd-proof-grid { position:relative; grid-template-columns:repeat(4,1fr); gap:18px; }
.vd-proof-grid::before { content:"QUALITY / INNOVATION / TRUST"; position:absolute; inset-inline-end:0; top:-39px; color:rgba(8,43,92,.12); font:700 .62rem "DM Sans",sans-serif; letter-spacing:.16em; }
.vd-proof-grid>div { display:block; min-height:225px; padding:25px 22px 22px; border:1px solid #e0e8f2; border-top:4px solid var(--vd-blue); border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(8,43,92,.06); overflow:hidden; transition:transform .35s var(--vd-ease),box-shadow .35s,border-color .35s; }
.vd-proof-grid>div:nth-child(2),.vd-proof-grid>div:nth-child(4) { border-top-color:var(--vd-red); }
.vd-proof-grid>div::before { content:""; display:block; width:38px; height:2px; margin-bottom:22px; background:var(--vd-red); transition:width .35s var(--vd-ease); }
.vd-proof-grid>div::after { content:attr(data-proof-number); position:absolute; inset-inline-end:17px; top:22px; color:rgba(8,43,92,.1); font:800 2.4rem "DM Sans",sans-serif; }
.vd-proof-grid>div:hover { transform:translateY(-10px); border-color:rgba(10,67,142,.35); box-shadow:0 20px 40px rgba(8,43,92,.14); }
.vd-proof-grid>div:hover::before { width:75px; }
.vd-proof-icon { width:58px; height:58px; margin-bottom:25px; border-radius:50%; background:#eaf1fb; color:var(--vd-blue); box-shadow:inset 0 0 0 7px #f7faff; transition:transform .35s var(--vd-ease),background .35s,color .35s; }
.vd-proof-grid>div:nth-child(2) .vd-proof-icon,.vd-proof-grid>div:nth-child(4) .vd-proof-icon { background:#fff0f0; color:var(--vd-red); }
.vd-proof-grid>div:hover .vd-proof-icon { transform:rotate(12deg) scale(1.1); background:var(--vd-navy); color:#fff; }
.vd-proof-grid strong { display:block; margin-bottom:8px; color:var(--vd-navy); font-size:1.03rem; }
.vd-proof-grid span { display:block; max-width:165px; color:var(--vd-muted); font-size:.78rem; line-height:1.8; }
.vd-proof-grid>div { opacity:1; }
@media (max-width:900px) { .vd-proof-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:580px) { .vd-proof-bar { padding-block:54px; } .vd-proof-grid { grid-template-columns:1fr; } .vd-proof-grid>div { min-height:175px; } .vd-proof-grid::before { top:-28px; font-size:.52rem; } }

.vd-proof-grid>div.vd-reveal { opacity:0; transform:translateY(22px); }
.vd-proof-grid>div.vd-reveal.vd-is-visible { opacity:1; transform:translateY(0); }

/* Motion without red circles: geometric brand treatment */
.vd-proof-grid>div::after { display:none; }
.vd-proof-icon { width:54px; height:54px; border-radius:9px; background:linear-gradient(135deg,#eaf1fb,#f8fbff); box-shadow:none; transform:none; }
.vd-proof-grid>div:nth-child(2) .vd-proof-icon,.vd-proof-grid>div:nth-child(4) .vd-proof-icon { background:linear-gradient(135deg,#fff0f0,#fffafa); }
.vd-proof-grid>div:hover .vd-proof-icon { transform:translateY(-4px) rotate(-4deg); border-radius:9px; background:var(--vd-navy); color:#fff; }
.vd-proof-grid>div:hover { transform:translateY(-8px); }
.vd-hero-badge { width:138px; height:58px; border:0; border-radius:8px; flex-direction:row; gap:9px; inset-inline-end:-14px; bottom:30px; transform:rotate(-2deg); }
.vd-hero-badge strong { font-size:1.55rem; }
.vd-hero-badge span { margin-top:0; max-width:60px; line-height:1.35; }
@media (max-width:580px) { .vd-hero-badge { width:120px; height:48px; inset-inline-end:-5px; bottom:12px; } .vd-hero-badge strong { font-size:1.25rem; } }

/* Final proof section direction: institutional editorial rail, not cards */
.vd-proof-bar { padding-block:86px; background:#fff; border-block:1px solid #e4ebf3; }
.vd-proof-grid { position:relative; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 58px; padding-top:26px; }
.vd-proof-grid::before { content:"VD / STANDARD"; position:absolute; inset-inline-start:0; top:-4px; color:var(--vd-red); font:800 .68rem "DM Sans",sans-serif; letter-spacing:.16em; }
.vd-proof-grid>div { position:relative; display:grid; grid-template-columns:68px 1fr; grid-template-rows:auto auto; column-gap:18px; align-items:center; min-height:156px; padding:27px 10px 27px 0; border-bottom:1px solid #dbe5f0; background:transparent; box-shadow:none; border-radius:0; transform:none; transition:background .35s ease,padding .35s var(--vd-ease),box-shadow .35s; }
.vd-proof-grid>div:nth-child(3),.vd-proof-grid>div:nth-child(4) { border-bottom:0; }
.vd-proof-grid>div::before { content:attr(data-proof-number); position:absolute; inset-inline-end:4px; top:20px; width:auto; height:auto; margin:0; background:none; color:rgba(8,43,92,.09); font:800 3.2rem/1 "DM Sans",sans-serif; transition:color .3s; }
.vd-proof-grid>div::after { content:""; position:absolute; inset-inline-start:0; bottom:-1px; width:0; height:3px; background:linear-gradient(to left,var(--vd-red),var(--vd-blue)); transition:width .4s var(--vd-ease); }
.vd-proof-grid>div:hover { padding-inline-start:18px; padding-inline-end:18px; background:#f7faff; box-shadow:inset -4px 0 0 var(--vd-red); }
.vd-proof-grid>div:hover::before { color:rgba(223,23,31,.16); }
.vd-proof-grid>div:hover::after { width:100%; }
.vd-proof-icon { grid-row:1 / span 2; display:grid; place-items:center; width:58px; height:58px; border:1px solid #d5e1ef; border-radius:7px; background:#fff; color:var(--vd-blue); box-shadow:0 8px 18px rgba(8,43,92,.08); transition:transform .35s var(--vd-ease),color .3s,background .3s,border-color .3s; }
.vd-proof-grid>div:nth-child(2) .vd-proof-icon,.vd-proof-grid>div:nth-child(4) .vd-proof-icon { color:var(--vd-red); }
.vd-proof-grid>div:hover .vd-proof-icon { transform:translateY(-5px); border-color:var(--vd-navy); background:var(--vd-navy); color:#fff; }
.vd-proof-grid strong { z-index:1; display:block; margin:0; color:var(--vd-navy); font-size:1.02rem; line-height:1.5; }
.vd-proof-grid span { z-index:1; display:block; color:var(--vd-muted); font-size:.78rem; line-height:1.8; }
.vd-proof-grid>div.vd-reveal { opacity:0; transform:translateY(18px); }
.vd-proof-grid>div.vd-reveal.vd-is-visible { opacity:1; transform:translateY(0); }
@media (max-width:900px) { .vd-proof-grid { gap:0 28px; } }
@media (max-width:580px) { .vd-proof-bar { padding-block:64px; } .vd-proof-grid { grid-template-columns:1fr; padding-top:28px; } .vd-proof-grid>div:nth-child(3) { border-bottom:1px solid #dbe5f0; } .vd-proof-grid>div { min-height:132px; } }

/* V14 static quality list: intentionally fixed, no hover motion or circles */
.vd-proof-bar { padding:64px 0 !important; background:#082b5c !important; border:0 !important; }
.vd-proof-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:0 !important; padding:0 !important; }
.vd-proof-grid::before { content:"VD QUALITY SYSTEM" !important; position:absolute !important; top:-29px !important; inset-inline-start:0 !important; color:rgba(255,255,255,.55) !important; font:700 10px "DM Sans",sans-serif !important; letter-spacing:.18em !important; }
.vd-proof-grid>div,.vd-proof-grid>div:nth-child(3),.vd-proof-grid>div:nth-child(4) { display:grid !important; grid-template-columns:48px 1fr !important; grid-template-rows:auto auto !important; min-height:116px !important; padding:18px 24px !important; border:0 !important; border-inline-start:1px solid rgba(255,255,255,.22) !important; border-radius:0 !important; background:transparent !important; box-shadow:none !important; transform:none !important; opacity:1 !important; transition:none !important; }
.vd-proof-grid>div:first-child { border-inline-start:0 !important; }
.vd-proof-grid>div::before { content:attr(data-proof-number) !important; position:static !important; grid-row:1 / span 2 !important; display:flex !important; align-items:center !important; width:34px !important; height:34px !important; margin:0 !important; color:#ff525a !important; background:none !important; font:700 17px/1 "DM Sans",sans-serif !important; }
.vd-proof-grid>div::after { display:none !important; }
.vd-proof-icon,.vd-proof-grid>div:nth-child(2) .vd-proof-icon,.vd-proof-grid>div:nth-child(4) .vd-proof-icon { display:none !important; }
.vd-proof-grid strong { display:block !important; color:#fff !important; font-size:15px !important; line-height:1.5 !important; }
.vd-proof-grid span { display:block !important; color:rgba(255,255,255,.68) !important; font-size:11px !important; line-height:1.7 !important; }
.vd-proof-grid>div:hover,.vd-proof-grid>div:hover .vd-proof-icon,.vd-proof-grid>div.vd-reveal,.vd-proof-grid>div.vd-reveal.vd-is-visible { padding:18px 24px !important; transform:none !important; opacity:1 !important; background:transparent !important; box-shadow:none !important; }
@media (max-width:900px) { .vd-proof-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .vd-proof-grid>div:nth-child(3) { border-inline-start:0 !important; } }
@media (max-width:580px) { .vd-proof-bar { padding:48px 0 !important; } .vd-proof-grid { grid-template-columns:1fr !important; } .vd-proof-grid>div,.vd-proof-grid>div:nth-child(3),.vd-proof-grid>div:nth-child(4) { min-height:82px !important; border-inline-start:0 !important; border-bottom:1px solid rgba(255,255,255,.18) !important; } .vd-proof-grid>div:last-child { border-bottom:0 !important; } }
