/* ==========================================================================
   VERNUS DESIGN SYSTEM — vn-* (BEM)
   Single source of truth. Loaded site-wide via Fluent Snippet
   (10-vernus-design-system.php -> <link> to /uploads/vernus/vn-design.css).
   Elements reference plain CSS classes (_cssClasses), NOT Bricks global classes.
   Figma "Miros" design language, Vernus content. No em-dash in copy.
   ========================================================================== */

:root{
  --vd-surface:#11190c; --vd-surface-2:#1b1e16; --vd-ink:#0c0c0d;
  --vd-lime:#e6ff02; --vd-sand:#efeae0; --vd-sand-2:#e4ddcd; --vd-bg:#cfc9bc;
  --vd-line:#2a2c24; --vd-muted:#4c4c4c; --vd-muted-2:#a5a5a5;
  --vd-card-border:#e7e2d6; --vd-card-2:#fbf9f4; --vd-card-2-border:#d8d0bd;
  --vd-dark-card:#16180f; --vd-outline:#c9c0ad; --vd-ghost:#3a3d33;
  --vd-radius:24px; --vd-radius-pill:999px; --vd-maxw:1200px;
  --vd-font-head:"Instrument Sans",sans-serif; --vd-font-body:"Inter",sans-serif;
}

/* --- Brand fonts (override theme Hedvig serif heading) --- */
h1,h2,h3,h4,h5,h6{font-family:var(--vd-font-head);}

/* ==========================================================================
   TYPOGRAPHY ROLES  (Figma type scale)
   ========================================================================== */
.vn-eyebrow{font-family:var(--vd-font-head);font-size:.8rem;font-weight:600;line-height:1.2;letter-spacing:.12em;text-transform:uppercase;color:var(--vd-lime);}
.vn-eyebrow--ink{color:var(--vd-surface);}
.vn-title{font-family:var(--vd-font-head);font-size:clamp(2.2rem,1.2rem+3vw,3.75rem);font-weight:600;line-height:1.08;letter-spacing:-.025em;color:var(--vd-surface);}
.vn-title--light{color:#fff;}
.vn-title em,.vn-title .vn-lime{font-style:normal;color:var(--vd-lime);}
.vn-lead{font-family:var(--vd-font-body);font-size:1rem;line-height:1.5;letter-spacing:-.008em;color:var(--vd-muted);max-width:60ch;}
.vn-lead--light{color:var(--vd-muted-2);}
.vn-body{font-family:var(--vd-font-body);font-size:1rem;line-height:1.5;letter-spacing:-.008em;color:var(--vd-muted);}
.vn-link{font-family:var(--vd-font-body);font-size:1rem;font-weight:600;color:var(--vd-surface);text-decoration:none;}
.vn-link:hover{color:var(--vd-lime);}

/* ==========================================================================
   LAYOUT PRIMITIVES
   ========================================================================== */
.vn-wrap{max-width:var(--vd-maxw);margin-inline:auto;}
.vn-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.vn-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
@media(max-width:880px){.vn-grid-3,.vn-grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.vn-grid-3,.vn-grid-4{grid-template-columns:1fr;}}

/* ==========================================================================
   BUTTONS  (NOT btn-- : ACSS targets [class*="btn--"])
   ========================================================================== */
.vn-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:18px 34px;border-radius:var(--vd-radius-pill);font-family:var(--vd-font-head);
  font-weight:600;font-size:1rem;line-height:1;text-decoration:none;border:none;cursor:pointer;transition:.2s;}
.vn-button--sm{padding:14px 26px;margin-top:6px;}
.vn-button--dark,.vn-button--dark:hover{background:var(--vd-dark-card);color:#fff;}
.vn-button--lime,.vn-button--lime:hover{background:var(--vd-lime);color:var(--vd-surface);}
.vn-button--outline,.vn-button--outline:hover{background:transparent;color:var(--vd-dark-card);border:1px solid var(--vd-outline);}
.vn-button--ghost,.vn-button--ghost:hover{background:transparent;color:#fff;border:1px solid var(--vd-ghost);}
.vn-button--dark:hover,.vn-button--lime:hover{transform:translateY(-2px);}
.vn-actions{display:flex;flex-direction:row;gap:14px;align-items:center;margin-top:6px;}
.vn-actions--center{justify-content:center;}
@media(max-width:480px){.vn-actions{flex-direction:column;align-items:stretch;width:100%;}}

/* ==========================================================================
   HERO  (centered, Figma language)
   ========================================================================== */
.vn-hero{position:relative;overflow:hidden;padding:96px 24px;background:var(--vd-bg);}
.vn-hero__inner{display:flex;flex-direction:column;align-items:center;gap:64px;max-width:var(--vd-maxw);margin-inline:auto;}
.vn-hero__copy{display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center;max-width:880px;margin-inline:auto;}
.vn-hero__headline-wrap{position:relative;width:100%;display:flex;justify-content:center;}
.vn-hero__h1{font-family:var(--vd-font-head);font-size:clamp(2.6rem,1.4rem+4vw,4.5rem);font-weight:600;line-height:1.06;letter-spacing:-.03em;color:var(--vd-surface);text-align:center;}
.vn-hero__sub{font-family:var(--vd-font-body);font-size:1rem;line-height:1.5;color:var(--vd-muted);text-align:center;max-width:694px;}
.vn-hero__trust{font-family:var(--vd-font-body);font-size:.9rem;color:var(--vd-muted);text-align:center;}
/* floating lime pills around H1 */
.vn-hero__pill{position:absolute;z-index:3;display:inline-flex;align-items:center;gap:8px;padding:12px 24px;
  border-radius:var(--vd-radius-pill);background:var(--vd-lime);font-family:var(--vd-font-head);font-weight:600;
  font-size:1rem;line-height:1.4;letter-spacing:-.025em;color:var(--vd-surface);white-space:nowrap;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.28);}
.vn-hero__pill--l{top:-24px;left:4px;transform:rotate(-4deg);}
.vn-hero__pill--r{bottom:-20px;right:8px;transform:rotate(8.5deg);}
@media(max-width:768px){.vn-hero__pill{display:none;}}
/* visual / config panel */
.vn-hero__visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:430px;width:100%;max-width:560px;margin-inline:auto;}
.vn-hero__panel{display:flex;flex-direction:column;gap:16px;width:100%;padding:34px;border-radius:22px;
  background:linear-gradient(160deg,var(--vd-surface-2),var(--vd-surface));box-shadow:0 30px 60px -20px rgba(0,0,0,.35);}
.vn-hero__badge{position:absolute;z-index:3;padding:12px 16px;border-radius:12px;background:#fff;
  box-shadow:0 18px 40px -12px rgba(0,0,0,.28);font-family:var(--vd-font-body);font-size:.85rem;font-weight:600;color:var(--vd-surface);}
.vn-hero__badge--tr{top:-18px;right:6px;}
.vn-hero__badge--bl{bottom:24px;left:-20px;}
.vn-hero__badge--br{bottom:-16px;right:30px;background:var(--vd-lime);}

/* ==========================================================================
   TRUST STRIP  (dark band, italic stat numerals)
   ========================================================================== */
.vn-trust{background:radial-gradient(circle at 78% 16%,rgba(230,255,2,.10),transparent 44%),var(--vd-surface);padding:88px 24px;gap:52px;}
.vn-trust__tagline{font-family:var(--vd-font-head);font-style:italic;font-weight:600;font-size:clamp(2rem,1.1rem+3.4vw,3.6rem);line-height:1.05;letter-spacing:-.025em;color:var(--vd-lime);text-align:center;max-width:20ch;}
.vn-trust__inner{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;max-width:var(--vd-maxw);width:100%;margin-inline:auto;}
@media(max-width:768px){.vn-trust__inner{grid-template-columns:1fr;}}
.vn-trust__item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:36px 26px;}
.vn-trust__num{font-family:var(--vd-font-head);font-style:italic;font-weight:600;font-size:clamp(2.4rem,1.6rem+2.6vw,3.75rem);line-height:1.05;letter-spacing:-.03em;color:#fff;}
.vn-trust__num::before{content:"";display:block;width:24px;height:2px;background:var(--vd-lime);margin:0 auto 12px;}
.vn-trust__label{font-family:var(--vd-font-body);font-size:.95rem;line-height:1.4;color:var(--vd-muted-2);}

/* ==========================================================================
   SECTIONS (light) + CARDS
   ========================================================================== */
.vn-section{padding:80px 24px;background:var(--vd-bg);}
.vn-section__head{max-width:var(--vd-maxw);margin-inline:auto;margin-bottom:46px;display:flex;flex-direction:column;gap:14px;}
.vn-grid{max-width:var(--vd-maxw);margin-inline:auto;}

.vn-card{display:flex;flex-direction:column;gap:12px;background:#fff;border:1px solid var(--vd-card-border);border-radius:var(--vd-radius);padding:32px;position:relative;box-shadow:0 2px 4px rgba(20,18,10,.05),0 18px 40px -20px rgba(20,18,10,.22);}
.vn-card--dark{background:var(--vd-dark-card);border:none;color:#fff;}
.vn-card--featured{background:var(--vd-dark-card);border:2px solid var(--vd-lime);color:#fff;}
.vn-card__num{font-family:var(--vd-font-head);font-style:italic;font-weight:600;font-size:2rem;letter-spacing:-.03em;color:var(--vd-lime);}
.vn-card__title{font-family:var(--vd-font-head);font-size:1.5rem;font-weight:600;line-height:1.2;letter-spacing:-.025em;color:var(--vd-surface);}
.vn-card--dark .vn-card__title,.vn-card--featured .vn-card__title{color:#fff;}
.vn-card__desc{font-family:var(--vd-font-body);font-size:.95rem;line-height:1.5;color:var(--vd-muted);}
.vn-card--dark .vn-card__desc,.vn-card--featured .vn-card__desc{color:var(--vd-muted-2);}
.vn-card__price{font-family:var(--vd-font-head);font-style:italic;font-weight:600;font-size:2rem;letter-spacing:-.03em;color:var(--vd-surface);}
.vn-card--dark .vn-card__price,.vn-card--featured .vn-card__price{color:var(--vd-lime);}
/* seasonal / unikat badge on a card */
.vn-tag{position:absolute;top:18px;right:18px;padding:6px 12px;border-radius:var(--vd-radius-pill);font-family:var(--vd-font-head);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;background:var(--vd-lime);color:var(--vd-surface);}

/* DATA stats (dark numbers cards) */
.vn-data{background:var(--vd-sand-2);padding:90px 24px;display:flex;flex-direction:column;gap:40px;align-items:center;}
.vn-data__inner{max-width:var(--vd-maxw);margin-inline:auto;display:flex;flex-direction:column;gap:40px;width:100%;}
.vn-data__card{display:flex;flex-direction:column;gap:6px;background:var(--vd-card-2);border:1px solid var(--vd-card-2-border);border-radius:16px;padding:26px;}
.vn-data__card--dark{background:var(--vd-dark-card);border:none;}
.vn-stat__num{font-family:var(--vd-font-head);font-style:italic;font-weight:600;font-size:clamp(2rem,1.4rem+1.6vw,2.6rem);line-height:1.05;letter-spacing:-.03em;color:var(--vd-surface);}
.vn-data__card--dark .vn-stat__num{color:var(--vd-lime);}
.vn-stat__label{font-family:var(--vd-font-body);font-size:.9rem;line-height:1.4;color:var(--vd-muted);}
.vn-data__card--dark .vn-stat__label{color:var(--vd-muted-2);}

/* REVIEWS / realizacje gallery (dark image cards) */
.vn-reviews__card{aspect-ratio:4/3;border-radius:var(--vd-radius);background-image:linear-gradient(180deg,rgba(12,12,13,.12),rgba(12,12,13,.84)),var(--vn-shot,linear-gradient(150deg,var(--vd-surface-2),var(--vd-ink)));background-size:cover;background-position:center;border:1px solid var(--vd-line);display:flex;align-items:flex-end;padding:22px;color:#fff;}
.vn-reviews__card--1{--vn-shot:url(/wp-content/uploads/vernus/realizacja-1.jpg);}
.vn-reviews__card--2{--vn-shot:url(/wp-content/uploads/vernus/realizacja-2.jpg);}
.vn-reviews__card--3{--vn-shot:url(/wp-content/uploads/vernus/realizacja-3.jpg);}
.vn-reviews__card--4{--vn-shot:url(/wp-content/uploads/vernus/realizacja-4.jpg);}
.vn-reviews__card--5{--vn-shot:url(/wp-content/uploads/vernus/realizacja-5.jpg);}
.vn-reviews__card--6{--vn-shot:url(/wp-content/uploads/vernus/realizacja-6.jpg);}
.vn-reviews__card--7{--vn-shot:url(/wp-content/uploads/vernus/realizacja-7.jpg);}
.vn-reviews__card--8{--vn-shot:url(/wp-content/uploads/vernus/realizacja-8.jpg);}
.vn-reviews__card--9{--vn-shot:url(/wp-content/uploads/vernus/realizacja-9.jpg);}
.vn-reviews__card--10{--vn-shot:url(/wp-content/uploads/vernus/realizacja-10.jpg);}
.vn-reviews__card--11{--vn-shot:url(/wp-content/uploads/vernus/realizacja-11.jpg);}
.vn-reviews__card--12{--vn-shot:url(/wp-content/uploads/vernus/realizacja-12.jpg);}
.vn-reviews__name{font-family:var(--vd-font-head);font-size:1.5rem;font-weight:600;color:#fff;}

/* WORDMARK */
.vn-wordmark{padding:64px 24px 0;overflow:hidden;text-align:center;}
.vn-wordmark__claim{font-family:var(--vd-font-body);font-size:1rem;line-height:1.5;color:var(--vd-muted);max-width:694px;margin-inline:auto;margin-bottom:24px;}
.vn-wordmark__text{font-family:var(--vd-font-head);font-size:clamp(4rem,22vw,19rem);font-weight:600;line-height:.9;letter-spacing:-.03em;white-space:nowrap;overflow:hidden;color:var(--vd-surface);}

/* CTA */
.vn-cta{padding:100px 24px;background:var(--vd-sand-2);}
.vn-cta__card{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:72px 32px;border-radius:40px;
  background:linear-gradient(135deg,var(--vd-surface-2),var(--vd-surface));box-shadow:0 40px 80px -30px rgba(0,0,0,.4);max-width:var(--vd-maxw);margin-inline:auto;}
.vn-cta__title{font-family:var(--vd-font-head);font-size:clamp(2rem,1.4rem+2vw,3.2rem);font-weight:600;line-height:1.1;letter-spacing:-.025em;color:#fff;}
.vn-cta__sub{font-family:var(--vd-font-body);font-size:1rem;line-height:1.5;color:var(--vd-muted-2);max-width:640px;}

/* ==========================================================================
   CONTEXT OVERRIDES (dark surfaces -> light text)
   ========================================================================== */
/* hero eyebrow as a Miros-style lime chip (was lime text on sand = WCAG ~1.5:1 fail) */
.vn-hero__copy .vn-eyebrow{display:inline-flex;align-items:center;align-self:center;gap:8px;padding:8px 16px;border-radius:var(--vd-radius-pill);background:var(--vd-lime);color:var(--vd-surface);box-shadow:0 10px 24px -12px rgba(0,0,0,.25);}
.vn-hero__panel .vn-eyebrow{color:var(--vd-lime);}
.vn-hero__panel .vn-card__title{color:#fff;}
.vn-hero__panel .vn-card__desc{color:var(--vd-muted-2);}
.vn-trust{display:flex;flex-direction:column;align-items:center;}
.vn-section{display:flex;flex-direction:column;align-items:center;}
.vn-section__head,.vn-grid{width:100%;}
.vn-cta{display:flex;flex-direction:column;align-items:center;}
/* generic dark card descendants */
.vn-card--featured .vn-eyebrow,.vn-card--dark .vn-eyebrow{color:var(--vd-lime);}
.vn-card--dark .vn-link,.vn-card--featured .vn-link{color:#fff;}
.vn-card--dark .vn-link:hover,.vn-card--featured .vn-link:hover{color:var(--vd-lime);}

/* ==========================================================================
   HEADER (sticky dark bar)
   ========================================================================== */
.vn-header{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;padding:18px 24px;transition:background .35s ease,backdrop-filter .35s ease,box-shadow .35s ease;}
.vn-header--scrolled{background:rgba(17,25,12,.20);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);box-shadow:0 1px 0 rgba(255,255,255,.12);}
.vn-header__inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;max-width:var(--vd-maxw);margin-inline:auto;}
.vn-header__logo{font-family:var(--vd-font-head);font-size:1.5rem;font-weight:700;letter-spacing:-.02em;color:var(--vd-surface);line-height:1;}
.vn-header__nav{display:flex;flex-direction:row;align-items:center;gap:28px;}
.vn-header__link{font-family:var(--vd-font-body);font-size:.95rem;font-weight:500;color:#fff;text-decoration:none;white-space:nowrap;transition:.2s;}
.vn-header__link:hover{opacity:.6;}
.vn-header__cta{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:var(--vd-radius-pill);background:var(--vd-surface);color:var(--vd-lime);font-family:var(--vd-font-head);font-weight:600;font-size:.95rem;text-decoration:none;white-space:nowrap;border:none;}
@media(max-width:820px){.vn-header__nav{display:none;}}

/* ==========================================================================
   SUBPAGE HERO (dark, centered)
   ========================================================================== */
.vn-subhero{background:var(--vd-surface);padding:128px 24px 90px;display:flex;flex-direction:column;align-items:center;}
.vn-subhero__inner{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;max-width:820px;margin-inline:auto;}
.vn-subhero__title{font-family:var(--vd-font-head);font-size:clamp(2.2rem,1.4rem+3vw,3.6rem);font-weight:600;line-height:1.08;letter-spacing:-.03em;color:#fff;}
.vn-subhero__lead{font-family:var(--vd-font-body);font-size:1rem;line-height:1.5;color:var(--vd-muted-2);max-width:640px;}
.vn-subhero .vn-eyebrow{color:var(--vd-lime);}

/* ==========================================================================
   FOOTER (dark, brand + columns + mega-wordmark + bar)
   ========================================================================== */
.vn-footer{background:var(--vd-surface);padding:72px 24px 0;display:flex;flex-direction:column;align-items:center;overflow:hidden;}
.vn-footer__inner{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:40px;max-width:var(--vd-maxw);width:100%;margin-inline:auto;}
.vn-footer__brand{display:flex;flex-direction:column;gap:12px;}
.vn-footer__logo{font-family:var(--vd-font-head);font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:-.02em;}
.vn-footer__tagline{font-family:var(--vd-font-body);font-size:.9rem;line-height:1.5;color:var(--vd-muted-2);max-width:38ch;}
.vn-footer__col{display:flex;flex-direction:column;gap:2px;}
.vn-footer__col-title{font-family:var(--vd-font-head);font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--vd-lime);margin-bottom:4px;}
.vn-footer__link{display:inline-flex;align-items:center;min-height:44px;font-family:var(--vd-font-body);font-size:.95rem;color:#e7e7e3;text-decoration:none;transition:.2s;}
.vn-footer__link:hover{color:var(--vd-lime);}
.vn-footer__addr{font-family:var(--vd-font-body);font-size:.95rem;color:var(--vd-muted-2);}
.vn-footer__wordmark{font-family:var(--vd-font-head);font-size:clamp(5rem,20vw,16rem);font-weight:700;line-height:.85;letter-spacing:-.03em;color:rgba(255,255,255,.07);text-align:center;white-space:nowrap;overflow:hidden;width:100%;margin-top:32px;}
.vn-footer__bar{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;max-width:var(--vd-maxw);width:100%;margin-inline:auto;padding:24px 0;border-top:1px solid var(--vd-line);}
.vn-footer__copy,.vn-footer__meta{font-family:var(--vd-font-body);font-size:.85rem;color:var(--vd-muted-2);}
@media(max-width:768px){.vn-footer__inner{grid-template-columns:1fr 1fr;}.vn-footer__bar{flex-direction:column;align-items:flex-start;}}

/* ==========================================================================
   A11Y + RHYTHM (review batch 2026-05-31)
   ========================================================================== */
/* sticky header offset for in-page anchors (#oferta/#cennik/#kontakt) */
.vn-section,.vn-subhero,.vn-data,.vn-cta,.vn-trust{scroll-margin-top:80px;}

/* denser vertical rhythm on small screens (desktop paddings felt stretched) */
@media(max-width:560px){
  .vn-hero{padding:56px 20px 64px;}
  .vn-hero__inner{gap:40px;}
  .vn-hero__visual{min-height:320px;}
  .vn-section,.vn-cta,.vn-trust,.vn-data{padding-block:56px;}
}

/* visible keyboard focus (WCAG 2.4.7) */
.vn-button:focus-visible,.vn-link:focus-visible,.vn-header__link:focus-visible,
.vn-footer__link:focus-visible,.vn-header__cta:focus-visible{
  outline:3px solid var(--vd-lime);outline-offset:3px;border-radius:6px;}

/* respect reduced-motion preference */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;}
  .vn-button--dark:hover,.vn-button--lime:hover{transform:none;}
}

/* ==========================================================================
   PREMIUM DRAMA — Miros signatures (2026-05-31)
   lime corner-dots on showcase cards + lime flowing background line in hero
   ========================================================================== */
/* 4 lime dots inset in each corner (one ::after, 4 radial layers) */
.vn-card,.vn-reviews__card,.vn-hero__panel,.vn-data__card,.vn-contact__info,.vn-trust__item{position:relative;}
.vn-card::after,.vn-reviews__card::after,.vn-hero__panel::after,.vn-data__card::after,.vn-contact__info::after,.vn-trust__item::after{
  content:"";position:absolute;inset:13px;border-radius:inherit;pointer-events:none;z-index:2;
  background:
    radial-gradient(circle 2.5px at top left,var(--vd-lime) 96%,transparent) no-repeat,
    radial-gradient(circle 2.5px at top right,var(--vd-lime) 96%,transparent) no-repeat,
    radial-gradient(circle 2.5px at bottom left,var(--vd-lime) 96%,transparent) no-repeat,
    radial-gradient(circle 2.5px at bottom right,var(--vd-lime) 96%,transparent) no-repeat;}

/* ==========================================================================
   SPLIT FEATURE (image + text, for O nas / story blocks)
   ========================================================================== */
.vn-split{padding:80px 24px;background:var(--vd-sand-2);display:flex;flex-direction:column;align-items:center;}
.vn-split__inner{display:grid;grid-template-columns:1fr 1fr;gap:48px;max-width:var(--vd-maxw);width:100%;margin-inline:auto;align-items:center;}
@media(max-width:880px){.vn-split__inner{grid-template-columns:1fr;gap:28px;}}
.vn-split__media{aspect-ratio:4/3;border-radius:28px;background-size:cover;background-position:center;box-shadow:0 24px 48px -28px rgba(20,18,10,.3);background-image:var(--vn-shot,linear-gradient(150deg,var(--vd-surface-2),var(--vd-ink)));}
.vn-split__media--story{--vn-shot:url(/wp-content/uploads/vernus/realizacja-4.jpg);}
.vn-split__body{display:flex;flex-direction:column;gap:16px;}

/* ==========================================================================
   CONTACT PAGE (Miros info-card + lime icon circles + form)
   ========================================================================== */
.vn-contact{padding:80px 24px;background:var(--vd-bg);display:flex;flex-direction:column;align-items:center;}
.vn-contact__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;max-width:var(--vd-maxw);width:100%;margin-inline:auto;align-items:stretch;}
@media(max-width:880px){.vn-contact__grid{grid-template-columns:1fr;}}
.vn-contact__info{display:flex;flex-direction:column;gap:22px;justify-content:center;background:var(--vd-dark-card);border-radius:28px;padding:40px;position:relative;}
.vn-contact__row{display:flex;align-items:center;gap:16px;text-decoration:none;}
.vn-contact__icon{flex:none;width:48px;height:48px;border-radius:var(--vd-radius-pill);background:var(--vd-lime);color:var(--vd-surface);display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1;}
.vn-contact__rl{display:flex;flex-direction:column;gap:3px;}
.vn-contact__rlabel{font-family:var(--vd-font-body);font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--vd-muted-2);}
.vn-contact__rval{font-family:var(--vd-font-head);font-size:1.1rem;font-weight:600;color:#fff;text-decoration:none;transition:.2s;}
a.vn-contact__rval:hover{color:var(--vd-lime);}
.vn-contact__formwrap{background:#fff;border:1px solid var(--vd-card-border);border-radius:28px;padding:36px;box-shadow:0 18px 40px -20px rgba(20,18,10,.22);}
/* Bricks form fields scoped under .vn-form */
.vn-form .form-group{margin-bottom:16px;}
.vn-form label{font-family:var(--vd-font-body);font-size:.85rem;font-weight:600;color:var(--vd-surface);margin-bottom:6px;display:block;}
.vn-form input,.vn-form textarea,.vn-form select{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--vd-card-2-border);background:var(--vd-card-2);font-family:var(--vd-font-body);font-size:1rem;color:var(--vd-surface);}
.vn-form textarea{min-height:130px;resize:vertical;}
.vn-form input:focus,.vn-form textarea:focus{outline:2px solid var(--vd-lime);outline-offset:1px;border-color:transparent;}
.vn-form button[type=submit],.vn-form .bricks-button{display:inline-flex;align-items:center;justify-content:center;padding:16px 32px;border-radius:var(--vd-radius-pill);background:var(--vd-lime);color:var(--vd-surface);font-family:var(--vd-font-head);font-weight:600;font-size:1rem;border:none;cursor:pointer;transition:.2s;}
.vn-form button[type=submit]:hover{transform:translateY(-2px);}

/* lime flowing line behind the hero visual (Miros backdrop) */
.vn-hero__inner{position:relative;z-index:1;}
.vn-hero__visual{position:relative;z-index:1;}
.vn-hero::before{content:"";position:absolute;z-index:0;pointer-events:none;
  left:50%;top:38%;width:min(820px,90%);height:62%;transform:translateX(-50%);
  background:center/contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 540 600'%3E%3Cpath d='M70 40 C 430 120 110 290 330 350 C 520 400 180 540 450 590' fill='none' stroke='%23e6ff02' stroke-width='74' stroke-linecap='round'/%3E%3C/svg%3E");}
@media(max-width:768px){.vn-hero::before{top:46%;width:118%;opacity:.85;}}

/* ==========================================================================
   WORKSHOP HERO — before/after crossfade (empty van -> fitted mobile workshop)
   --vn-night (0..1) is the scroll progress set by the pin JS (kept var name).
   V2 (default .vn-hero--photo): Apple-style black stage, van centered.
   V1 (.vn-hero--v1full): full-bleed van interior.
   ========================================================================== */
/* FLOW LAYOUT (robust): black stage, text block THEN van block stacked in normal flow.
   Van lives in .vn-hero__visual (real element, not background) so text can never overlap it. */
.vn-hero--photo{background:#070707;padding:0;display:block;min-height:0;overflow:hidden;}
.vn-hero--photo::before,.vn-hero--photo::after{content:none;}
.vn-hero--photo .vn-hero__inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:0;max-width:var(--vd-maxw);margin-inline:auto;padding:0;}
.vn-hero--photo .vn-hero__copy{margin:0;padding:130px 24px 36px;gap:16px;max-width:880px;text-align:center;align-items:center;}
.vn-hero--photo .vn-hero__h1{color:#fff;}
.vn-hero--photo .vn-hero__sub{color:rgba(255,255,255,.82);}
.vn-hero--photo .vn-hero__trust{color:rgba(255,255,255,.6);}
.vn-hero--photo .vn-button--outline,.vn-hero--photo .vn-button--outline:hover{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);}
/* the van: a real block under the text, two images crossfading via --vn-night */
.vn-hero--photo .vn-hero__visual{display:block;position:relative;width:100%;max-width:980px;margin:0 auto;
  aspect-ratio:16/10;padding:0 24px 40px;min-height:0;}
.vn-hero--photo .vn-hero__visual::before,.vn-hero--photo .vn-hero__visual::after{content:"";position:absolute;inset:0 24px 40px;
  background-repeat:no-repeat;background-position:center bottom;background-size:contain;}
.vn-hero--photo .vn-hero__visual::before{background-image:url(/wp-content/uploads/vernus/hero-v2-empty.jpg);}
.vn-hero--photo .vn-hero__visual::after{background-image:url(/wp-content/uploads/vernus/hero-v2-fitted.jpg);opacity:var(--vn-night,0);transition:opacity .12s linear;}
.vn-hero--photo .vn-hero__panel,.vn-hero--photo .vn-hero__badge{display:none;}
/* before/after pill: sits over the van block, bottom-centered */
.vn-hero__phase{position:absolute;left:50%;bottom:54px;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:8px;
  padding:9px 18px;border-radius:var(--vd-radius-pill);background:var(--vd-lime);color:var(--vd-surface);
  font-family:var(--vd-font-head);font-weight:600;font-size:.9rem;letter-spacing:-.01em;white-space:nowrap;box-shadow:0 12px 30px -12px rgba(0,0,0,.5);}
@media(max-width:768px){
  .vn-hero--photo .vn-hero__copy{padding:120px 20px 28px;}
  .vn-hero--photo .vn-hero__visual{aspect-ratio:4/3;}
}

/* --- V1 full-bleed variant (preview page): van fills screen, text in dark left zone --- */
.vn-hero--v1full{background:#0a0c08;padding:0;display:flex;align-items:center;min-height:100vh;overflow:hidden;}
.vn-hero--v1full::before,.vn-hero--v1full::after{content:"";position:absolute;inset:0;background-size:cover;background-position:center;}
.vn-hero--v1full::before{background-image:linear-gradient(90deg,rgba(7,8,6,.9),rgba(7,8,6,.45) 55%,rgba(7,8,6,.15)),url(/wp-content/uploads/vernus/hero-empty.jpg);z-index:0;}
.vn-hero--v1full::after{background-image:linear-gradient(90deg,rgba(7,8,6,.9),rgba(7,8,6,.45) 55%,rgba(7,8,6,.15)),url(/wp-content/uploads/vernus/hero-fitted.jpg);opacity:var(--vn-night,0);transition:opacity .12s linear;z-index:1;}
.vn-hero--v1full .vn-hero__inner{position:relative;z-index:2;display:flex;justify-content:flex-start;width:100%;max-width:var(--vd-maxw);margin-inline:auto;padding:0 24px;}
.vn-hero--v1full .vn-hero__copy{margin:0;align-items:flex-start;text-align:left;max-width:620px;gap:16px;}
.vn-hero--v1full .vn-hero__h1,.vn-hero--v1full .vn-hero__sub,.vn-hero--v1full .vn-hero__trust{text-align:left;}
.vn-hero--v1full .vn-hero__h1{color:#fff;}
.vn-hero--v1full .vn-hero__sub{color:rgba(255,255,255,.85);}
.vn-hero--v1full .vn-hero__trust{color:rgba(255,255,255,.6);}
.vn-hero--v1full .vn-hero__visual,.vn-hero--v1full .vn-hero__phase{display:none;}
.vn-hero--v1full .vn-button--outline,.vn-hero--v1full .vn-button--outline:hover{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.5);}

@media (prefers-reduced-motion: reduce){.vn-hero--photo .vn-hero__visual::after,.vn-hero--v1full::after{opacity:1!important;}}
