/* Keep the established design when each section is composed of native blocks. */
.wp-block-group.hero,
.wp-block-group.section { margin-block:0; }
.wp-block-group.hero :where(.wp-block-group,.wp-block-image,.wp-block-buttons,.wp-block-button,h1,h2,h3,p,ul),
.wp-block-group.section :where(.wp-block-group,.wp-block-image,.wp-block-buttons,.wp-block-button,h1,h2,h3,p,ul) { margin-block:0; }
.wp-block-group.hero :where(.wp-block-group,.wp-block-image,.wp-block-buttons),
.wp-block-group.section :where(.wp-block-group,.wp-block-image,.wp-block-buttons) { max-width:none; }
.wp-block-group.hero .container,
.wp-block-group.section .container { max-width:1120px; margin-inline:auto; }

/* The editable site header is a separate template part over the hero. */
.hero.wp-block-group .hero-copy { margin-top:114px; max-width:100%; }
.hero-background > .wp-block-image,
.why__background > .wp-block-image { position:static; width:100%; height:100%; }
.hero-background > .wp-block-image img { max-width:none; }
.hero-copy h1 > span { display:block; }
.hero-copy h1 > br { display:none; }
.hero-copy h1 > span:not(:first-child) { margin-top:27px; }

.eyebrow.wp-block-group { display:flex; align-items:center; gap:16px; }
.eyebrow > .vnh-eyebrow-rule { width:29px; height:2px; flex:0 0 29px; }
.wp-block-separator:is(.vnh-eyebrow-rule,.vnh-solution-rule,.vnh-path-rule) { width:29px; max-width:29px; height:2px; flex:0 0 29px; border:0; margin:0; padding:0; }
.eyebrow > .vnh-eyebrow-text { flex:1; min-width:0; font:inherit; letter-spacing:inherit; text-transform:inherit; }

.vnh-button.wp-block-group { position:relative; display:inline-flex; align-items:center; flex:none; align-self:flex-start; max-width:100%; }
.vnh-button > .wp-block-buttons { display:flex; width:auto; gap:0; }
.vnh-button .wp-block-button { padding:0; margin:0; border:0; border-radius:0; background:transparent; max-width:100%; }
.vnh-button .wp-block-button__link { display:inline-flex; align-items:center; justify-content:center; min-height:47px; padding:12px 55px 12px 22px; border:0; border-radius:8px; color:#fff; font:500 16px/23px 'Funnel Sans',sans-serif; letter-spacing:.2px; text-decoration:none; white-space:nowrap; transition:filter .15s,transform .15s; box-shadow:none; }
.vnh-button .wp-block-button__link:hover { filter:brightness(.93); transform:translateY(-1px); }
.vnh-button .btn--green .wp-block-button__link { background:#a1b735; }
.vnh-button .btn--dark .wp-block-button__link { background:#283a27; }
.vnh-button .btn--red .wp-block-button__link { background:#9d262d; }
.vnh-button .btn--orange .wp-block-button__link { background:#cc6935; }
.vnh-button .btn--gray .wp-block-button__link { background:#929292; }
.vnh-button .btn--blue .wp-block-button__link { background:#2c5db1; }
.vnh-button > .vnh-button-arrow { position:absolute; right:22px; top:50%; width:23px; height:23px; transform:translateY(-50%); pointer-events:none; }
.vnh-button > .vnh-button-arrow img { width:23px; height:23px; }
.vnh-button > .vnh-button-arrow.wp-block-icon { display:flex; align-items:center; justify-content:center; border-radius:50%; margin:0; padding:0; }
.vnh-button > .vnh-button-arrow.wp-block-icon svg { display:block; width:100%; height:100%; }

.intro-grid > .intro-image.wp-block-image { width:100%; height:100%; min-height:435px; border-radius:22px; overflow:hidden; }
.intro-grid > .intro-image.wp-block-image img { width:100%!important; height:100%!important; min-height:435px; object-fit:cover; border-radius:22px; }
.step__collect-icon.wp-block-image img { display:block; width:100%; height:100%; object-fit:contain; }
.step__analyse-icon.wp-block-image img { width:180px; height:180px; object-fit:fill; }
.step__act-icon > .wp-block-image { position:static; }
.step__act-icon .wp-block-image img { width:101.04%!important; height:102.07%!important; }
.step__title.wp-block-group { display:flex; }
.step__title.wp-block-group > h3 { flex:1; min-width:0; font:inherit; letter-spacing:inherit; text-transform:inherit; }
.step__title.wp-block-group > .step__number { font:inherit; letter-spacing:inherit; text-transform:inherit; }

.solution__heading > .vnh-solution-rule { flex:0 0 29px; width:29px; height:2px; }
.solution__copy > p { margin:0 0 20px!important; }
.solution__copy > .vnh-features-label { margin:0!important; }
.solution__features.wp-block-list { list-style:none; padding:0; }
.solution__features.wp-block-list > li { margin:0; }
.solution__photo > .wp-block-image { position:static; }
.vnh-path-heading { display:flex; align-items:center; gap:16px; width:100%; }
.vnh-path-heading > .vnh-path-rule { width:29px; height:2px; flex:0 0 29px; }
.paths__item .vnh-path-heading h3 { display:block; }

@media(max-width:767px) {
    .hero.wp-block-group .hero-copy { margin-top:87px; }
    .hero-copy h1 > span:not(:first-child) { margin-top:15px; }
    .eyebrow.wp-block-group { gap:12px; }
    .vnh-button .wp-block-button__link { white-space:normal; }
    .hero-copy .vnh-button .wp-block-button__link { white-space:nowrap; }
    .intro-grid > .intro-image.wp-block-image { height:320px; min-height:0; max-width:480px; }
    .intro-grid > .intro-image.wp-block-image img { height:320px!important; min-height:0; }
}

/* Absolutely positioned decorative blocks stay selectable in the page editor. */
.editor-styles-wrapper .hero-background,
.editor-styles-wrapper .why__background,
.editor-styles-wrapper .vnh-button > .vnh-button-arrow { pointer-events:auto; }

.section.wp-block-group h2.wp-block-heading{font-size:40px;line-height:47px}
@media(max-width:1023px){.section.wp-block-group h2.wp-block-heading{font-size:34px;line-height:41px}}
@media(max-width:767px){.section.wp-block-group h2.wp-block-heading{font-size:30px;line-height:36px}}
