body {
  width: 100%;
  height: 100%;
}

h1, h2, h3, h4, h5, h6 {
  color: #444;
}
legend {
  padding: 7px 0;
  margin-bottom: 20px;
  border-bottom: 1px solid #e5e5e5;
}
label {
  font-size: 12px;
  font-weight: normal;
}
/* Chrome border line */
button:focus {
  outline: none !important;
}
/* container */
#container {
  width: 100%;
  min-height: 100%;
  position: absolute;
  margin-bottom: 300px;
}
/* content */
#content, #column-left, #column-right {
  padding-bottom: 730px;
}
@media (min-width: 576px) {
  #content, #column-left, #column-right {
    padding-bottom: 400px;
  }
}
#alert {
  z-index: 9999;
  position: fixed;
  top: 30%;
  left: 50%;
  width: 400px;
  margin-left: -200px;
}
@media (min-width: 992px) {
  #alert {
    width: 600px;
    margin-left: -300px;
  }
}
@media (min-width: 1140px) {
  #alert {
    width: 600px;
    margin-left: -300px;
  }
}
@media (min-width: 1320px) {
  #alert {
    width: 600px;
    margin-left: -300px;
  }
}
#alert .alert {
  margin-bottom: 15px;
}
#alert .alert-primary {
  box-shadow: 0 0 0 5px rgb(var(--bs-primary-rgb), 0.1);
}
#alert .alert-secondary {
  box-shadow: 0 0 0 5px rgb(var(--bs-secondary-rgb), 0.1);
}
#alert .alert-success {
  box-shadow: 0 0 0 5px rgb(var(--bs-success-rgb), 0.1);
}
#alert .alert-warning {
  box-shadow: 0 0 0 5px rgb(var(--bs-warning-rgb), 0.1);
}
#alert .alert-danger {
  box-shadow: 0 0 0 5px rgb(var(--bs-danger-rgb), 0.1);
}
#alert .alert-info {
  box-shadow: 0 0 0 5px rgb(var(--bs-info-rgb), 0.1);
}
#alert .alert-light {
  box-shadow: 0 0 0 5px rgb(var(--bs-light-rgb), 0.1);
}
#alert .alert-dark {
  box-shadow: 0 0 0 5px rgb(var(--bs-dark-rgb), 0.1);
}
/* top */
#top {
  background-color: var(--bs-tertiary-bg);
  border-bottom: 1px solid var(--bs-border-color);
  margin-bottom: 20px;
  position: relative;
  padding-bottom: 5px;
}
#top ul.list-inline {
  margin-bottom: 0;
}
#top .list-inline-item > a, #top .list-inline-item .dropdown > a {
  font-size: 1.1em;
  color: var(--bs-gray-600);
  line-height: 40px;
  vertical-align: middle;
  padding: 10px 0px 5px 0px;
}
/* logo */
#logo {
  text-align: center;
  margin: 7px 0 7px 0;
}
#logo img {
  max-width: 200px;
}
@media (min-width: 768px) {
  #logo {
    text-align: left;
  }
}
/* search */
#search {
  margin-bottom: 10px;
}
#search .form-control-lg {
  height: 40px;
  font-size: 12px;
  line-height: 20px;
  padding: 0 10px;
}
#search .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 0.57rem 35px;
  text-shadow: 0 1px 0 #FFF;
}
/* cart */
#cart {
  margin-bottom: 10px;
}
#cart .img-thumbnail {
  min-width: 100px;
}
#cart .btn-lg {
  font-size: 15px;
  line-height: 18px;
  padding: 14px 35px;
}
#cart .dropdown-menu {
  background: #eee;
}
#cart .dropdown-menu li {
  min-width: 300px;
}
@media (max-width: 768px) {
  #cart .dropdown-menu li {
    min-width: 100%;
  }
}
/* menu */
#menu {
  background-color: #229ac8;
  background-image: linear-gradient(to bottom, #23a1d1, #1f90bb);
  background-repeat: repeat-x;
  border: 1px solid #1f90bb;
  border-color: #1f90bb #1f90bb #145e7a;
  min-height: 40px;
  border-radius: 4px;
  padding: 0 1rem;
  margin-bottom: 20px;
}
#menu .navbar-nav > li > a {
  color: #fff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  padding: 10px 15px 10px 15px;
  background-color: transparent;
}
#menu .navbar-nav > li > a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
#menu .dropdown-menu {
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
#menu .dropdown-inner {
  display: flex;
  flex-direction: column;
}
#menu .dropdown-inner ul {
  width: 100%;
  min-width: 200px;
}
@media (min-width: 960px) {
  #menu .dropdown:hover .dropdown-menu {
    display: block;
  }
  #menu .dropdown-inner {
    flex-direction: row;
  }
  #menu .nav-item + .nav-item + .nav-item .dropdown-column-3 {
    left: -200px;
  }
  #menu .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: -400px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-2 {
    left: -200px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-3 {
    left: -400px;
  }
  #menu .nav-item + .nav-item + .nav-item + .nav-item .dropdown-column-4 {
    left: -600px;
  }
}
#category {
  float: left;
  font-size: 16px;
  font-weight: 700;
  line-height: 40px;
  color: #fff;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.2);
}
#menu .navbar-toggler i {
  color: #fff;
  border-color: #fff;
  font-size: 0.9em;
}
/* default boostrap changes */
div.required .col-form-label:before, div.required .form-label:before {
  content: "* ";
  color: #F00;
  font-weight: bold;
}
.form-switch-lg {
  font-size: 20px;
  min-height: 30px;
  line-height: 30px;
}
.nav-tabs {
  margin-bottom: 15px;
}
.form-check .form-check-input {
  margin-top: 0.25rem;
}
@media (min-width: 768px) {
  .col-form-label {
    text-align: right;
  }
}
/* footer */
footer {
  border: 1px solid #000000;
  position: absolute;
  bottom: -1px;
  width: 100%;
  padding-top: 30px;
  background-color: #303030;
  border-top: 1px solid #ddd;
  color: #e2e2e2;
}
footer hr {
  border-top: none;
  border-bottom: 1px solid #666;
}
footer a {
  color: #ccc;
  text-decoration: none;
}
footer a:hover {
  color: #fff;
}
footer h5 {
  font-family: "Open Sans", sans-serif;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  margin-top: 10px;
  margin-bottom: 10px;
}
/* breadcrumb */
.breadcrumb {
  margin: 0 0 20px 0;
  padding: 8px 0;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  background-color: var(--bs-tertiary-bg);
}
.breadcrumb i {
  font-size: 15px;
}
.breadcrumb > li.breadcrumb-item {
  text-shadow: 0 1px 0 #FFF;
  padding: 0 20px;
  position: relative;
  white-space: nowrap;
}
.breadcrumb > li.breadcrumb-item > a {
  text-decoration: none;
}
.breadcrumb > li.breadcrumb-item:after {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  right: -5px;
  width: 29px;
  height: 29px;
  border-right: 1px solid var(--bs-border-color);
  border-bottom: 1px solid var(--bs-border-color);
  transform: rotate(-45deg);
}
.breadcrumb > li.breadcrumb-item + li:before {
  content: "";
  padding: 0;
}
.product-thumb {
  border: 1px solid #ddd;
  position: relative;
  height: 100%;
}
.product-thumb .image {
  text-align: center;
}
.product-thumb .image a:hover {
  opacity: 0.8;
}
.product-thumb .description {
  padding: 15px;
  margin-bottom: 45px;
}
.product-thumb .description h4 {
  font-weight: bold;
}
.product-thumb .button {
  display: flex;
  position: absolute;
  width: 100%;
  bottom: 0;
}
.product-thumb .button button {
  width: 33.33%;
  border: none;
  border-top: 1px solid var(--bs-border-color);
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-gray-600);
  line-height: 38px;
  text-align: center;
}
.product-thumb .button button:hover {
  color: var(--bs-gray-600);
  background-color: #ddd;
  text-decoration: none;
  cursor: pointer;
}
.product-thumb .button button + button {
  border-left: 1px solid var(--bs-border-color);
}
@media (min-width: 960px) {
  .product-list .product-thumb {
    display: flex;
  }
  .product-list .product-thumb .image {
    flex-direction: column;
    margin-bottom: 0px;
  }
  .product-list .product-thumb .content {
    flex-direction: column;
    flex: 75%;
    position: relative;
  }
  .product-list .product-thumb .button {
    border-left: 1px solid #ddd;
    width: calc(100% -  15px);
    margin-left: 15px;
  }
}
.rating .fa-stack {
  width: 20px;
}
.rating .fa-star {
  color: #999;
  font-size: 15px;
}
.rating .fa-star {
  color: #FC0;
  font-size: 15px;
}
.rating .fa-star + .fa-star {
  color: #E69500;
}
/* product list */
.price {
  color: #444;
}
.price-new {
  font-weight: 600;
}
.price-old {
  color: #dc512c;
  text-decoration: line-through;
}
.price-tax {
  color: #999;
  font-size: 12px;
  display: block;
}
/* blog */
.blog-thumb {
  border: 1px solid #ddd;
  margin-bottom: 15px;
}
.blog-thumb h4 {
  font-weight: bold;
}
.blog-thumb .image {
  text-align: center;
  margin-bottom: 15px;
}
.blog-thumb .image a:hover {
  opacity: 0.8;
}
.blog-thumb .description {
  padding: 15px;
}
/* Theme Custom CSS */
#cookie {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: 9999;
  opacity: 0.95;
  color: #ecf0f1;
  background: #343a40;
}
#cookie div {
  font-size: 16px;
  color: #FFFFFF;
}

/* Ventoflora public theme */
:root {
  --vf-green: #123d35;
  --vf-mint: #35b7a3;
  --vf-lime: #c8e86b;
  --vf-bg: #f7f8f5;
  --vf-text: #17221f;
  --vf-muted: #71807a;
  --vf-line: #dce5e0;
  --vf-danger: #d84e4e;
}

html { min-height: 100%; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--vf-text);
  background: var(--vf-bg);
  font-family: Inter, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
}
#container.vf-site { position: static; min-height: 100vh; margin: 0; background: var(--vf-bg); }
#container.vf-site main { position: relative; display: block; }
.vf-container { width: min(1280px, calc(100% - 48px)); margin: 0 auto; }
.vf-topbar { display: block; color: var(--vf-muted); background: #fff; border-bottom: 1px solid var(--vf-line); font-size: 13px; }
.vf-topbar__inner { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 38px; padding: 6px 0; }
.vf-topbar a { color: var(--vf-text); text-decoration: none; }
.vf-topbar__location, .vf-topbar__nav, .vf-topbar__contacts { display: flex; align-items: center; }
.vf-topbar__location { flex: 0 0 auto; gap: 8px; color: var(--vf-muted); white-space: nowrap; }
.vf-topbar__location i { color: var(--vf-lime); }
.vf-topbar__nav { flex: 1 1 auto; gap: 6px; min-width: 0; }
.vf-topbar__contacts { flex: 0 0 auto; gap: 14px; white-space: nowrap; }
.vf-topbar__link { display: inline-flex; align-items: center; gap: 6px; min-height: 28px; padding: 4px 9px; color: var(--vf-text); border: 0; border-radius: 6px; background: transparent; font: inherit; text-decoration: none; white-space: nowrap; }
.vf-topbar__link:hover, .vf-topbar__link:focus-visible, .vf-topbar__dropdown:hover > .vf-topbar__link, .vf-topbar__dropdown:focus-within > .vf-topbar__link { color: var(--vf-green); background: #f2f7f4; }
.vf-topbar__link--accent { color: var(--vf-lime) !important; }
.vf-topbar__link--accent i { font-size: 11px; }
.vf-topbar__link.dropdown-toggle::after { display: inline-block !important; width: 7px; height: 7px; margin: -3px 0 0 8px; border: 0; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; content: ''; transform: rotate(45deg); vertical-align: middle; }
.vf-topbar__dropdown-menu { min-width: 200px; margin-top: 0 !important; padding: 8px; border: 0; border-radius: 10px; box-shadow: 0 12px 28px rgba(4,30,25,.18); }
.vf-topbar__dropdown:hover > .vf-topbar__dropdown-menu, .vf-topbar__dropdown:focus-within > .vf-topbar__dropdown-menu { display: block; }
.vf-topbar__stub, .vf-topbar__stub-link { color: var(--vf-muted); }
.vf-topbar__dropdown-menu .vf-topbar__stub { display: block; padding: 8px 11px; color: #68736f; white-space: nowrap; }
.vf-topbar__stub-link { cursor: default; }
.vf-topbar__contacts a { color: var(--vf-text); }
.vf-topbar__contacts a:hover, .vf-topbar__contacts a:focus-visible { color: var(--vf-lime); }
.vf-header { background: #fff; border-bottom: 1px solid var(--vf-line); }
.vf-header__inner { display: flex; align-items: center; gap: 20px; padding: 14px 0; }
.vf-header__inner > .vf-logo { flex: 0 0 220px; }
.vf-header__inner > .vf-search { flex: 1 1 auto; min-width: 0; align-self: center; }
.vf-header__inner > .vf-catalog-button { flex: 0 0 auto; }
.vf-header__inner > .vf-actions { flex: 0 0 auto; }
.vf-logo { display: inline-flex; align-items: center; color: var(--vf-green); font-size: 28px; font-weight: 800; letter-spacing: -.06em; text-decoration: none; }
.vf-logo__image { display: block; width: 220px; height: auto; max-width: 100%; object-fit: contain; }
.vf-logo__wordmark { display: inline-block; }
.vf-logo span span { color: var(--vf-mint); }
.vf-logo img { display: block; max-width: 220px; max-height: 58px; object-fit: contain; }
.vf-search form { margin: 0; }
.vf-search .input-group { display: flex; }
.vf-search input { min-height: 50px; padding-left: 18px; border: 0; border-radius: 8px; background: #f3f4f3; box-shadow: none; }
.vf-search button { min-width: 50px; color: var(--vf-muted); background: #f3f4f3; border: 0; border-radius: 0 8px 8px 0; }
.vf-actions { display: flex; align-items: center; gap: 22px; }
.vf-action { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; color: var(--vf-green); font-size: 12px; text-decoration: none; white-space: nowrap; }
.vf-action i { color: var(--vf-text); font-size: 22px; }
.vf-nav-row { display: flex; align-items: center; gap: 18px; padding-bottom: 18px; }
.vf-catalog-button, .vf-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 10px 18px; border: 0; border-radius: 8px; font-weight: 700; text-decoration: none; cursor: pointer; }
.vf-catalog-button, .vf-button--primary { color: #fff; background: var(--vf-green); }
.vf-catalog-button { min-height: 50px; padding: 10px 18px; border-radius: 8px; }
.vf-catalog-button i { color: var(--vf-lime); }
.vf-catalog-button:hover, .vf-button--primary:hover { color: #fff; background: #1d594d; }
.vf-menu { flex: 1; min-width: 0; }
.vf-menu nav, .vf-menu ul { display: flex; flex-wrap: wrap; gap: 20px; margin: 0; padding: 0; list-style: none; }
.vf-menu a { color: var(--vf-green); text-decoration: none; }
.vf-consult-link, .vf-text-link { color: var(--vf-mint); font-weight: 700; text-decoration: none; white-space: nowrap; }
.vf-hero { position: relative; padding: 48px 0; color: #fff; overflow: hidden; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-hero::before, .vf-hero::after { position: absolute; z-index: 0; border: 1px solid rgba(200,232,107,.14); border-radius: 50%; pointer-events: none; content: ''; }
.vf-hero::before { top: -180px; left: -140px; width: 430px; height: 430px; box-shadow: 0 0 0 34px rgba(200,232,107,.035), 0 0 0 76px rgba(200,232,107,.025); transform: translate3d(var(--vf-circle-a-x, 0px), var(--vf-circle-a-y, 0px), 0) rotate(var(--vf-circle-a-r, 0deg)); transition: transform 5.5s cubic-bezier(.22,.61,.36,1); }
.vf-hero::after { right: -190px; bottom: -320px; width: 650px; height: 650px; box-shadow: 0 0 0 48px rgba(200,232,107,.045), 0 0 0 102px rgba(200,232,107,.025); transform: translate3d(var(--vf-circle-b-x, 0px), var(--vf-circle-b-y, 0px), 0) rotate(var(--vf-circle-b-r, 0deg)); transition: transform 7s cubic-bezier(.22,.61,.36,1); }
.vf-hero__particles { position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
.vf-hero__particle { position: absolute; display: block; border: 1px solid rgba(200,232,107,.42); border-radius: 50%; background: rgba(200,232,107,.09); box-shadow: 0 0 calc(18px + var(--vf-glow, 0px)) rgba(200,232,107,.34), inset 0 0 10px rgba(255,255,255,.12); will-change: transform, box-shadow; }
.vf-promo-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(250px, .72fr); gap: 20px; }
.vf-carousel { min-width: 0; height: 500px; overflow: hidden; border-radius: 24px; box-shadow: 0 24px 55px rgba(4,30,25,.22); }
.vf-carousel__slide { position: relative; height: 500px; min-height: 0; overflow: hidden; background: #d9d4ca; }
.vf-carousel__slide::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,48,40,.88) 0%, rgba(8,48,40,.58) 38%, rgba(8,48,40,.06) 75%), linear-gradient(0deg, rgba(8,48,40,.32), transparent 40%); content: ''; }
.vf-carousel__slide > img { display: block; width: 100%; height: 500px; object-fit: cover; object-position: center; }
.vf-carousel__overlay { position: absolute; z-index: 1; top: 0; left: 0; display: flex; width: min(64%, 650px); height: 100%; flex-direction: column; align-items: flex-start; justify-content: center; padding: 52px; }
.vf-carousel__overlay h1, .vf-carousel__overlay h2 { max-width: 610px; margin: 0 0 18px; color: #fff; font-size: clamp(34px, 3.7vw, 54px); line-height: 1.04; }
.vf-carousel__overlay .vf-lead { max-width: 520px; margin-bottom: 26px; color: #e0efeb; font-size: 17px; }
.vf-carousel .carousel-indicators { right: auto; bottom: 22px; left: 46px; justify-content: flex-start; margin: 0; }
.vf-carousel .carousel-indicators button { width: 34px; height: 3px; margin: 0 5px 0 0; border: 0; border-radius: 4px; opacity: .5; }
.vf-carousel .carousel-indicators button.active { opacity: 1; background-color: var(--vf-lime); }
.vf-carousel .carousel-control-prev, .vf-carousel .carousel-control-next { top: auto; bottom: 8px; width: 36px; height: 36px; opacity: .85; }
.vf-carousel .carousel-control-prev { right: 82px; left: auto; }
.vf-carousel .carousel-control-next { right: 36px; }
.vf-carousel .carousel-control-prev-icon, .vf-carousel .carousel-control-next-icon { width: 14px; height: 14px; }
.vf-promo-side { position: relative; height: 500px; min-height: 0; overflow: hidden; box-sizing: border-box; padding: 30px; border-radius: 24px; background: linear-gradient(160deg, #3f7450, #234e43); box-shadow: 0 24px 55px rgba(4,30,25,.16); }
.vf-promo-side__content { position: relative; z-index: 1; }
.vf-promo-side .vf-eyebrow { color: var(--vf-lime); }
.vf-promo-side h2 { max-width: 270px; margin: 0 0 14px; color: #fff; font-size: clamp(24px, 2.3vw, 34px); line-height: 1.08; }
.vf-promo-side p:not(.vf-eyebrow) { max-width: 280px; color: #d7ebe5; font-size: 14px; }
.vf-button--light { color: var(--vf-green); background: #fff; }
.vf-button--light:hover { color: var(--vf-green); background: var(--vf-lime); }
.vf-promo-side__mark { position: absolute; right: -26px; bottom: -28px; color: rgba(200,232,107,.18); font-size: 190px; transform: rotate(-18deg); }
.vf-eyebrow { margin: 0 0 14px; color: var(--vf-mint); font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.vf-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(38px, 5vw, 64px); line-height: 1.04; }
.vf-hero h1 em { color: var(--vf-lime); font-style: normal; }
.vf-lead { max-width: 650px; color: #d7ebe5; font-size: 18px; }
.vf-hero__buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 30px 0; }
.vf-button--ghost { color: #fff; border: 1px solid rgba(255,255,255,.55); background: transparent; }
.vf-button--ghost:hover { color: var(--vf-green); background: #fff; }
.vf-trust { display: flex; flex-wrap: wrap; gap: 12px 20px; color: #d7ebe5; font-size: 14px; }
.vf-trust i { color: var(--vf-lime); }
.vf-section, .vf-flow-page, .vf-category-page, .vf-product-page, .vf-home > section:not(.vf-hero) { padding: 54px 0; }
.vf-section__heading, .vf-flow-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.vf-section h2, .vf-section__heading h2, .vf-flow-heading h1 { margin: 0; color: var(--vf-green); font-size: clamp(28px, 3vw, 40px); }
.vf-category-grid, .vf-subcategory-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.vf-section__lead { max-width: 620px; margin: 12px 0 0; color: var(--vf-muted); }
.vf-category-card { display: flex; flex-direction: column; justify-content: end; min-height: 230px; padding: 18px; color: var(--vf-green); border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; text-decoration: none; transition: transform .2s, box-shadow .2s; }
.vf-category-card:hover { color: var(--vf-green); transform: translateY(-3px); box-shadow: 0 12px 30px rgba(18,61,53,.1); }
.vf-category-card__media { display: grid; flex: 1; min-height: 140px; place-items: center; margin: -18px -18px 16px; overflow: hidden; border-radius: 18px 18px 0 0; background: linear-gradient(145deg, #e0f2e9, #f7f8f5); }
.vf-category-card__media img { width: 100%; height: 100%; object-fit: cover; }
.vf-category-card__mark { display: grid; flex: 1; min-height: 140px; place-items: center; margin: -18px -18px 16px; color: var(--vf-mint); font-size: 42px; border-radius: 18px 18px 0 0; background: linear-gradient(145deg, #e0f2e9, #f7f8f5); }
.vf-category-card__body { font-size: 19px; font-weight: 700; }
.vf-category-card__body strong, .vf-category-card__body small { display: block; }
.vf-category-card__body small { margin-top: 8px; color: var(--vf-muted); font-size: 12px; font-weight: 500; }
.vf-category-card__body small i { float: right; color: var(--vf-mint); }
.vf-feature-strip, .vf-choice-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.vf-feature-strip { position: relative; z-index: 2; margin-top: -34px; }
.vf-feature-strip > * { position: relative; display: flex; align-items: center; gap: 12px; min-height: 82px; padding: 18px; color: var(--vf-green); border: 1px solid var(--vf-line); border-radius: 16px; background: #fff; text-decoration: none; box-shadow: 0 16px 32px rgba(18,61,53,.07); }
.vf-feature-strip > * > i:first-child { color: var(--vf-mint); font-size: 22px; }
.vf-feature-strip > * span { display: grid; gap: 2px; }
.vf-feature-strip > * strong, .vf-feature-strip > * small { display: block; }
.vf-feature-strip > * small { color: var(--vf-muted); font-size: 12px; }
.vf-feature-strip__arrow { position: absolute; right: 16px; bottom: 14px; color: var(--vf-mint); font-size: 12px !important; }
.vf-choice, .vf-scenario { padding: 20px; border: 1px solid var(--vf-line); border-radius: 12px; background: #fff; }
.vf-scenario { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: 78px; padding: 64px 60px; color: #fff; border: 0; border-radius: 24px; background: linear-gradient(135deg, var(--vf-green), #1b594d); box-shadow: 0 18px 40px rgba(18,61,53,.12); }
.vf-home > section.vf-scenario { padding: 64px 60px; }
.vf-scenario__intro, .vf-scenario__steps, .vf-scenario__steps > div { min-width: 0; }
.vf-scenario .vf-eyebrow { color: var(--vf-lime); }
.vf-scenario h2 { margin: 0 0 16px; color: #fff; font-size: clamp(28px, 3vw, 42px); line-height: 1.08; }
.vf-scenario__intro > p:not(.vf-eyebrow) { max-width: 460px; margin: 0 0 26px; color: #d7ebe5; }
.vf-scenario__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vf-scenario__steps > div { display: grid; align-content: start; gap: 10px; min-height: 180px; padding: 22px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-scenario__steps span { color: var(--vf-lime); font-size: 13px; font-weight: 800; letter-spacing: .12em; }
.vf-scenario__steps strong { font-size: 18px; }
.vf-scenario__steps small { color: #d7ebe5; }
.vf-clients { padding-top: 28px; }
.vf-clients .vf-section__heading { align-items: center; }
.vf-clients__controls { display: flex; gap: 10px; }
.vf-clients__controls button { display: grid; width: 40px; height: 40px; place-items: center; color: var(--vf-green); border: 1px solid var(--vf-line); border-radius: 50%; background: #fff; }
.vf-clients__controls button:last-child { color: #fff; border-color: var(--vf-green); background: var(--vf-green); }
.vf-clients__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.vf-client-placeholder { display: grid; min-height: 150px; place-items: center; align-content: center; gap: 12px; color: #8ca39b; border: 1px solid var(--vf-line); border-radius: 18px; background: linear-gradient(145deg, #fff, #f3f7f4); }
.vf-client-placeholder i { color: #b7cdc4; font-size: 38px; }
.vf-client-placeholder span { font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.vf-projects { padding-top: 20px; }
.vf-projects__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.vf-project-placeholder { min-width: 0; }
.vf-project-placeholder__visual { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 10px; overflow: hidden; color: #a5bbb3; border: 1px solid var(--vf-line); border-radius: 18px; background: linear-gradient(145deg, #e4eee9, #f7f9f7); }
.vf-project-placeholder__visual i { color: #b7cdc4; font-size: 42px; }
.vf-project-placeholder__visual span { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.vf-project-placeholder p { margin: 12px 0 4px; color: var(--vf-mint); font-size: 12px; font-weight: 700; text-transform: uppercase; }
.vf-project-placeholder h3 { margin: 0; color: var(--vf-green); font-size: 18px; }
.vf-certificates { padding-top: 20px; }
.vf-certificate-tabs { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: -8px 0 24px; }
.vf-certificate-tabs button { padding: 8px 16px; color: var(--vf-text); border: 0; border-radius: 999px; background: transparent; }
.vf-certificate-tabs button.is-active { color: #fff; background: var(--vf-green); }
.vf-certificates__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.vf-certificate-placeholder { min-width: 0; }
.vf-certificate-placeholder > div { display: grid; min-height: 190px; place-items: center; align-content: center; gap: 10px; color: #9aafa8; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-certificate-placeholder i { color: #b7cdc4; font-size: 42px; }
.vf-certificate-placeholder span { font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.vf-certificate-placeholder p { margin: 10px 0 0; color: var(--vf-text); font-size: 15px; }
.vf-advantages { padding-top: 20px; }
.vf-advantages__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 22px; }
.vf-advantages__grid article { min-width: 0; }
.vf-advantages__grid i { color: var(--vf-mint); font-size: 34px; }
.vf-advantages__grid h3 { margin: 16px 0 8px; color: var(--vf-green); font-size: 17px; }
.vf-advantages__grid p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.vf-product-card { height: 100%; padding: 16px; border: 1px solid var(--vf-line); border-radius: 12px; background: #fff; }
.vf-product-card__media { position: relative; min-height: 200px; display: grid; place-items: center; }
.vf-product-card__media img { width: 100%; height: 200px; object-fit: contain; }
.vf-product-card__badge, .vf-stock { color: var(--vf-green); font-size: 13px; font-weight: 700; }
.vf-product-card__sku { margin: 8px 0; color: var(--vf-muted); font-size: 12px; }
.vf-product-card h3 { min-height: 48px; margin: 8px 0; font-size: 17px; }
.vf-product-card h3 a { color: var(--vf-text); text-decoration: none; }
.vf-product-card__description { color: var(--vf-muted); font-size: 13px; }
.vf-product-card__footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 16px; }
.vf-price, .vf-price__current { color: var(--vf-green); font-size: 22px; font-weight: 700; }
.vf-price__old { margin-right: 8px; color: var(--vf-muted); font-size: 14px; text-decoration: line-through; }
.vf-add-to-cart, .vf-buy-button { color: #fff; background: var(--vf-green); border: 0; border-radius: 8px; }
.vf-site > .vf-footer { position: static; width: auto; padding-top: 0; border: 0; }
.vf-footer { color: #d7ebe5; background: linear-gradient(145deg, #0f443b, var(--vf-green)); }
.vf-footer__top { display: grid; grid-template-columns: 1.25fr .8fr .95fr 1.35fr; gap: 54px; padding: 70px 0 62px; }
.vf-footer__brand, .vf-footer__column, .vf-footer__subscribe { min-width: 0; }
.vf-footer__brand p { max-width: 250px; margin: 18px 0 20px; color: #b8d3ca; line-height: 1.6; }
.vf-footer__phone { color: #fff !important; font-size: 18px; font-weight: 800; }
.vf-footer__column h3, .vf-footer__subscribe h3 { margin: 5px 0 20px; color: #fff; font-size: 17px; }
.vf-footer__column a { display: block; margin: 0 0 12px; color: #b8d3ca; }
.vf-footer__column a:hover, .vf-footer__phone:hover { color: var(--vf-lime) !important; }
.vf-footer__eyebrow { margin: 0 0 8px; color: var(--vf-lime); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.vf-footer__subscribe > p:not(.vf-footer__eyebrow) { max-width: 300px; margin: 0 0 18px; color: #b8d3ca; }
.vf-subscribe { display: flex; max-width: 330px; padding: 4px; border: 1px solid rgba(255,255,255,.22); border-radius: 10px; background: rgba(255,255,255,.08); }
.vf-subscribe input { width: 100%; min-height: 42px; padding: 0 12px; color: #fff; border: 0; outline: 0; background: transparent; }
.vf-subscribe input::placeholder { color: #b8d3ca; }
.vf-subscribe button { display: grid; width: 42px; min-width: 42px; place-items: center; color: var(--vf-green); border: 0; border-radius: 7px; background: var(--vf-lime); }
.vf-footer a { color: #d7ebe5; text-decoration: none; }
.vf-logo--footer { color: #fff; }
.vf-footer__bottom { display: flex; justify-content: space-between; gap: 20px; padding: 20px 0; color: #9fc2b8; border-top: 1px solid rgba(255,255,255,.18); font-size: 13px; }
.vf-footer__bottom a { color: #d7ebe5; }
.vf-footer__dot { margin: 0 8px; color: #6f9b8f; }
.vf-home-solutions__content { min-height: 180px; padding: 26px; border: 1px solid var(--vf-line); border-radius: 20px; background: #fff; }
.vf-breadcrumbs { display: flex; align-items: stretch; max-width: 100%; margin-bottom: 22px; overflow: hidden; border: 1px solid #d6dfe5; border-radius: 7px; background: #f8fafc; color: #2092c8; font-size: 16px; }
.vf-breadcrumbs a, .vf-breadcrumbs__current { position: relative; display: inline-flex; align-items: center; min-height: 48px; padding: 0 28px; white-space: nowrap; }
.vf-breadcrumbs a { color: #2092c8; }
.vf-breadcrumbs__current { color: #111; }
.vf-breadcrumbs a { text-decoration: none; }
.vf-breadcrumbs a:hover, .vf-breadcrumbs a:focus-visible { color: #1479aa; background: #eef6fa; }
.vf-breadcrumbs span.vf-breadcrumbs__separator { display: block; width: 30px; height: 30px; flex: 0 0 30px; align-self: center; margin: 0 -15px; border-top: 1px solid #d6dfe5; border-right: 1px solid #d6dfe5; background: #f8fafc; transform: rotate(45deg); }
.vf-catalog-layout, .vf-product-layout, .vf-checkout-grid, .vf-editorial-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 28px; }
.vf-product-layout, .vf-checkout-grid { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); }
.vf-filter-panel, .vf-detail-panel, .vf-checkout-card, .vf-search-panel, .vf-empty-state { padding: 22px; border: 1px solid var(--vf-line); border-radius: 12px; background: #fff; }
.vf-results__toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; color: var(--vf-muted); }
.vf-results__toolbar select, .vf-search-panel input, .vf-search-panel select { min-height: 42px; border: 1px solid var(--vf-line); border-radius: 8px; }
.vf-product-gallery__main, .vf-gallery-placeholder { min-height: 420px; display: grid; place-items: center; padding: 20px; border: 1px solid var(--vf-line); border-radius: 12px; background: #fff; }
.vf-product-gallery__main img { max-width: 100%; max-height: 420px; object-fit: contain; }
.vf-spec-table { width: 100%; border-collapse: collapse; }
.vf-spec-table td { padding: 10px; border-bottom: 1px solid var(--vf-line); }
.vf-empty-state { text-align: center; }
.vf-empty-state i { margin-bottom: 12px; color: var(--vf-mint); font-size: 40px; }
.vf-product-page { padding-top: 34px; padding-bottom: 72px; }
.vf-product-intro { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.vf-product-intro h1 { max-width: 820px; margin: 8px 0 0; color: var(--vf-green); font-size: clamp(34px, 4vw, 54px); line-height: 1.04; }
.vf-product-intro__meta { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 12px; color: var(--vf-muted); font-size: 12px; }
.vf-product-intro__meta > .vf-rating { color: var(--vf-mint); white-space: nowrap; text-decoration: none; }
.vf-product-intro__meta > .vf-rating span { margin-left: 4px; color: var(--vf-muted); }
.vf-product-intro__meta .vf-product-actions { margin: 0; }
.vf-product-intro__meta .vf-product-actions form { flex-wrap: nowrap; }
.vf-product-intro__meta .vf-product-actions button { min-height: 36px; padding: 7px 10px; }
.vf-product-detail-hero { grid-template-columns: minmax(0, 1.25fr) minmax(230px, .72fr) minmax(300px, .83fr); align-items: start; gap: 22px; }
.vf-product-detail-hero--without-summary { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); }
.vf-product-gallery { min-width: 0; }
.vf-product-gallery__main { min-height: 520px; padding: 30px; border-radius: 24px; background: radial-gradient(circle at 50% 42%, #fff 0 35%, #edf5f0 100%); box-shadow: 0 16px 36px rgba(18,61,53,.06); }
.vf-product-gallery__zoom { position: relative; display: grid; width: 100%; height: 100%; place-items: center; color: var(--vf-text); text-decoration: none; }
.vf-product-gallery__zoom img { width: 100%; max-height: 440px; }
.vf-product-gallery__zoom > span { position: absolute; right: 0; bottom: 0; display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; color: var(--vf-muted); border: 1px solid var(--vf-line); border-radius: 999px; background: rgba(255,255,255,.9); font-size: 12px; }
.vf-product-gallery__thumbs { display: flex; gap: 12px; margin-top: 14px; overflow-x: auto; padding: 2px 2px 6px; }
.vf-product-gallery__thumbs a { display: grid; flex: 0 0 78px; height: 78px; place-items: center; border: 1px solid var(--vf-line); border-radius: 14px; background: #fff; transition: border-color .2s, box-shadow .2s; }
.vf-product-gallery__thumbs a:hover, .vf-product-gallery__thumbs a:focus-visible { border-color: var(--vf-mint); box-shadow: 0 6px 16px rgba(18,61,53,.1); }
.vf-product-gallery__thumbs img { width: 64px; height: 64px; object-fit: contain; }
.vf-gallery-placeholder { width: 100%; min-height: 460px; flex-direction: column; gap: 12px; color: var(--vf-mint); }
.vf-gallery-placeholder i { font-size: 54px; }
.vf-gallery-placeholder small { color: var(--vf-muted); font-size: 13px; }
.vf-product-buy { position: sticky; top: 20px; min-width: 0; padding: 28px; border: 1px solid var(--vf-line); border-radius: 24px; background: #fff; box-shadow: 0 16px 36px rgba(18,61,53,.08); }
.vf-product-buy__header { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.vf-product-buy__header .vf-eyebrow { margin: 0; }
.vf-product-buy__code { color: var(--vf-muted); font-size: 12px; }
.vf-product-buy__header .vf-stock { display: inline-flex; align-items: center; gap: 6px; color: var(--vf-green); font-size: 12px; }
.vf-product-buy__header .vf-stock i { color: var(--vf-mint); font-size: 8px; }
.vf-product-buy h1 { margin: 14px 0 16px; color: var(--vf-green); font-size: clamp(30px, 3vw, 46px); line-height: 1.06; }
.vf-product-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 16px; padding-bottom: 18px; border-bottom: 1px solid var(--vf-line); }
.vf-product-meta .vf-rating { color: var(--vf-mint); text-decoration: none; }
.vf-product-meta .vf-rating span { margin-left: 4px; color: var(--vf-muted); font-size: 13px; }
.vf-product-meta .vf-stock { display: inline-flex; align-items: center; gap: 6px; color: var(--vf-green); font-size: 13px; }
.vf-product-meta .vf-stock i { color: var(--vf-mint); font-size: 8px; }
.vf-price-panel { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 12px; padding: 20px 0 14px; }
.vf-price-panel .vf-price__current { color: var(--vf-green); font-size: clamp(28px, 3vw, 40px); font-weight: 800; letter-spacing: -.03em; }
.vf-price-panel .vf-price__old { color: var(--vf-muted); font-size: 14px; text-decoration: line-through; }
.vf-price-panel small { flex-basis: 100%; color: var(--vf-muted); font-size: 12px; }
.vf-benefit-line { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 20px; }
.vf-benefit-line span { display: flex; align-items: center; gap: 8px; min-width: 0; padding: 10px; color: var(--vf-muted); border: 1px solid var(--vf-line); border-radius: 12px; font-size: 12px; line-height: 1.25; }
.vf-benefit-line i { flex: 0 0 auto; color: var(--vf-mint); font-size: 16px; }
.vf-benefit-line b { font-weight: 600; }
.vf-purchase-card { padding-top: 4px; }
.vf-options { display: grid; gap: 14px; margin-bottom: 18px; }
.vf-options h3 { margin: 0; color: var(--vf-green); font-size: 17px; }
.vf-option { display: grid; gap: 7px; }
.vf-option label, .vf-option legend, .vf-quantity label { color: var(--vf-muted); font-size: 13px; font-weight: 700; }
.vf-option select, .vf-option input, .vf-option textarea { width: 100%; min-height: 44px; border: 1px solid var(--vf-line); border-radius: 10px; }
.vf-add-to-cart { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 10px; align-items: end; }
.vf-product-page .vf-add-to-cart { color: inherit; background: transparent; border: 0; border-radius: 0; }
.vf-quantity { display: grid; gap: 7px; }
.vf-quantity input { width: 100%; min-height: 48px; padding: 0 12px; border: 1px solid var(--vf-line); border-radius: 10px; color: var(--vf-text); background: var(--vf-bg); font-weight: 700; }
.vf-add-to-cart .vf-button { min-height: 48px; justify-content: center; }
.vf-product-actions { margin-top: 12px; }
.vf-product-actions form { display: flex; flex-wrap: wrap; gap: 8px; }
.vf-product-actions button { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 8px 12px; color: var(--vf-green); border: 1px solid var(--vf-line); border-radius: 10px; background: #fff; font-size: 13px; transition: border-color .2s, background .2s; }
.vf-product-actions button:hover, .vf-product-actions button:focus-visible { border-color: var(--vf-mint); background: #f2faf6; }
.vf-product-summary { min-width: 0; padding: 24px 20px; border: 1px solid var(--vf-line); border-radius: 20px; background: #fff; }
.vf-product-summary__heading { padding-bottom: 14px; border-bottom: 1px solid var(--vf-line); }
.vf-product-summary__heading .vf-eyebrow { margin: 0 0 5px; font-size: 10px; }
.vf-product-summary__heading h2 { margin: 0; color: var(--vf-green); font-size: 24px; }
.vf-product-summary__group h3 { margin: 18px 0 4px; color: var(--vf-green); font-size: 14px; }
.vf-product-summary__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .85fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--vf-line); font-size: 12px; line-height: 1.3; }
.vf-product-summary__row span { color: var(--vf-muted); }
.vf-product-summary__row strong { color: var(--vf-text); font-weight: 600; }
.vf-product-summary__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: var(--vf-mint); font-size: 13px; font-weight: 700; text-decoration: none; }
.vf-product-details { margin-top: 34px; padding: 8px; border: 1px solid var(--vf-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.04); }
.vf-product-tabs { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; border-radius: 16px; background: #f2f7f4; }
.vf-product-tabs a { padding: 12px 16px; color: var(--vf-muted); border-radius: 11px; font-size: 14px; font-weight: 700; text-decoration: none; }
.vf-product-tabs a.active, .vf-product-tabs a:hover, .vf-product-tabs a:focus-visible { color: var(--vf-green); background: #fff; box-shadow: 0 5px 14px rgba(18,61,53,.08); }
.vf-detail-panel { margin: 8px 0 0; padding: 28px; border: 0; box-shadow: none; line-height: 1.65; }
.vf-detail-panel h2 { margin-top: 0; color: var(--vf-green); font-size: 26px; }
.vf-spec-table { display: grid; gap: 0; }
.vf-spec-table h3 { grid-column: 1 / -1; margin: 22px 0 0; padding: 12px 0 8px; color: var(--vf-green); font-size: 16px; }
.vf-spec-table__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 18px; padding: 11px 0; border-bottom: 1px solid var(--vf-line); }
.vf-spec-table__row span { color: var(--vf-muted); }
.vf-spec-table__row strong { color: var(--vf-text); font-weight: 600; }
.vf-category-page { padding-top: 34px; padding-bottom: 72px; }
.vf-category-hero { display: flex; align-items: stretch; min-height: 180px; margin-bottom: 34px; overflow: hidden; border: 1px solid var(--vf-line); border-radius: 24px; background: linear-gradient(120deg, #e8f2ed, #f8faf7); }
.vf-category-hero--without-image { min-height: 170px; background: radial-gradient(circle at 88% 20%, rgba(53,183,163,.16), transparent 30%), linear-gradient(120deg, #e8f2ed, #f8faf7); }
.vf-category-hero__media { display: flex; flex: 0 0 30%; min-width: 220px; min-height: 100%; overflow: hidden; }
.vf-category-hero__media img { display: block; flex: 1 1 auto; width: 100%; min-width: 0; min-height: 100%; object-fit: cover; }
.vf-category-hero__content { display: flex; flex: 1; flex-direction: column; justify-content: center; padding: 32px 40px; }
.vf-category-hero__content h1 { margin: 0; color: var(--vf-green); font-size: clamp(36px, 5vw, 64px); line-height: 1; }
.vf-category-description { max-width: 680px; margin-top: 16px; color: var(--vf-muted); }
.vf-subcategories { margin-bottom: 34px; }
.vf-subcategories .vf-section__heading { align-items: end; margin-bottom: 18px; }
.vf-subcategories .vf-section__heading h2 { font-size: clamp(24px, 2.5vw, 34px); }
.vf-subcategory-grid { display: flex; gap: 12px; overflow-x: auto; padding: 2px 2px 10px; scrollbar-width: thin; }
.vf-subcategory-card { display: flex; flex: 0 0 210px; min-height: 112px; flex-direction: column; justify-content: space-between; padding: 16px; color: var(--vf-green); border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; text-decoration: none; box-shadow: 0 10px 24px rgba(18,61,53,.05); transition: transform .2s, box-shadow .2s; }
.vf-subcategory-card:hover { color: var(--vf-green); transform: translateY(-3px); box-shadow: 0 14px 28px rgba(18,61,53,.1); }
.vf-subcategory-card > i { align-self: flex-end; color: var(--vf-mint); font-size: 12px; }
.vf-subcategory-card__icon { display: grid; width: 34px; height: 34px; place-items: center; color: var(--vf-mint); border-radius: 10px; background: #e6f3ed; }
.vf-catalog-layout { align-items: start; }
.vf-filter-panel { position: sticky; top: 20px; padding: 24px; border-radius: 20px; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-filter-panel__heading { display: flex; align-items: start; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.vf-filter-panel__heading .vf-eyebrow { margin-bottom: 4px; font-size: 11px; }
.vf-filter-panel__heading strong { color: var(--vf-green); font-size: 22px; }
.vf-filter-panel__heading a { color: var(--vf-mint); font-size: 13px; font-weight: 700; text-decoration: none; }
.vf-filter-placeholder { padding-top: 20px; border-top: 1px solid var(--vf-line); }
.vf-filter-placeholder__icon { display: grid; width: 42px; height: 42px; margin-bottom: 14px; place-items: center; color: var(--vf-green); border-radius: 12px; background: #e6f3ed; }
.vf-filter-placeholder strong { display: block; color: var(--vf-text); font-size: 16px; }
.vf-filter-placeholder p { margin: 8px 0 0; color: var(--vf-muted); font-size: 13px; line-height: 1.5; }
.vf-results__toolbar { min-height: 68px; margin-bottom: 18px; padding: 12px 16px 12px 20px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; }
.vf-results__count { display: grid; gap: 3px; min-width: 0; }
.vf-results__count .vf-eyebrow { margin: 0; font-size: 10px; }
.vf-results__count strong { overflow: hidden; color: var(--vf-text); font-size: 14px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.vf-sort-control { display: flex; align-items: center; gap: 10px; color: var(--vf-muted); font-size: 13px; white-space: nowrap; }
.vf-results__controls { display: flex; align-items: center; gap: 16px; }
.vf-sort-control select { min-width: 180px; padding: 0 32px 0 12px; color: var(--vf-text); background: var(--vf-bg); }
.vf-results #product-list { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; }
.vf-results #product-list > div { width: auto; max-width: none; padding: 0; }
.vf-category-page .vf-product-card { display: flex; flex-direction: column; min-width: 0; padding: 14px; border-radius: 18px; box-shadow: 0 8px 22px rgba(18,61,53,.04); }
.vf-category-page .vf-product-card__media { min-height: 220px; padding: 8px; border-radius: 14px; background: #f7faf8; }
.vf-category-page .vf-product-card__media img { height: 220px; }
.vf-category-page .vf-product-card__badge { position: absolute; top: 10px; left: 10px; z-index: 1; padding: 5px 8px; border-radius: 999px; background: #e6f3ed; font-size: 11px; }
.vf-category-page .vf-product-card__quick { position: absolute; top: 8px; right: 8px; z-index: 2; }
.vf-category-page .vf-product-card__quick form { display: flex; gap: 6px; }
.vf-category-page .vf-product-card__quick button { display: grid; width: 30px; height: 30px; padding: 0; place-items: center; color: var(--vf-green); border: 1px solid var(--vf-line); border-radius: 50%; background: #fff; }
.vf-category-page .vf-product-card__body { display: flex; flex: 1; flex-direction: column; }
.vf-category-page .vf-product-card h3 { min-height: 54px; font-size: 16px; line-height: 1.25; }
.vf-category-page .vf-product-card__description { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.vf-category-page .vf-product-card__footer { margin-top: auto; padding-top: 12px; }
.vf-category-page .vf-price, .vf-category-page .vf-price__current { font-size: 20px; }
.vf-pagination { margin-top: 24px; }
.vf-all-categories-page { min-height: 620px; padding: 34px 0 76px; }
.vf-all-categories__hero { position: relative; display: flex; align-items: center; justify-content: space-between; min-height: 230px; margin-bottom: 48px; padding: 42px 52px; overflow: hidden; border-radius: 24px; background: linear-gradient(135deg, #e5f1eb 0%, #f7faf7 58%, #d9eee5 100%); }
.vf-all-categories__hero::after { position: absolute; right: -90px; bottom: -180px; width: 380px; height: 380px; border: 1px solid rgba(53,183,163,.24); border-radius: 50%; box-shadow: 0 0 0 30px rgba(53,183,163,.08), 0 0 0 66px rgba(53,183,163,.05); content: ''; }
.vf-all-categories__hero h1 { margin: 0; color: var(--vf-green); font-size: clamp(38px, 5vw, 62px); letter-spacing: -.04em; line-height: 1; }
.vf-all-categories__hero .vf-section__lead { max-width: 610px; margin: 16px 0 0; }
.vf-all-categories__hero-mark { position: relative; z-index: 1; display: grid; width: 116px; height: 116px; place-items: center; color: var(--vf-mint); border: 1px solid rgba(53,183,163,.28); border-radius: 50%; background: rgba(255,255,255,.45); font-size: 42px; transform: rotate(-12deg); }
.vf-all-categories__heading { align-items: end; margin-bottom: 20px; }
.vf-all-categories__heading h2 { font-size: clamp(26px, 3vw, 38px); }
.vf-all-categories__count { color: var(--vf-muted); font-size: 14px; }
.vf-all-categories__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.vf-all-category-card { min-width: 0; padding: 22px; border: 1px solid var(--vf-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-all-category-card__title { display: flex; align-items: center; gap: 12px; color: var(--vf-green); font-size: 21px; font-weight: 800; line-height: 1.2; text-decoration: none; }
.vf-all-category-card__title:hover, .vf-all-category-card__title:focus-visible { color: var(--vf-mint); }
.vf-all-category-card__icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; color: var(--vf-green); border-radius: 13px; background: #e6f3ed; }
.vf-all-category-card__arrow { margin-left: auto; color: var(--vf-mint); font-size: 14px; }
.vf-all-category-card__children { display: grid; gap: 10px; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--vf-line); list-style: none; }
.vf-all-category-card__children > li > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--vf-text); font-size: 15px; font-weight: 700; text-decoration: none; }
.vf-all-category-card__children > li > a:hover, .vf-all-category-card__children > li > a:focus-visible { color: var(--vf-mint); }
.vf-all-category-card__children > li > a i { color: var(--vf-mint); font-size: 11px; }
.vf-all-category-card__grandchildren { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 7px 0 0; padding: 0; list-style: none; }
.vf-all-category-card__grandchildren a { color: var(--vf-muted); font-size: 13px; text-decoration: none; }
.vf-all-category-card__grandchildren a::before { margin-right: 5px; color: var(--vf-mint); content: '·'; }
.vf-all-category-card__grandchildren a:hover, .vf-all-category-card__grandchildren a:focus-visible { color: var(--vf-green); }
.vf-all-category-card__empty { margin: 22px 0 0; padding-top: 18px; color: var(--vf-muted); border-top: 1px solid var(--vf-line); font-size: 14px; }
.vf-all-categories__empty { display: grid; min-height: 300px; padding: 46px 24px; place-items: center; align-content: center; text-align: center; border: 1px solid var(--vf-line); border-radius: 24px; background: #fff; }
.vf-all-categories__empty-icon { display: grid; width: 58px; height: 58px; margin-bottom: 14px; place-items: center; color: var(--vf-mint); border-radius: 18px; background: #e6f3ed; font-size: 24px; }
.vf-all-categories__empty h2 { margin: 0; color: var(--vf-green); }
.vf-all-categories__empty p { margin: 8px 0 0; color: var(--vf-muted); }
@media (max-width: 900px) {
  .vf-header__inner { display: grid; grid-template-columns: auto auto 1fr; }
  .vf-search { grid-column: 1 / -1; grid-row: 2; }
  .vf-actions .vf-action span { display: none; }
  .vf-menu { display: none; }
  .vf-category-grid, .vf-subcategory-grid, .vf-product-grid, .vf-feature-strip, .vf-choice-grid { grid-template-columns: repeat(2, 1fr); }
  .vf-promo-layout, .vf-product-layout, .vf-checkout-grid, .vf-editorial-layout { grid-template-columns: 1fr; }
  .vf-carousel, .vf-carousel__slide, .vf-carousel__slide > img { height: 460px; }
  .vf-carousel__overlay { width: 68%; padding: 42px; }
  .vf-promo-side { height: 220px; }
  .vf-promo-side__mark { right: 20px; bottom: -62px; font-size: 150px; }
  .vf-scenario { grid-template-columns: 1fr; }
  .vf-clients__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vf-projects__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vf-certificates__grid, .vf-advantages__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vf-catalog-layout { grid-template-columns: 1fr; }
  .vf-filter-panel { position: static; }
  .vf-results #product-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-product-buy { position: static; }
  .vf-product-gallery__main { min-height: 420px; }
  .vf-product-intro { align-items: start; flex-direction: column; gap: 14px; }
  .vf-product-intro__meta { justify-content: flex-start; }
  .vf-footer__top { grid-template-columns: repeat(2, 1fr); gap: 36px; padding: 52px 0 44px; }
  .vf-all-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-topbar__inner { justify-content: flex-start; }
  .vf-topbar__nav { overflow-x: auto; scrollbar-width: none; }
  .vf-topbar__nav::-webkit-scrollbar { display: none; }
  .vf-topbar__contacts { display: none; }
}
@media (max-width: 560px) {
  .vf-container { width: min(100% - 32px, 1280px); }
  .vf-topbar__inner, .vf-topbar nav { gap: 10px; }
  .vf-topbar__location { display: none; }
  .vf-topbar__nav { width: 100%; justify-content: flex-start; }
  .vf-topbar__link { padding-right: 7px; padding-left: 7px; font-size: 12px; }
  .vf-header__inner { gap: 14px; padding: 16px 0; }
  .vf-logo { font-size: 24px; }
  .vf-logo__image { width: 180px; }
  .vf-catalog-button { min-width: 46px; padding: 10px 13px; }
  .vf-catalog-button span { display: none; }
  .vf-nav-row { padding-bottom: 12px; }
  .vf-consult-link { display: none; }
  .vf-hero { padding: 36px 0; }
  .vf-carousel, .vf-carousel__slide, .vf-carousel__slide > img { height: 400px; }
  .vf-carousel__overlay { width: 86%; padding: 28px 22px; }
  .vf-carousel__overlay h1, .vf-carousel__overlay h2 { font-size: 34px; }
  .vf-carousel .carousel-indicators { bottom: 16px; left: 22px; }
  .vf-carousel .carousel-control-prev { right: 58px; }
  .vf-carousel .carousel-control-next { right: 16px; }
  .vf-promo-side { height: 250px; padding: 24px; }
  .vf-feature-strip { margin-top: -18px; }
  .vf-home > section.vf-scenario { gap: 28px; padding: 36px 28px; }
  .vf-scenario__steps { grid-template-columns: 1fr; }
  .vf-clients { padding-top: 18px; }
  .vf-clients__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .vf-projects { padding-top: 10px; }
  .vf-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .vf-certificates { padding-top: 10px; }
  .vf-certificates__grid, .vf-advantages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .vf-certificate-tabs { gap: 6px; }
  .vf-category-grid, .vf-subcategory-grid, .vf-product-grid, .vf-feature-strip, .vf-choice-grid { grid-template-columns: 1fr; }
  .vf-category-page { padding-top: 22px; padding-bottom: 48px; }
  .vf-breadcrumbs { margin-bottom: 18px; overflow-x: auto; font-size: 16px; }
  .vf-breadcrumbs a, .vf-breadcrumbs__current { min-height: 42px; padding: 0 20px; }
  .vf-breadcrumbs span.vf-breadcrumbs__separator { width: 24px; height: 24px; flex-basis: 24px; margin: 0 -12px; }
  .vf-category-hero { min-height: 150px; margin-bottom: 26px; border-radius: 18px; }
  .vf-category-hero__content { padding: 26px 22px; }
  .vf-category-hero__content h1 { font-size: 38px; }
  .vf-category-hero__media { flex-basis: 34%; min-width: 120px; }
  .vf-subcategories { margin-bottom: 26px; }
  .vf-subcategory-card { flex-basis: 180px; min-height: 100px; }
  .vf-results__toolbar { align-items: stretch; flex-direction: column; gap: 12px; padding: 14px; }
  .vf-sort-control { justify-content: space-between; }
  .vf-results__controls { align-items: stretch; flex-direction: column; gap: 12px; }
  .vf-sort-control select { flex: 1; min-width: 0; }
  .vf-results #product-list { grid-template-columns: 1fr; }
  .vf-category-page .vf-product-card__media, .vf-category-page .vf-product-card__media img { height: 190px; min-height: 190px; }
  .vf-product-page { padding-top: 22px; padding-bottom: 48px; }
  .vf-product-detail-hero { gap: 22px; }
  .vf-product-intro h1 { font-size: 34px; }
  .vf-product-intro__meta .vf-product-actions form { flex-wrap: wrap; }
  .vf-product-gallery__main { min-height: 320px; padding: 18px; border-radius: 18px; }
  .vf-product-gallery__zoom img { max-height: 290px; }
  .vf-product-gallery__zoom > span { right: 4px; bottom: 4px; }
  .vf-product-gallery__thumbs a { flex-basis: 64px; height: 64px; border-radius: 11px; }
  .vf-product-gallery__thumbs img { width: 52px; height: 52px; }
  .vf-product-buy { padding: 22px; border-radius: 18px; }
  .vf-product-buy__header { align-items: start; flex-direction: column; gap: 6px; }
  .vf-product-buy h1 { margin-top: 10px; font-size: 32px; }
  .vf-benefit-line { grid-template-columns: 1fr; }
  .vf-product-details { margin-top: 24px; border-radius: 18px; }
  .vf-product-summary { padding: 20px 16px; border-radius: 18px; }
  .vf-product-tabs { overflow-x: auto; flex-wrap: nowrap; }
  .vf-product-tabs a { flex: 0 0 auto; padding: 11px 13px; }
  .vf-detail-panel { padding: 22px 14px; }
  .vf-spec-table__row { grid-template-columns: 1fr; gap: 3px; }
  .vf-footer__top, .vf-footer__bottom { display: block; }
  .vf-footer__top > * { margin-bottom: 22px; }
  .vf-footer__bottom > * { display: block; margin-top: 10px; }
  .vf-all-categories-page { padding-top: 22px; padding-bottom: 48px; }
  .vf-all-categories__hero { min-height: 210px; margin-bottom: 34px; padding: 30px 24px; border-radius: 18px; }
  .vf-all-categories__hero-mark { position: absolute; right: -24px; bottom: -20px; width: 116px; height: 116px; }
  .vf-all-categories__hero h1 { font-size: 40px; }
  .vf-all-categories__hero .vf-section__lead { max-width: 76%; }
  .vf-all-categories__heading { align-items: start; flex-direction: column; gap: 8px; }
  .vf-all-categories__grid { grid-template-columns: 1fr; gap: 14px; }
  .vf-all-category-card { padding: 18px; border-radius: 18px; }
}

/* Ventoflora catalog mega-menu */
#menu.vf-catalog-overlay { position: absolute; z-index: 1040; top: 0; right: 0; left: 0; display: none; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; pointer-events: none; }
#menu.vf-catalog-overlay.is-open { display: block; }
.vf-catalog-panel { position: relative; z-index: 1; width: min(1040px, calc(100% - 48px)); max-height: min(620px, calc(100vh - 150px)); margin: 0 0 0 max(24px, calc((100% - 1280px) / 2 + 24px)); overflow: auto; border: 1px solid var(--vf-line); border-top: 0; border-radius: 0 0 16px 16px; background: #fff; box-shadow: 0 16px 32px rgba(18,61,53,.16); pointer-events: auto; }
.vf-catalog-panel__inner { display: grid; grid-template-columns: minmax(250px, 300px) minmax(0, 1fr); width: 100%; max-width: none; min-height: 320px; box-sizing: border-box; }
.vf-catalog-panel--single { width: 320px; }
.vf-catalog-panel__inner--single { display: block; min-height: 0; }
.vf-catalog-panel__inner--single .vf-catalog-sidebar { border-right: 0; padding-right: 24px; }
.vf-catalog-sidebar { padding: 28px 24px 34px; border-right: 1px solid var(--vf-line); background: #f7f9f8; }
.vf-catalog-sidebar__title { margin: 0 0 16px; color: var(--vf-green); font-size: 13px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vf-catalog-category-list, .vf-catalog-category__children { margin: 0; padding: 0; list-style: none; }
.vf-catalog-category { border-bottom: 1px solid rgba(220,229,224,.72); }
.vf-catalog-category__row { display: flex; align-items: center; min-height: 48px; }
.vf-catalog-category__link { flex: 1 1 auto; min-width: 0; padding: 12px 10px 12px 0; color: var(--vf-text); font-size: 15px; text-decoration: none; }
.vf-catalog-category__link:hover { color: var(--vf-green); font-weight: 700; }
.vf-catalog-category__link:focus, .vf-catalog-category__link:focus-visible { outline: 0; box-shadow: none; }
.vf-catalog-category__toggle { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border: 0; border-radius: 50%; color: var(--vf-green); background: transparent; cursor: pointer; }
.vf-catalog-category__toggle:hover, .vf-catalog-category__toggle:focus-visible { background: var(--vf-lime); }
.vf-catalog-category__toggle i { font-size: 12px; transition: transform .2s ease; }
.vf-catalog-category.is-active .vf-catalog-category__toggle i { transform: rotate(90deg); }
.vf-catalog-category__children { display: none; padding: 0 10px 12px 0; }
.vf-catalog-category__children a { display: block; padding: 5px 0 5px 12px; color: var(--vf-muted); font-size: 13px; text-decoration: none; }
.vf-catalog-category__children a:hover, .vf-catalog-category__children a:focus-visible { color: var(--vf-green); }
.vf-catalog-content { position: relative; min-width: 0; padding: 42px 0 48px 48px; }
.vf-catalog-content__placeholder { min-height: 180px; padding: 28px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-catalog-content__eyebrow { display: block; margin-bottom: 12px; color: var(--vf-mint); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.vf-catalog-content__placeholder .vf-catalog-content__eyebrow { color: var(--vf-lime); }
.vf-catalog-content h2 { margin: 0; color: var(--vf-green); font-size: 30px; line-height: 1.15; }
.vf-catalog-content__placeholder h2 { color: #fff; }
.vf-catalog-content p { margin: 12px 0 0; color: var(--vf-muted); }
.vf-catalog-content__placeholder p { max-width: 440px; color: #d7ebe5; }
.vf-catalog-category-panel { margin-top: 34px; }
.vf-catalog-category-panel__head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 18px; }
.vf-catalog-category-panel__head h2 { font-size: 24px; }
.vf-catalog-category-panel__head .vf-catalog-content__eyebrow { margin-bottom: 8px; }
.vf-catalog-category-panel__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vf-catalog-child-card { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 12px; padding: 16px; border: 1px solid var(--vf-line); border-radius: 12px; color: var(--vf-text); background: #fff; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.vf-catalog-child-card:hover, .vf-catalog-child-card:focus-visible { border-color: var(--vf-mint); box-shadow: 0 8px 18px rgba(18,61,53,.09); color: var(--vf-green); transform: translateY(-2px); }
.vf-catalog-child-card i { color: var(--vf-mint); font-size: 12px; }
.vf-catalog-category-panel__empty { padding: 18px; border-radius: 12px; background: #f7f9f8; }
.vf-catalog-button.is-open { background: #0f443b; }
.vf-catalog-button.is-open i { color: var(--vf-lime); }

@media (max-width: 900px) {
  .vf-catalog-panel { max-height: calc(100vh - 104px); }
  .vf-catalog-panel__inner { grid-template-columns: minmax(220px, 34%) minmax(0, 1fr); }
  .vf-catalog-content { padding-left: 28px; }
  .vf-catalog-category-panel__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .vf-catalog-panel { width: calc(100% - 24px); max-height: calc(100vh - 110px); margin: 0 auto; border-radius: 0 0 14px 14px; }
  .vf-catalog-panel__inner { display: block; min-height: 0; }
  .vf-catalog-sidebar { padding: 18px 16px 30px; border-right: 0; }
  .vf-catalog-sidebar__title { margin-bottom: 8px; }
  .vf-catalog-category__row { min-height: 46px; }
  .vf-catalog-category__children { padding-bottom: 10px; }
  .vf-catalog-category.is-active .vf-catalog-category__children { display: block; }
  .vf-catalog-content { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-catalog-category__toggle i, .vf-catalog-child-card { transition: none; }
}

/* Ventoflora delivery page */
.vf-delivery-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-delivery-page__breadcrumb { margin-bottom: 28px; }
.vf-delivery-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); min-height: 360px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-delivery-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-delivery-hero__copy .vf-eyebrow, .vf-delivery-note .vf-eyebrow, .vf-delivery-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-delivery-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(42px, 6vw, 72px); line-height: .98; }
.vf-delivery-hero__lead { max-width: 520px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-delivery-hero__visual { position: relative; display: grid; min-height: 360px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 24%), linear-gradient(145deg, #32755d, #123d35); }
.vf-delivery-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 88px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-delivery-hero__ring { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-delivery-hero__ring--one { width: 280px; height: 280px; box-shadow: 0 0 0 32px rgba(200,232,107,.05), 0 0 0 66px rgba(200,232,107,.035); }
.vf-delivery-hero__ring--two { width: 480px; height: 480px; border-color: rgba(255,255,255,.12); }
.vf-delivery-section { padding: 64px 0 0; }
.vf-delivery-section .vf-section__heading { margin-bottom: 22px; }
.vf-delivery-tabs { display: inline-flex; gap: 6px; margin-bottom: 18px; padding: 5px; border: 1px solid var(--vf-line); border-radius: 12px; background: #fff; }
.vf-delivery-tab { min-width: 150px; padding: 12px 18px; border: 0; border-radius: 8px; color: var(--vf-muted); background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
.vf-delivery-tab:hover, .vf-delivery-tab:focus-visible { color: var(--vf-green); background: #edf7f1; outline: 0; }
.vf-delivery-tab.is-active { color: #fff; background: var(--vf-green); }
.vf-delivery-mode { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 26px 30px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-delivery-mode__icon, .vf-delivery-benefit > i, .vf-delivery-note__icon { display: grid; place-items: center; color: var(--vf-mint); }
.vf-delivery-mode__icon { width: 58px; height: 58px; border-radius: 16px; background: #e6f4ec; font-size: 24px; }
.vf-delivery-mode h3, .vf-delivery-benefit h3 { margin: 0 0 7px; color: var(--vf-green); font-size: 20px; }
.vf-delivery-mode p, .vf-delivery-benefit p, .vf-delivery-note p { margin: 0; color: var(--vf-muted); }
.vf-delivery-mode__arrow { color: var(--vf-mint); font-size: 18px; }
.vf-delivery-benefits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vf-delivery-benefit { min-height: 190px; padding: 26px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; }
.vf-delivery-benefit > i { width: 46px; height: 46px; margin-bottom: 20px; border-radius: 13px; background: #e6f4ec; font-size: 20px; }
.vf-delivery-lift { padding: 64px 0 0; }
.vf-delivery-lift .vf-section__heading { align-items: end; }
.vf-delivery-lift__note { margin: 0; color: var(--vf-muted); font-size: 13px; }
.vf-delivery-lift__list { display: grid; gap: 18px; }
.vf-delivery-lift__row { display: grid; grid-template-columns: minmax(210px, 1.1fr) repeat(3, minmax(130px, 1fr)); align-items: center; gap: 22px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 10px 24px rgba(18,61,53,.04); }
.vf-delivery-lift__weight { display: grid; gap: 5px; color: var(--vf-muted); }
.vf-delivery-lift__weight strong { color: var(--vf-green); font-size: 31px; line-height: 1; }
.vf-delivery-lift__rate { min-height: 68px; padding-left: 22px; border-left: 1px solid var(--vf-line); }
.vf-delivery-lift__rate span { display: block; margin-bottom: 8px; color: var(--vf-muted); font-size: 14px; }
.vf-delivery-lift__rate span i { margin-right: 7px; color: var(--vf-mint); }
.vf-delivery-lift__rate strong { color: var(--vf-green); font-size: 30px; line-height: 1; }
.vf-delivery-note { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 22px; margin-top: 64px; padding: 34px 38px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-delivery-note__icon { width: 58px; height: 58px; border: 1px solid rgba(200,232,107,.3); border-radius: 16px; color: var(--vf-lime); font-size: 25px; }
.vf-delivery-note h2, .vf-delivery-cta h2 { margin: 0 0 9px; color: #fff; font-size: clamp(24px, 3vw, 34px); line-height: 1.08; }
.vf-delivery-note p:not(.vf-eyebrow) { max-width: 680px; color: #d7ebe5; }
.vf-delivery-faq__list { border-top: 1px solid var(--vf-line); }
.vf-delivery-faq__item { border-bottom: 1px solid var(--vf-line); }
.vf-delivery-faq__item h3 { margin: 0; }
.vf-delivery-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-delivery-faq__button:hover, .vf-delivery-faq__button:focus-visible { color: var(--vf-mint); outline: 0; }
.vf-delivery-faq__button i { color: var(--vf-mint); transition: transform .2s ease; }
.vf-delivery-faq__item.is-open .vf-delivery-faq__button i { transform: rotate(45deg); }
.vf-delivery-faq__answer { max-width: 760px; padding: 0 50px 22px 4px; color: var(--vf-muted); }
.vf-delivery-faq__answer p { margin: 0; }
.vf-delivery-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #e4f2e8, #f5f8f3); }
.vf-delivery-cta .vf-eyebrow { color: var(--vf-mint); }
.vf-delivery-cta h2 { color: var(--vf-green); }
.vf-button--light { color: var(--vf-green); background: #fff; }
.vf-button--light:hover, .vf-button--light:focus-visible { color: var(--vf-green); background: var(--vf-lime); }

@media (max-width: 760px) {
  .vf-delivery-page { padding-bottom: 48px; }
  .vf-delivery-hero { grid-template-columns: 1fr; min-height: 0; border-radius: 18px; }
  .vf-delivery-hero__copy { padding: 38px 26px 32px; }
  .vf-delivery-hero__visual { min-height: 220px; }
  .vf-delivery-hero__visual i { font-size: 64px; }
  .vf-delivery-hero__ring--one { width: 190px; height: 190px; }
  .vf-delivery-hero__ring--two { width: 330px; height: 330px; }
  .vf-delivery-section { padding-top: 44px; }
  .vf-delivery-lift { padding-top: 44px; }
  .vf-delivery-lift .vf-section__heading { align-items: start; flex-direction: column; gap: 8px; }
  .vf-delivery-lift__row { grid-template-columns: 1fr 1fr; gap: 18px 12px; padding: 20px; }
  .vf-delivery-lift__weight { grid-column: 1 / -1; }
  .vf-delivery-lift__rate { min-height: 0; padding-left: 0; border-left: 0; }
  .vf-delivery-lift__rate strong { font-size: 26px; }
  .vf-delivery-tabs { display: flex; width: 100%; box-sizing: border-box; }
  .vf-delivery-tab { min-width: 0; flex: 1 1 50%; }
  .vf-delivery-mode { grid-template-columns: 46px minmax(0, 1fr); gap: 14px; padding: 20px; }
  .vf-delivery-mode__icon { width: 46px; height: 46px; border-radius: 12px; font-size: 18px; }
  .vf-delivery-mode__arrow { display: none; }
  .vf-delivery-benefits { grid-template-columns: 1fr; }
  .vf-delivery-benefit { min-height: 0; }
  .vf-delivery-note { grid-template-columns: 46px minmax(0, 1fr); gap: 14px; margin-top: 44px; padding: 24px 20px; }
  .vf-delivery-note__icon { width: 46px; height: 46px; border-radius: 12px; font-size: 20px; }
  .vf-delivery-note .vf-button { grid-column: 1 / -1; justify-self: start; }
  .vf-delivery-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-delivery-faq__button i { transition: none; }
}

/* Ventoflora payment page */
.vf-payment-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-payment-page__breadcrumb { margin-bottom: 28px; }
.vf-payment-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr); min-height: 340px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-payment-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 54px 64px; }
.vf-payment-hero__copy .vf-eyebrow, .vf-payment-placeholder .vf-eyebrow, .vf-payment-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-payment-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(42px, 6vw, 72px); line-height: .98; }
.vf-payment-hero__copy > p:not(.vf-eyebrow) { max-width: 520px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-payment-hero__visual { position: relative; display: grid; min-height: 340px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 24%), linear-gradient(145deg, #32755d, #123d35); }
.vf-payment-hero__visual > i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 86px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-payment-hero__circle { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-payment-hero__circle--one { width: 260px; height: 260px; box-shadow: 0 0 0 30px rgba(200,232,107,.05), 0 0 0 64px rgba(200,232,107,.035); }
.vf-payment-hero__circle--two { width: 460px; height: 460px; border-color: rgba(255,255,255,.12); }
.vf-payment-section { padding-top: 64px; }
.vf-payment-methods { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.vf-payment-method { overflow: hidden; border: 1px solid var(--vf-line); border-radius: 16px; background: #fff; }
.vf-payment-method__button { display: grid; grid-template-columns: 48px minmax(0, 1fr) 24px; width: 100%; align-items: center; gap: 14px; padding: 20px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-payment-method__button:hover, .vf-payment-method__button:focus-visible { background: #f3f8f4; outline: 0; }
.vf-payment-method__icon { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 13px; color: var(--vf-mint); background: #e6f4ec; font-size: 20px; }
.vf-payment-method__chevron { color: var(--vf-mint); font-size: 14px; transition: transform .2s ease; }
.vf-payment-method.is-open .vf-payment-method__chevron { transform: rotate(45deg); }
.vf-payment-method__details { padding: 0 20px 22px 82px; color: var(--vf-muted); }
.vf-payment-method__details p { margin: 0 0 8px; }
.vf-payment-method__details p:last-child { margin-bottom: 0; }
.vf-payment-method__detail { color: #8a9993; font-size: 13px; }
.vf-payment-placeholder { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 22px; margin-top: 64px; padding: 34px 38px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-payment-placeholder__icon { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(200,232,107,.3); border-radius: 16px; color: var(--vf-lime); font-size: 25px; }
.vf-payment-placeholder h2, .vf-payment-cta h2 { margin: 0 0 9px; color: #fff; font-size: clamp(24px, 3vw, 34px); line-height: 1.08; }
.vf-payment-placeholder p:not(.vf-eyebrow) { max-width: 680px; margin: 0; color: #d7ebe5; }
.vf-payment-faq__list { border-top: 1px solid var(--vf-line); }
.vf-payment-faq__item { border-bottom: 1px solid var(--vf-line); }
.vf-payment-faq__item h3 { margin: 0; }
.vf-payment-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-payment-faq__button:hover, .vf-payment-faq__button:focus-visible { color: var(--vf-mint); outline: 0; }
.vf-payment-faq__button i { color: var(--vf-mint); transition: transform .2s ease; }
.vf-payment-faq__item.is-open .vf-payment-faq__button i { transform: rotate(45deg); }
.vf-payment-faq__answer { max-width: 760px; padding: 0 50px 22px 4px; color: var(--vf-muted); }
.vf-payment-faq__answer p { margin: 0; }
.vf-payment-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #e4f2e8, #f5f8f3); }
.vf-payment-cta .vf-eyebrow { color: var(--vf-mint); }
.vf-payment-cta h2 { color: var(--vf-green); }

@media (max-width: 760px) {
  .vf-payment-page { padding-bottom: 48px; }
  .vf-payment-hero { grid-template-columns: 1fr; min-height: 0; border-radius: 18px; }
  .vf-payment-hero__copy { padding: 38px 26px 32px; }
  .vf-payment-hero__visual { min-height: 220px; }
  .vf-payment-hero__visual > i { font-size: 64px; }
  .vf-payment-hero__circle--one { width: 190px; height: 190px; }
  .vf-payment-hero__circle--two { width: 330px; height: 330px; }
  .vf-payment-section { padding-top: 44px; }
  .vf-payment-methods { grid-template-columns: 1fr; }
  .vf-payment-method__details { padding-left: 20px; }
  .vf-payment-placeholder { grid-template-columns: 46px minmax(0, 1fr); gap: 14px; margin-top: 44px; padding: 24px 20px; }
  .vf-payment-placeholder__icon { width: 46px; height: 46px; border-radius: 12px; font-size: 20px; }
  .vf-payment-placeholder .vf-button { grid-column: 1 / -1; justify-self: start; }
  .vf-payment-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-payment-method__chevron, .vf-payment-faq__button i { transition: none; }
}

.vf-warranty-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-warranty-page__breadcrumb { margin-bottom: 28px; }
.vf-warranty-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); min-height: 360px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-warranty-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-warranty-hero .vf-eyebrow, .vf-warranty-flow .vf-eyebrow, .vf-warranty-return .vf-eyebrow, .vf-warranty-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-warranty-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(42px, 6vw, 72px); line-height: .98; }
.vf-warranty-hero__copy > p:not(.vf-eyebrow) { max-width: 520px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-warranty-hero__visual { position: relative; display: grid; min-height: 360px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 24%), linear-gradient(145deg, #32755d, #123d35); }
.vf-warranty-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 88px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-warranty-hero__visual span { position: absolute; width: 260px; height: 260px; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; box-shadow: 0 0 0 34px rgba(200,232,107,.05), 0 0 0 70px rgba(200,232,107,.035); }
.vf-warranty-section { padding: 64px 0 0; }
.vf-warranty-section .vf-section__heading { margin-bottom: 22px; }
.vf-warranty-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vf-warranty-card { min-height: 190px; padding: 28px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-warranty-card > i { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 22px; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-warranty-card h3 { margin: 0 0 10px; color: var(--vf-green); font-size: 20px; }
.vf-warranty-card p { margin: 0; color: var(--vf-muted); }
.vf-warranty-flow { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-warranty-flow h2, .vf-warranty-return h2, .vf-warranty-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-warranty-flow__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vf-warranty-flow__steps > div { padding: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-warranty-flow__steps span { color: var(--vf-lime); font-weight: 800; }
.vf-warranty-flow__steps h3 { margin: 30px 0 8px; color: #fff; font-size: 19px; }
.vf-warranty-flow__steps p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-warranty-return { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 24px; padding: 34px 44px; border-radius: 22px; background: #dff1e5; }
.vf-warranty-return h2 { color: var(--vf-green); font-size: clamp(24px, 3vw, 34px); }
.vf-warranty-return p:not(.vf-eyebrow) { max-width: 680px; margin: 10px 0 0; color: var(--vf-muted); }
.vf-warranty-return .vf-eyebrow { color: var(--vf-mint); }
.vf-warranty-faq__list { border-top: 1px solid var(--vf-line); }
.vf-warranty-faq__item { border-bottom: 1px solid var(--vf-line); }
.vf-warranty-faq__item h3 { margin: 0; }
.vf-warranty-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-warranty-faq__button:hover, .vf-warranty-faq__button:focus-visible { color: var(--vf-mint); outline: 0; }
.vf-warranty-faq__button i { color: var(--vf-mint); transition: transform .2s ease; }
.vf-warranty-faq__item.is-open .vf-warranty-faq__button i { transform: rotate(45deg); }
.vf-warranty-faq__answer { max-width: 760px; padding: 0 50px 22px 4px; color: var(--vf-muted); }
.vf-warranty-faq__answer p { margin: 0; }
.vf-warranty-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #1b594d, #236454); }

@media (max-width: 760px) {
  .vf-warranty-page { padding-bottom: 48px; }
  .vf-warranty-hero { grid-template-columns: 1fr; min-height: 0; border-radius: 18px; }
  .vf-warranty-hero__copy { padding: 38px 26px 32px; }
  .vf-warranty-hero__visual { min-height: 220px; }
  .vf-warranty-hero__visual i { font-size: 64px; }
  .vf-warranty-hero__visual span { width: 190px; height: 190px; }
  .vf-warranty-section { padding-top: 44px; }
  .vf-warranty-cards, .vf-warranty-flow__steps { grid-template-columns: 1fr; }
  .vf-warranty-flow { grid-template-columns: 1fr; gap: 24px; margin-top: 44px; padding: 28px 22px; }
  .vf-warranty-flow__steps h3 { margin-top: 18px; }
  .vf-warranty-return, .vf-warranty-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-warranty-faq__button i { transition: none; }
}

/* Ventoflora design service page */
.vf-design-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-design-page__breadcrumb { margin-bottom: 28px; }
.vf-design-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); min-height: 360px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-design-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-design-hero .vf-eyebrow, .vf-design-results .vf-eyebrow, .vf-design-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-design-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(40px, 5.5vw, 68px); line-height: .98; }
.vf-design-hero__copy > p:not(.vf-eyebrow) { max-width: 540px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-design-hero__visual { position: relative; display: grid; min-height: 360px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 24%), linear-gradient(145deg, #32755d, #123d35); }
.vf-design-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 86px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-design-hero__ring { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-design-hero__ring--one { width: 260px; height: 260px; box-shadow: 0 0 0 34px rgba(200,232,107,.05), 0 0 0 70px rgba(200,232,107,.035); }
.vf-design-hero__ring--two { width: 470px; height: 470px; border-color: rgba(255,255,255,.12); }
.vf-design-section { padding-top: 64px; }
.vf-design-section .vf-section__heading { margin-bottom: 22px; }
.vf-design-formats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.vf-design-format { min-height: 190px; padding: 28px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-design-format > i { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 22px; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-design-format h3 { margin: 0 0 10px; color: var(--vf-green); font-size: 20px; }
.vf-design-format p { margin: 0; color: var(--vf-muted); }
.vf-design-results { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-design-results h2, .vf-design-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-design-results__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vf-design-results__list article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-design-results__list article > span, .vf-design-stages__grid article > span { color: var(--vf-lime); font-weight: 800; }
.vf-design-results__list h3 { margin: 0 0 7px; color: #fff; font-size: 18px; }
.vf-design-results__list p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-design-stages { padding-top: 64px; }
.vf-design-stages .vf-section__heading { margin-bottom: 22px; }
.vf-design-stages__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vf-design-stages__grid article { min-height: 190px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-design-stages__grid h3 { margin: 32px 0 8px; color: var(--vf-green); font-size: 19px; }
.vf-design-stages__grid p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-design-faq__list { border-top: 1px solid var(--vf-line); }
.vf-design-faq__item { border-bottom: 1px solid var(--vf-line); }
.vf-design-faq__item h3 { margin: 0; }
.vf-design-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-design-faq__button:hover, .vf-design-faq__button:focus-visible { color: var(--vf-mint); outline: 0; }
.vf-design-faq__button i { color: var(--vf-mint); transition: transform .2s ease; }
.vf-design-faq__item.is-open .vf-design-faq__button i { transform: rotate(45deg); }
.vf-design-faq__answer { max-width: 760px; padding: 0 50px 22px 4px; color: var(--vf-muted); }
.vf-design-faq__answer p { margin: 0; }
.vf-design-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #1b594d, #236454); }

@media (max-width: 900px) {
  .vf-design-stages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .vf-design-page { padding-bottom: 48px; }
  .vf-design-hero { grid-template-columns: 1fr; min-height: 0; border-radius: 18px; }
  .vf-design-hero__copy { padding: 38px 26px 32px; }
  .vf-design-hero__visual { min-height: 220px; }
  .vf-design-hero__visual i { font-size: 64px; }
  .vf-design-hero__ring--one { width: 190px; height: 190px; }
  .vf-design-hero__ring--two { width: 330px; height: 330px; }
  .vf-design-section, .vf-design-stages { padding-top: 44px; }
  .vf-design-formats, .vf-design-stages__grid { grid-template-columns: 1fr; }
  .vf-design-results { grid-template-columns: 1fr; gap: 24px; margin-top: 44px; padding: 28px 22px; }
  .vf-design-results__list { grid-template-columns: 1fr; }
  .vf-design-stages__grid article { min-height: 0; }
  .vf-design-stages__grid h3 { margin-top: 18px; }
  .vf-design-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-design-faq__button i { transition: none; }
}

/* Ventoflora installation service page */
.vf-installation-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-installation-page__breadcrumb { margin-bottom: 28px; }
.vf-installation-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); min-height: 360px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-installation-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-installation-hero .vf-eyebrow, .vf-installation-conditions .vf-eyebrow, .vf-installation-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-installation-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(40px, 5.5vw, 68px); line-height: .98; }
.vf-installation-hero__copy > p:not(.vf-eyebrow) { max-width: 540px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-installation-hero__visual { position: relative; display: grid; min-height: 360px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 24%), linear-gradient(145deg, #32755d, #123d35); }
.vf-installation-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 86px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-installation-hero__ring { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-installation-hero__ring--one { width: 260px; height: 260px; box-shadow: 0 0 0 34px rgba(200,232,107,.05), 0 0 0 70px rgba(200,232,107,.035); }
.vf-installation-hero__ring--two { width: 470px; height: 470px; border-color: rgba(255,255,255,.12); }
.vf-installation-section { padding-top: 64px; }
.vf-installation-section .vf-section__heading { margin-bottom: 22px; }
.vf-installation-directions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.vf-installation-directions article { min-height: 185px; padding: 26px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-installation-directions article > i { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 20px; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-installation-directions h3 { margin: 0 0 9px; color: var(--vf-green); font-size: 19px; }
.vf-installation-directions p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-installation-works { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-installation-works h2, .vf-installation-conditions h2, .vf-installation-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-installation-works__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vf-installation-works__list article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-installation-works__list article > span, .vf-installation-stages__grid article > span { color: var(--vf-lime); font-weight: 800; }
.vf-installation-works__list h3 { margin: 0 0 7px; color: #fff; font-size: 18px; }
.vf-installation-works__list p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-installation-stages { padding-top: 64px; }
.vf-installation-stages .vf-section__heading { margin-bottom: 22px; }
.vf-installation-stages__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vf-installation-stages__grid article { min-height: 185px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-installation-stages__grid h3 { margin: 32px 0 8px; color: var(--vf-green); font-size: 19px; }
.vf-installation-stages__grid p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-installation-conditions { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: #dff1e5; }
.vf-installation-conditions h2 { color: var(--vf-green); font-size: clamp(24px, 3vw, 34px); }
.vf-installation-conditions p:not(.vf-eyebrow) { max-width: 680px; margin: 10px 0 0; color: var(--vf-muted); }
.vf-installation-conditions .vf-eyebrow { color: var(--vf-mint); }
.vf-installation-faq__list { border-top: 1px solid var(--vf-line); }
.vf-installation-faq__item { border-bottom: 1px solid var(--vf-line); }
.vf-installation-faq__item h3 { margin: 0; }
.vf-installation-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-installation-faq__button:hover, .vf-installation-faq__button:focus-visible { color: var(--vf-mint); outline: 0; }
.vf-installation-faq__button i { color: var(--vf-mint); transition: transform .2s ease; }
.vf-installation-faq__item.is-open .vf-installation-faq__button i { transform: rotate(45deg); }
.vf-installation-faq__answer { max-width: 760px; padding: 0 50px 22px 4px; color: var(--vf-muted); }
.vf-installation-faq__answer p { margin: 0; }
.vf-installation-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #1b594d, #236454); }

@media (max-width: 900px) {
  .vf-installation-directions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-installation-stages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .vf-installation-page { padding-bottom: 48px; }
  .vf-installation-hero { grid-template-columns: 1fr; min-height: 0; border-radius: 18px; }
  .vf-installation-hero__copy { padding: 38px 26px 32px; }
  .vf-installation-hero__visual { min-height: 220px; }
  .vf-installation-hero__visual i { font-size: 64px; }
  .vf-installation-hero__ring--one { width: 190px; height: 190px; }
  .vf-installation-hero__ring--two { width: 330px; height: 330px; }
  .vf-installation-section, .vf-installation-stages { padding-top: 44px; }
  .vf-installation-directions, .vf-installation-stages__grid { grid-template-columns: 1fr; }
  .vf-installation-works { grid-template-columns: 1fr; gap: 24px; margin-top: 44px; padding: 28px 22px; }
  .vf-installation-works__list { grid-template-columns: 1fr; }
  .vf-installation-stages__grid article { min-height: 0; }
  .vf-installation-stages__grid h3 { margin-top: 18px; }
  .vf-installation-conditions, .vf-installation-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .vf-installation-faq__button i { transition: none; }
}

/* Ventoflora service page */
.vf-service-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-service-page__breadcrumb { margin-bottom: 28px; }
.vf-service-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); min-height: 360px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-service-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-service-hero .vf-eyebrow, .vf-service-conditions .vf-eyebrow, .vf-service-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-service-hero h1 { margin: 0 0 18px; color: #fff; font-size: clamp(40px, 5.5vw, 68px); line-height: .98; }
.vf-service-hero__copy > p:not(.vf-eyebrow) { max-width: 540px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-service-hero__visual { position: relative; display: grid; min-height: 360px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 24%), linear-gradient(145deg, #32755d, #123d35); }
.vf-service-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 86px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-service-hero__ring { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-service-hero__ring--one { width: 260px; height: 260px; box-shadow: 0 0 0 34px rgba(200,232,107,.05), 0 0 0 70px rgba(200,232,107,.035); }
.vf-service-hero__ring--two { width: 470px; height: 470px; border-color: rgba(255,255,255,.12); }
.vf-service-section { padding-top: 64px; }
.vf-service-section .vf-section__heading { margin-bottom: 22px; }
.vf-service-directions { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.vf-service-directions article { min-height: 185px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-service-directions article > i { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 18px; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-service-directions h3 { margin: 0 0 9px; color: var(--vf-green); font-size: 18px; }
.vf-service-directions p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-service-works { display: grid; grid-template-columns: minmax(230px, .72fr) minmax(0, 1.28fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-service-works h2, .vf-service-conditions h2, .vf-service-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-service-works__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vf-service-works__list article { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 14px; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-service-works__list article > span, .vf-service-stages__grid article > span { color: var(--vf-lime); font-weight: 800; }
.vf-service-works__list h3 { margin: 0 0 7px; color: #fff; font-size: 18px; }
.vf-service-works__list p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-service-stages { padding-top: 64px; }
.vf-service-stages .vf-section__heading { margin-bottom: 22px; }
.vf-service-stages__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vf-service-stages__grid article { min-height: 185px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-service-stages__grid h3 { margin: 32px 0 8px; color: var(--vf-green); font-size: 19px; }
.vf-service-stages__grid p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-service-conditions { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: #dff1e5; }
.vf-service-conditions h2 { color: var(--vf-green); font-size: clamp(24px, 3vw, 34px); }
.vf-service-conditions p:not(.vf-eyebrow) { max-width: 680px; margin: 10px 0 0; color: var(--vf-muted); }
.vf-service-conditions .vf-eyebrow { color: var(--vf-mint); }
.vf-service-faq__list { border-top: 1px solid var(--vf-line); }
.vf-service-faq__item { border-bottom: 1px solid var(--vf-line); }
.vf-service-faq__item h3 { margin: 0; }
.vf-service-faq__button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 4px; border: 0; color: var(--vf-green); background: transparent; font: inherit; font-size: 18px; font-weight: 700; text-align: left; cursor: pointer; }
.vf-service-faq__button:hover, .vf-service-faq__button:focus-visible { color: var(--vf-mint); outline: 0; }
.vf-service-faq__button i { color: var(--vf-mint); transition: transform .2s ease; }
.vf-service-faq__item.is-open .vf-service-faq__button i { transform: rotate(45deg); }
.vf-service-faq__answer { max-width: 760px; padding: 0 50px 22px 4px; color: var(--vf-muted); }
.vf-service-faq__answer p { margin: 0; }
.vf-service-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #1b594d, #236454); }
@media (max-width: 1100px) {
  .vf-service-directions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .vf-service-hero { grid-template-columns: 1fr; }
  .vf-service-hero__visual { min-height: 260px; }
  .vf-service-works { grid-template-columns: 1fr; }
  .vf-service-stages__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .vf-service-page { padding-bottom: 48px; }
  .vf-service-hero { min-height: 0; border-radius: 18px; }
  .vf-service-hero__copy { padding: 38px 26px 32px; }
  .vf-service-hero__visual { min-height: 220px; }
  .vf-service-hero__visual i { font-size: 64px; }
  .vf-service-hero__ring--one { width: 190px; height: 190px; }
  .vf-service-hero__ring--two { width: 330px; height: 330px; }
  .vf-service-section, .vf-service-stages { padding-top: 44px; }
  .vf-service-directions, .vf-service-stages__grid { grid-template-columns: 1fr; }
  .vf-service-works { gap: 24px; margin-top: 44px; padding: 28px 22px; }
  .vf-service-works__list { grid-template-columns: 1fr; }
  .vf-service-stages__grid article { min-height: 0; }
  .vf-service-stages__grid h3 { margin-top: 18px; }
  .vf-service-conditions, .vf-service-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .vf-service-faq__button i { transition: none; }
}

/* Ventoflora business page */
.vf-business-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-business-page__breadcrumb { margin-bottom: 28px; }
.vf-business-hero { display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(280px, .94fr); min-height: 380px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-business-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-business-hero .vf-eyebrow, .vf-business-advantages .vf-eyebrow, .vf-business-projects .vf-eyebrow, .vf-business-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-business-hero h1 { max-width: 680px; margin: 0 0 18px; color: #fff; font-size: clamp(40px, 5.4vw, 68px); line-height: .98; }
.vf-business-hero__copy > p:not(.vf-eyebrow) { max-width: 580px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-business-hero__visual { position: relative; display: grid; min-height: 380px; place-items: center; overflow: hidden; background: radial-gradient(circle at 46% 42%, rgba(200,232,107,.2), transparent 22%), linear-gradient(145deg, #32755d, #123d35); }
.vf-business-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 86px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-business-hero__grid { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.09) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.09) 1px, transparent 1px); background-size: 42px 42px; transform: perspective(500px) rotateX(58deg) scale(1.35); transform-origin: center bottom; }
.vf-business-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.vf-business-stats article { display: flex; align-items: baseline; gap: 12px; padding: 22px 24px; border: 1px solid var(--vf-line); border-radius: 16px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-business-stats strong { color: var(--vf-mint); font-size: 30px; line-height: 1; }
.vf-business-stats span { color: var(--vf-muted); font-size: 14px; }
.vf-business-section { padding-top: 64px; }
.vf-business-section .vf-section__heading { margin-bottom: 22px; }
.vf-business-cycle { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vf-business-cycle article { position: relative; min-height: 210px; padding: 26px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-business-cycle__number { position: absolute; top: 22px; right: 24px; color: #b8c7c0; font-weight: 800; }
.vf-business-cycle article > i { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 24px; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-business-cycle h3 { margin: 0 0 9px; color: var(--vf-green); font-size: 19px; }
.vf-business-cycle p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-business-advantages { display: grid; grid-template-columns: minmax(220px, .68fr) minmax(0, 1.32fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-business-advantages h2, .vf-business-projects h2, .vf-business-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-business-advantages__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vf-business-advantages__grid article { padding: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-business-advantages__grid article > i { margin-bottom: 18px; color: var(--vf-lime); font-size: 22px; }
.vf-business-advantages__grid h3 { margin: 0 0 7px; color: #fff; font-size: 18px; }
.vf-business-advantages__grid p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-business-segments { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vf-business-segments article { min-height: 170px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-business-segments article > span { color: var(--vf-mint); font-weight: 800; }
.vf-business-segments h3 { margin: 28px 0 8px; color: var(--vf-green); font-size: 18px; }
.vf-business-segments p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-business-projects { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.3fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, #1b594d, #236454); }
.vf-business-projects__intro > p:not(.vf-eyebrow) { max-width: 400px; margin: 14px 0 0; color: #d7ebe5; }
.vf-business-projects__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.vf-business-projects__grid article { min-height: 190px; padding: 20px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-business-projects__placeholder { display: inline-flex; margin-bottom: 42px; padding: 6px 10px; border-radius: 8px; color: var(--vf-lime); background: rgba(200,232,107,.12); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.vf-business-projects h3 { margin: 0 0 8px; color: #fff; font-size: 18px; }
.vf-business-projects__grid p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-business-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, var(--vf-green), #236454); }
@media (max-width: 900px) {
  .vf-business-hero { grid-template-columns: 1fr; }
  .vf-business-hero__visual { min-height: 260px; }
  .vf-business-cycle, .vf-business-segments { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-business-advantages, .vf-business-projects { grid-template-columns: 1fr; }
  .vf-business-projects__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .vf-business-page { padding-bottom: 48px; }
  .vf-business-hero { min-height: 0; border-radius: 18px; }
  .vf-business-hero__copy { padding: 38px 26px 32px; }
  .vf-business-hero__visual { min-height: 220px; }
  .vf-business-hero__visual i { font-size: 64px; }
  .vf-business-stats { grid-template-columns: 1fr; }
  .vf-business-section { padding-top: 44px; }
  .vf-business-cycle, .vf-business-segments, .vf-business-projects__grid { grid-template-columns: 1fr; }
  .vf-business-advantages, .vf-business-projects { gap: 24px; margin-top: 44px; padding: 28px 22px; }
  .vf-business-advantages__grid { grid-template-columns: 1fr; }
  .vf-business-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

.vf-design-calculator { position: fixed; right: 24px; bottom: 24px; z-index: 1030; display: grid; grid-template-columns: 1fr; width: min(360px, calc(100vw - 48px)); max-height: calc(100vh - 48px); box-sizing: border-box; gap: 16px; overflow-y: auto; padding: 24px; border: 1px solid rgba(18,61,53,.1); border-radius: 16px; background: #fff; box-shadow: 0 20px 50px rgba(18,61,53,.2); }
.vf-design-calculator__intro h2 { margin: 0 0 8px; color: var(--vf-green); font-size: 24px; line-height: 1.08; }
.vf-design-calculator__intro > p:not(.vf-eyebrow) { margin: 0 0 12px; color: var(--vf-muted); font-size: 13px; line-height: 1.4; }
.vf-design-calculator__note { display: inline-flex; align-items: center; gap: 6px; color: var(--vf-mint); font-size: 11px; font-weight: 700; }
.vf-design-calculator__form { display: grid; gap: 11px; padding: 0; border: 0; background: transparent; box-shadow: none; }
.vf-design-calculator__form label, .vf-design-calculator__form fieldset { display: grid; gap: 8px; margin: 0; }
.vf-design-calculator__form label > span, .vf-design-calculator__form legend { color: var(--vf-muted); font-size: 13px; }
.vf-design-calculator__form select, .vf-design-calculator__form input[type="number"] { width: 100%; min-height: 42px; box-sizing: border-box; padding: 9px 11px; border: 1px solid #c9d3ce; border-radius: 9px; color: var(--vf-green); background: #fff; font: inherit; font-size: 14px; }
.vf-design-calculator__form select:focus, .vf-design-calculator__form input[type="number"]:focus { border-color: var(--vf-mint); outline: 2px solid rgba(44,185,163,.18); }
.vf-design-calculator__form fieldset { min-width: 0; padding: 0; border: 0; }
.vf-design-calculator__form legend { float: left; width: 100%; margin-bottom: 2px; }
.vf-design-calculator__checks { display: flex; flex-wrap: wrap; gap: 8px; clear: both; }
.vf-design-calculator__checks label { display: inline-flex; grid-template-columns: auto 1fr; align-items: center; gap: 6px; padding: 6px 8px; border: 1px solid var(--vf-line); border-radius: 8px; color: var(--vf-muted); background: #f8faf8; font-size: 13px; cursor: pointer; }
.vf-design-calculator__checks label:has(input:checked) { border-color: var(--vf-mint); color: var(--vf-green); background: #e8f8f0; }
.vf-design-calculator__checks input { accent-color: var(--vf-mint); }
.vf-design-calculator__result { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 0; border-top: 1px solid var(--vf-line); border-bottom: 1px solid var(--vf-line); color: var(--vf-muted); font-size: 13px; }
.vf-design-calculator__result strong { color: var(--vf-green); font-size: 16px; text-align: right; }

@media (max-width: 760px) {
  .vf-design-calculator { right: 12px; bottom: 12px; left: 12px; width: auto; max-height: min(70vh, 560px); gap: 12px; padding: 18px; }
  .vf-design-calculator__checks { display: grid; grid-template-columns: 1fr 1fr; }
  .vf-design-calculator__checks label { min-width: 0; }
}

/* Ventoflora about page */
.vf-about-page { padding: 18px 0 72px; background: var(--vf-bg); }
.vf-about-page__breadcrumb { margin-bottom: 28px; }
.vf-about-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(280px, .92fr); min-height: 380px; overflow: hidden; border-radius: 24px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #236454); box-shadow: 0 18px 42px rgba(18,61,53,.12); }
.vf-about-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 58px 64px; }
.vf-about-hero .vf-eyebrow, .vf-about-process .vf-eyebrow, .vf-about-cta .vf-eyebrow { color: var(--vf-lime); }
.vf-about-hero h1 { max-width: 680px; margin: 0 0 18px; color: #fff; font-size: clamp(40px, 5.4vw, 68px); line-height: .98; }
.vf-about-hero__copy > p:not(.vf-eyebrow) { max-width: 580px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; }
.vf-about-hero__visual { position: relative; display: grid; min-height: 380px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 22%), linear-gradient(145deg, #32755d, #123d35); }
.vf-about-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 86px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-about-hero__ring { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-about-hero__ring--one { width: 260px; height: 260px; box-shadow: 0 0 0 34px rgba(200,232,107,.05), 0 0 0 70px rgba(200,232,107,.035); }
.vf-about-hero__ring--two { width: 470px; height: 470px; border-color: rgba(255,255,255,.12); }
.vf-about-history { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 48px; margin-top: 64px; padding: 34px 0; }
.vf-about-history__copy { padding-left: 12px; }
.vf-about-history__copy h2 { max-width: 520px; margin: 0 0 16px; color: var(--vf-green); font-size: clamp(28px, 3.2vw, 44px); line-height: 1.06; }
.vf-about-history__copy p:not(.vf-eyebrow) { max-width: 540px; margin: 0; color: var(--vf-muted); font-size: 17px; line-height: 1.55; }
.vf-about-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 12px 0 0; padding: 28px 0 30px; border-top: 1px solid var(--vf-line); border-bottom: 1px solid var(--vf-line); }
.vf-about-stats article { display: grid; gap: 8px; }
.vf-about-stats strong { color: var(--vf-green); font-size: clamp(32px, 3.5vw, 46px); font-weight: 500; line-height: 1; letter-spacing: -.04em; }
.vf-about-stats span { max-width: 210px; color: var(--vf-muted); font-size: 14px; line-height: 1.35; }
.vf-about-clients { margin-top: 64px; }
.vf-about-clients__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.vf-about-clients__heading h2 { margin: 0; color: var(--vf-green); font-size: clamp(28px, 3vw, 40px); line-height: 1.08; }
.vf-about-clients__arrows { display: flex; gap: 12px; }
.vf-about-clients__arrows span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--vf-line); border-radius: 50%; color: var(--vf-muted); background: #fff; box-shadow: 0 8px 20px rgba(18,61,53,.06); }
.vf-about-clients__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.vf-about-client { display: flex; min-height: 190px; flex-direction: column; justify-content: space-between; padding: 22px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-about-client__mark { display: grid; width: 100%; height: 88px; place-items: center; margin-bottom: 22px; border-radius: 14px; color: var(--vf-mint); background: linear-gradient(135deg, #eef8f1, #dff1e5); font-size: 38px; }
.vf-about-client h3 { margin: 0 0 6px; color: var(--vf-green); font-size: 18px; }
.vf-about-client p { margin: 0; color: var(--vf-muted); font-size: 14px; line-height: 1.35; }
.vf-about-certificates { margin-top: 72px; }
.vf-about-certificates__heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.vf-about-certificates__heading h2 { margin: 0; color: var(--vf-green); font-size: clamp(28px, 3vw, 40px); }
.vf-about-certificates__actions { display: flex; align-items: center; gap: 22px; }
.vf-about-certificates__all { padding: 11px 24px; border: 1px solid #14a94b; border-radius: 8px; color: #119a45; font-size: 15px; }
.vf-about-certificates__tabs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.vf-about-certificates__tabs span { padding: 10px 22px; border-radius: 24px; color: var(--vf-muted); font-size: 15px; }
.vf-about-certificates__tabs .is-active { color: #fff; background: #10b94e; }
.vf-about-certificates__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.vf-about-certificate h3 { margin: 10px 0 4px; color: var(--vf-green); font-size: 17px; }
.vf-about-certificate p { margin: 0; color: var(--vf-muted); font-size: 13px; line-height: 1.35; }
.vf-about-certificate__preview { display: grid; min-height: 205px; place-items: center; align-content: center; gap: 14px; border: 1px solid var(--vf-line); border-radius: 16px; color: var(--vf-mint); background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-about-certificate__preview i { font-size: 54px; }
.vf-about-certificate__preview span { font-size: 28px; font-weight: 700; }
.vf-about-history__media { margin: 0; overflow: hidden; border-radius: 18px; background: #e8eee9; box-shadow: 0 16px 38px rgba(18,61,53,.1); }
.vf-about-history__media img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.vf-about-directions { padding-top: 64px; }
.vf-about-directions .vf-section__heading, .vf-about-principles .vf-section__heading { margin-bottom: 22px; }
.vf-about-directions__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.vf-about-directions__grid article { min-height: 190px; padding: 26px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-about-directions__grid article > i { display: grid; width: 48px; height: 48px; place-items: center; margin-bottom: 20px; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-about-directions__grid h3, .vf-about-principles__grid h3 { margin: 0 0 9px; color: var(--vf-green); font-size: 19px; }
.vf-about-directions__grid p, .vf-about-principles__grid p { margin: 0; color: var(--vf-muted); font-size: 14px; }
.vf-about-process { display: grid; grid-template-columns: minmax(220px, .68fr) minmax(0, 1.32fr); gap: 36px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--vf-green), #1b594d); }
.vf-about-process h2, .vf-about-cta h2 { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-about-process__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.vf-about-process__grid article { padding: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 16px; background: rgba(255,255,255,.08); }
.vf-about-process__grid article > span { display: inline-block; margin-bottom: 28px; color: var(--vf-lime); font-weight: 800; }
.vf-about-process__grid h3 { margin: 0 0 7px; color: #fff; font-size: 18px; }
.vf-about-process__grid p { margin: 0; color: #d7ebe5; font-size: 14px; }
.vf-about-principles { padding-top: 64px; }
.vf-about-principles__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.vf-about-principles__grid article { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-about-principles__grid article > i { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-about-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #1b594d, #236454); }
@media (max-width: 900px) {
  .vf-about-hero { grid-template-columns: 1fr; }
  .vf-about-hero__visual { min-height: 260px; }
  .vf-about-history { grid-template-columns: 1fr; gap: 28px; }
  .vf-about-history__copy { padding-left: 0; }
  .vf-about-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
  .vf-about-clients__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vf-about-certificates__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vf-about-directions__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-about-process { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .vf-about-page { padding-bottom: 48px; }
  .vf-about-hero { min-height: 0; border-radius: 18px; }
  .vf-about-hero__copy { padding: 38px 26px 32px; }
  .vf-about-hero__visual { min-height: 220px; }
  .vf-about-hero__visual i { font-size: 64px; }
  .vf-about-hero__ring--one { width: 190px; height: 190px; }
  .vf-about-hero__ring--two { width: 330px; height: 330px; }
  .vf-about-directions, .vf-about-principles { padding-top: 44px; }
  .vf-about-history { gap: 22px; margin-top: 44px; padding: 0; }
  .vf-about-stats { gap: 20px 16px; margin-top: 0; padding: 22px 0; }
  .vf-about-clients { margin-top: 44px; }
  .vf-about-clients__heading { align-items: flex-start; }
  .vf-about-clients__arrows { display: none; }
  .vf-about-clients__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-about-client { min-height: 160px; padding: 18px; }
  .vf-about-client__mark { height: 72px; margin-bottom: 16px; }
  .vf-about-certificates { margin-top: 48px; }
  .vf-about-certificates__heading { align-items: flex-start; }
  .vf-about-certificates__actions { display: none; }
  .vf-about-certificates__tabs { flex-wrap: nowrap; gap: 4px; overflow-x: auto; }
  .vf-about-certificates__tabs span { flex: 0 0 auto; padding: 8px 14px; font-size: 13px; }
  .vf-about-certificates__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .vf-about-certificate__preview { min-height: 150px; }
  .vf-about-history__copy h2 { font-size: 30px; }
  .vf-about-directions__grid, .vf-about-principles__grid, .vf-about-process__grid { grid-template-columns: 1fr; }
  .vf-about-process { gap: 24px; margin-top: 44px; padding: 28px 22px; }
  .vf-about-cta { align-items: flex-start; flex-direction: column; margin-top: 44px; padding: 28px 22px; }
}

/* Branded contacts page: keep presentation scoped and leave form behavior to common.js. */
.vf-contact-page { padding-bottom: 72px; }
.vf-contact-page__breadcrumb { margin-bottom: 24px; }
.vf-contact-hero { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); min-height: 390px; overflow: hidden; border-radius: 22px; background: var(--vf-green); }
.vf-contact-hero__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 56px; }
.vf-contact-hero h1 { max-width: 620px; margin: 0 0 18px; color: #fff; font-size: clamp(42px, 5.4vw, 70px); line-height: .98; }
.vf-contact-hero__copy > p:not(.vf-eyebrow) { max-width: 560px; margin: 0 0 28px; color: #d7ebe5; font-size: 18px; line-height: 1.5; }
.vf-contact-hero__visual { position: relative; display: grid; min-height: 390px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 45%, rgba(200,232,107,.2), transparent 22%), linear-gradient(145deg, #32755d, #123d35); }
.vf-contact-hero__visual i { position: relative; z-index: 1; color: var(--vf-lime); font-size: 82px; filter: drop-shadow(0 12px 18px rgba(0,0,0,.14)); }
.vf-contact-hero__orb { position: absolute; display: block; border: 1px solid rgba(200,232,107,.28); border-radius: 50%; }
.vf-contact-hero__orb--one { width: 250px; height: 250px; box-shadow: 0 0 0 34px rgba(200,232,107,.05), 0 0 0 70px rgba(200,232,107,.035); }
.vf-contact-hero__orb--two { width: 470px; height: 470px; border-color: rgba(255,255,255,.12); }
.vf-contact-channels { margin-top: 64px; }
.vf-contact-channels .vf-section__heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; margin-bottom: 24px; }
.vf-contact-channels h2, .vf-contact-office h2, .vf-contact-locations h2, .vf-contact-form-section h2 { margin: 0; color: var(--vf-green); font-size: clamp(28px, 3vw, 42px); line-height: 1.08; }
.vf-contact-channels .vf-section__heading > p { max-width: 420px; margin: 0; color: var(--vf-muted); line-height: 1.5; }
.vf-contact-channels__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.vf-contact-channel { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; min-height: 150px; padding: 24px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-contact-channel > i { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 14px; color: var(--vf-mint); background: #e6f6ef; font-size: 20px; }
.vf-contact-channel span { display: block; margin-bottom: 9px; color: var(--vf-muted); font-size: 13px; }
.vf-contact-channel a, .vf-contact-channel address { display: block; margin: 0; color: var(--vf-green); font-size: 20px; font-style: normal; font-weight: 650; line-height: 1.3; text-decoration: none; }
.vf-contact-channel p { margin: 0; color: var(--vf-green); font-size: 16px; line-height: 1.4; }
.vf-contact-office { margin-top: 64px; }
.vf-contact-office__card { display: grid; grid-template-columns: .72fr 1.28fr; gap: 36px; padding: 38px 44px; border-radius: 22px; background: #eef7ef; }
.vf-contact-office__heading h2 { max-width: 320px; }
.vf-contact-office__details { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.vf-contact-office__details > div { color: var(--vf-muted); line-height: 1.5; }
.vf-contact-office__details span { display: block; margin-bottom: 8px; color: var(--vf-green); font-size: 21px; font-weight: 700; }
.vf-contact-office__details address { margin: 0 0 18px; font-style: normal; }
.vf-contact-office__details strong { color: var(--vf-green); }
.vf-contact-office__details p { margin: 4px 0 0; }
.vf-contact-office__map { grid-column: 1 / -1; display: grid; min-height: 190px; place-items: center; margin-top: 8px; padding: 28px; border: 1px dashed rgba(18,61,53,.28); border-radius: 16px; color: var(--vf-muted); background: linear-gradient(135deg, rgba(255,255,255,.78), rgba(224,241,229,.78)); text-align: center; }
.vf-contact-office__map span { max-width: 420px; font-size: 14px; line-height: 1.5; }
.vf-contact-locations { margin-top: 64px; }
.vf-contact-locations__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 22px; }
.vf-contact-location { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; min-height: 190px; padding: 26px; border: 1px solid var(--vf-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.05); }
.vf-contact-location h3 { margin: 0 0 12px; color: var(--vf-green); font-size: 21px; }
.vf-contact-location address, .vf-contact-location p { margin: 0 0 12px; color: var(--vf-muted); font-style: normal; line-height: 1.5; }
.vf-contact-location a { color: var(--vf-green); font-weight: 650; text-decoration: none; }
.vf-contact-location__map { flex: 0 0 auto; color: var(--vf-mint) !important; font-size: 13px; }
.vf-contact-locations--empty { padding: 32px; border: 1px dashed var(--vf-line); border-radius: 18px; background: #fbfdfb; }
.vf-contact-locations--empty h2 { margin-bottom: 12px; }
.vf-contact-locations--empty > p:last-child { max-width: 540px; margin: 0; color: var(--vf-muted); line-height: 1.5; }
.vf-contact-form-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 48px; margin-top: 64px; padding: 42px 44px; border-radius: 22px; background: #f4f8f4; }
.vf-contact-form-section__intro h2 { margin-bottom: 16px; }
.vf-contact-form-section__intro > p:last-child { max-width: 360px; margin: 0; color: var(--vf-muted); line-height: 1.5; }
.vf-contact-form { padding: 26px; border-radius: 18px; background: #fff; box-shadow: 0 12px 28px rgba(18,61,53,.06); }
.vf-contact-form fieldset { min-width: 0; padding: 0; margin: 0; border: 0; }
.vf-contact-form__field { margin-bottom: 16px; }
.vf-contact-form__field label { display: block; margin-bottom: 7px; color: var(--vf-green); font-size: 14px; font-weight: 650; }
.vf-contact-form__field .form-control { min-height: 46px; border-color: var(--vf-line); border-radius: 10px; }
.vf-contact-form__field textarea.form-control { min-height: 140px; resize: vertical; }
.vf-contact-form__note { margin: 0 0 18px; color: var(--vf-muted); font-size: 13px; line-height: 1.45; }
.vf-contact-form .vf-button { border: 0; }
.vf-contact-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 64px; padding: 38px 44px; border-radius: 22px; background: linear-gradient(135deg, #1b594d, #236454); }
.vf-contact-cta h2 { max-width: 650px; margin: 0 0 12px; color: #fff; font-size: clamp(26px, 3vw, 38px); line-height: 1.08; }
.vf-contact-cta p:not(.vf-eyebrow) { max-width: 560px; margin: 0; color: #d7ebe5; line-height: 1.5; }
@media (max-width: 900px) {
  .vf-contact-hero, .vf-contact-form-section, .vf-contact-office__card { grid-template-columns: 1fr; }
  .vf-contact-hero__visual { min-height: 260px; }
  .vf-contact-channels__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .vf-contact-page { padding-bottom: 48px; }
  .vf-contact-hero { min-height: 0; border-radius: 18px; }
  .vf-contact-hero__copy { padding: 38px 26px 32px; }
  .vf-contact-hero__visual { min-height: 220px; }
  .vf-contact-hero__visual i { font-size: 64px; }
  .vf-contact-hero__orb--one { width: 190px; height: 190px; }
  .vf-contact-hero__orb--two { width: 330px; height: 330px; }
  .vf-contact-channels, .vf-contact-office, .vf-contact-locations, .vf-contact-form-section, .vf-contact-cta { margin-top: 44px; }
  .vf-contact-channels .vf-section__heading { align-items: flex-start; flex-direction: column; gap: 12px; }
  .vf-contact-channels__grid, .vf-contact-locations__grid { grid-template-columns: 1fr; }
  .vf-contact-office__card, .vf-contact-form-section, .vf-contact-cta { padding: 28px 22px; }
  .vf-contact-office__details, .vf-contact-cta { align-items: flex-start; flex-direction: column; }
  .vf-contact-location { min-height: 0; padding: 22px; }
  .vf-contact-form { padding: 20px; }
}
