/* Homepage sections share the storefront palette and remain independent in the editor. */
body.viloer-home-page{margin:0;background:#fff;min-width:280px}
body.viloer-home-page #content.site-main{width:100%;max-width:none;padding:0;margin:0}
body.viloer-home-page #content>.page-content{padding:0;margin:0}
body.viloer-home-page #content .elementor-widget{margin-bottom:0}
:is(.elementor-widget-vl-home-hero,.elementor-widget-vl-home-collection,.elementor-widget-vl-home-story,.elementor-widget-vl-home-help){container-type:inline-size;container-name:viloer-home;min-width:0;width:100%;max-width:100%}
.vl-storefront.vl-home{--home-white:#fff;--home-surface:#f5f7f6;--home-radius:28px;position:relative;isolation:isolate;font-family:inherit;width:100%;min-width:0;padding:0;background:var(--home-white);color:var(--ink)}
.vl-home .vl-home-inner{width:100%;max-width:1380px;margin-inline:auto}
.vl-home .vl-home-heading{margin:0 0 20px;font-size:clamp(32px,3.35vw,54px);line-height:1.04;letter-spacing:-.055em;font-weight:650;color:var(--ink);text-wrap:balance}
.vl-home .vl-home-description{margin:0;color:var(--muted);font-size:clamp(16px,1.35vw,21px);line-height:1.4;letter-spacing:-.025em;font-weight:400}
.vl-home .vl-home-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:24px}
.vl-home .vl-home-button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:50px;max-width:100%;padding:13px 25px;border:1px solid transparent;border-radius:999px;background:var(--forest);color:#fff;font-family:inherit;font-size:16px;font-weight:550;line-height:1.25;letter-spacing:-.025em;text-decoration:none;overflow-wrap:anywhere;transition:background .2s ease,color .2s ease,transform .2s ease}
.vl-home .vl-home-button span{min-width:0}
.vl-home .vl-home-button svg{width:21px;height:21px;flex:none;transition:transform .2s ease}
.vl-home .vl-home-button:hover,.vl-home .vl-home-button:focus-visible{background:color-mix(in srgb,var(--forest),#000 12%)!important;color:#fff!important}
.vl-home .vl-home-button:active{transform:scale(.98)!important}
.vl-home .vl-home-button:hover svg{transform:translateX(3px)!important}
.vl-home .vl-home-button--text{padding:11px 0;border:0;border-radius:0;background:transparent;color:var(--forest);font-weight:550}
.vl-home .vl-home-button--text:hover,.vl-home .vl-home-button--text:focus-visible{background:transparent!important;color:var(--forest)!important;text-decoration:underline!important;text-underline-offset:5px}
.vl-home .vl-home-media{position:relative;width:100%;height:100%;overflow:hidden}
.vl-home .vl-home-media picture,.vl-home .vl-home-media img,.vl-home .vl-home-media video{display:block;width:100%;height:100%}
.vl-home .vl-home-media img,.vl-home .vl-home-media video{object-fit:cover;object-position:center;max-width:none}
.vl-home .vl-home-media video{position:absolute;inset:0;background:var(--home-surface)}
.vl-home .vl-home-media--video.is-playing>picture{visibility:hidden}
.vl-home .vl-home-play{position:absolute;z-index:3;right:24px;bottom:24px;width:52px;height:52px;min-width:44px;min-height:44px;display:grid;place-items:center;border:1px solid #fff8;border-radius:50%;background:#ffffffdc;color:var(--ink);box-shadow:0 4px 20px #143a2812;cursor:pointer}
.vl-home .vl-home-play svg{width:23px;height:23px;margin-left:2px}
.vl-home .vl-home-play:hover,.vl-home .vl-home-play:focus-visible{background:#fff!important;color:var(--forest)!important;transform:scale(1.04)!important}
.vl-home .vl-home-video-error{position:absolute;z-index:4;bottom:12px;left:12px;right:88px;margin:0;padding:10px 14px;border-radius:12px;background:#fff;color:var(--ink);font-size:14px;line-height:1.4}
.vl-home-editor-note{padding:24px!important;border:1px dashed #aac1b6;border-radius:16px;color:#194f3d;font:14px/1.5 sans-serif;background:#f1f8f4}
.vl-home.vl-home-hero{min-height:clamp(660px,64vw,960px);background:var(--mint);overflow:hidden}
.vl-home-hero>.vl-home-media{position:absolute;z-index:-1;inset:0}
.vl-home .vl-home-hero-content{position:relative;z-index:1;max-width:1000px;width:calc(100% - 48px);padding-top:142px;padding-bottom:32px;text-align:center;margin-inline:auto;pointer-events:none}
.vl-home-hero .vl-home-heading{font-size:clamp(44px,5.3vw,84px);line-height:.98;letter-spacing:-.06em;margin-bottom:20px;font-weight:650}
.vl-home-hero .vl-home-description{font-size:clamp(17px,1.65vw,26px);line-height:1.3}
.vl-home-hero .vl-home-actions{justify-content:center;margin-top:22px}
.vl-home-hero .vl-home-actions a{pointer-events:auto}
.vl-home.vl-home-collection{position:relative;z-index:2;margin-top:-30px;padding:56px 50px 26px;border-radius:38px 38px 0 0;background:#fff}
.vl-home-collection .vl-home-heading{text-align:center;font-size:clamp(30px,3.15vw,50px);margin-bottom:0}
.vl-home-collection .vl-home-description{text-align:center;margin-top:16px;max-width:700px;margin-inline:auto}
.vl-home .vl-home-products{display:grid;grid-template-columns:repeat(var(--vl-home-columns,var(--vl-home-default-columns,3)),minmax(0,1fr));gap:20px;margin-top:28px;align-items:stretch}
.vl-home .vl-home-product{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#fff;color:var(--ink);text-decoration:none;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease}
.vl-home .vl-home-product:hover,.vl-home .vl-home-product:focus-visible{color:var(--ink)!important;border-color:#b7c9bf!important;box-shadow:0 12px 28px #123e2b0a!important;transform:translateY(-3px)!important}
.vl-home .vl-home-product-image{width:100%;aspect-ratio:1.15;background:var(--mint);overflow:hidden}
.vl-home .vl-home-product-image picture,.vl-home .vl-home-product-image img{display:block;width:100%;height:100%}
.vl-home .vl-home-product-image img{object-fit:cover;transition:transform .5s cubic-bezier(.22,1,.36,1)}
.vl-home .vl-home-product:hover .vl-home-product-image img{transform:scale(1.025)!important}
.vl-home .vl-home-product-body{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-width:0;padding:24px 20px 23px;text-align:center}
.vl-home .vl-home-product h3{margin:0;font-size:22px;line-height:1.15;letter-spacing:-.04em;font-weight:600;color:var(--ink);text-wrap:balance}
.vl-home .vl-home-product-description{margin:12px 0 0;font-size:16px;line-height:1.4;color:var(--muted)}
.vl-home .vl-home-product-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;color:var(--forest);font-size:16px;font-weight:500;line-height:1.3}
.vl-home .vl-home-product-cta svg{width:21px;height:21px;flex:none}
.vl-home .vl-home-product-price{font-size:16px;line-height:1.35;margin-top:12px;color:var(--forest)}
.vl-home .vl-home-product-price del{font-size:.9em;opacity:.65;margin-right:5px}
.vl-home .vl-home-product-price ins{text-decoration:none}
.vl-home .vl-home-products:has(>.vl-home-product:only-child){grid-template-columns:minmax(0,1fr);max-width:430px;margin-inline:auto}
.vl-home .vl-home-product:only-child{display:flex;flex-direction:column}
.vl-home .vl-home-product:only-child .vl-home-product-image{aspect-ratio:1.15}
.vl-home.vl-home-collection--catalog{margin-top:0;border-radius:0;padding-top:52px;padding-bottom:70px}
.vl-home.vl-home-catalog-empty{padding:70px 24px;text-align:center}
.vl-home.vl-home-story{padding:0 50px 20px}
.vl-home .vl-home-story-panel{display:grid;grid-template-columns:var(--vl-home-story-media-width,50%) minmax(0,1fr);min-height:340px;overflow:hidden;border-radius:28px;background:var(--home-surface)}
.vl-home .vl-home-story-media{min-width:0;min-height:100%;position:relative;overflow:hidden}
.vl-home .vl-home-story-copy{align-self:center;min-width:0;padding:44px 54px}
.vl-home-story .vl-home-heading{font-size:clamp(32px,3.4vw,55px);line-height:1.02;margin-bottom:20px}
.vl-home-story .vl-home-description{font-size:19px;max-width:520px}
.vl-home-story .vl-home-actions{gap:20px;margin-top:19px}
.vl-home-story--image-right .vl-home-story-media{order:2}
.vl-home-story--image-right .vl-home-story-copy{order:1}
.vl-home-story--image-right .vl-home-story-panel{grid-template-columns:minmax(0,1fr) var(--vl-home-story-media-width,50%)}
.vl-home .vl-home-story--lifestyle{padding-top:0}
.vl-home-story--lifestyle .vl-home-story-panel{position:relative;display:grid;grid-template-columns:1fr;align-content:center;align-items:start;min-height:380px;background:var(--mint)}
.vl-home-story--lifestyle .vl-home-story-media{position:absolute;inset:0;width:100%;height:100%;order:initial;z-index:0}
.vl-home-story--lifestyle .vl-home-story-media img{object-position:50% 0%}
.vl-home-story--lifestyle .vl-home-story-copy{position:relative;z-index:1;width:100%;max-width:53%;padding:55px 44px 0;order:initial}
.vl-home-story--lifestyle .vl-home-story-actions{position:relative;z-index:1;width:100%;max-width:53%;padding:0 44px 55px;align-self:start}
.vl-home-story--lifestyle .vl-home-heading{font-size:clamp(32px,3vw,50px)}
.vl-home-story--lifestyle .vl-home-description{max-width:480px}
.vl-home.vl-home-help{padding:0 50px 25px}
.vl-home .vl-home-help-panel{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px;padding:38px 44px;border-radius:28px;background:var(--home-surface)}
.vl-home-help .vl-home-heading{font-size:30px;line-height:1.1;max-width:520px;margin-bottom:12px;letter-spacing:-.04em}
.vl-home-help .vl-home-description{font-size:17px;max-width:500px}
.vl-home .vl-home-help-links{display:flex;flex-wrap:wrap;gap:24px;justify-content:flex-end;align-items:center;min-width:0}
.vl-home .vl-home-help-link{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;max-width:100%;padding:8px 0;text-decoration:none;color:var(--forest);font-size:16px;line-height:1.35}
.vl-home .vl-home-help-link strong{font-weight:550}
.vl-home .vl-home-help-link small{display:block;margin-top:5px;font-size:14px;line-height:1.35;color:var(--muted)}
.vl-home .vl-home-help-link svg{width:22px;height:22px;flex:none;transition:transform .2s ease}
.vl-home .vl-home-help-link:hover,.vl-home .vl-home-help-link:focus-visible{color:var(--forest)!important;text-decoration:underline!important;text-underline-offset:5px}
.vl-home .vl-home-help-link:hover svg{transform:translateX(3px)!important}

@container viloer-home (min-width:700px) and (max-width:1000px){
    .vl-home.vl-home-hero{min-height:720px}
    .vl-home .vl-home-hero-content{padding-top:130px}
    .vl-home-hero .vl-home-heading{font-size:60px}
    .vl-home.vl-home-collection{padding:46px 32px 24px}
    .vl-home .vl-home-products{gap:14px}
    .vl-home .vl-home-product-body{padding:22px 14px}
    .vl-home .vl-home-product h3{font-size:20px}
    .vl-home.vl-home-story,.vl-home.vl-home-help{padding-inline:32px}
    .vl-home .vl-home-story-panel{min-height:300px}
    .vl-home .vl-home-story-copy{padding:30px}
    .vl-home-story .vl-home-heading{font-size:36px}
    .vl-home-story .vl-home-description{font-size:17px}
    .vl-home-story--lifestyle .vl-home-story-copy{max-width:55%;padding-bottom:0}
    .vl-home-story--lifestyle .vl-home-story-actions{max-width:55%;padding-inline:30px;padding-bottom:30px}
    .vl-home-story--lifestyle .vl-home-heading{font-size:34px}
    .vl-home .vl-home-help-panel{padding:30px;gap:25px}
    .vl-home-help .vl-home-heading{font-size:27px}
    .vl-home .vl-home-help-links{gap:8px 20px}
}
@container viloer-home (max-width:699px){
    .vl-home.vl-home-hero{min-height:650px}
    .vl-home .vl-home-hero-content{width:calc(100% - 40px);max-width:460px;padding-top:118px;padding-bottom:25px}
    .vl-home-hero .vl-home-heading{font-size:clamp(37px,10.2cqi,58px);line-height:.98;letter-spacing:-.055em;margin-bottom:19px}
    .vl-home-hero .vl-home-description{max-width:310px;margin-inline:auto;font-size:18px;line-height:1.3}
    .vl-home-hero .vl-home-actions{margin-top:20px}
    .vl-home .vl-home-button{min-height:48px;padding:12px 22px;font-size:15px}
    .vl-home .vl-home-button--text{padding:10px 0}
    .vl-home .vl-home-button svg{width:20px;height:20px}
    .vl-home.vl-home-collection{margin-top:-24px;padding:35px 20px 20px;border-radius:28px 28px 0 0}
    .vl-home-collection .vl-home-heading{font-size:29px;line-height:1.04;letter-spacing:-.05em}
    .vl-home-collection .vl-home-description{font-size:16px;line-height:1.45;margin-top:14px}
    .vl-home .vl-home-products{--vl-home-columns:1;gap:12px;margin-top:24px}
    .vl-home .vl-home-product,.vl-home .vl-home-product:only-child{display:grid;grid-template-columns:48% minmax(0,1fr);border-radius:17px;border:0;background:var(--home-surface);min-height:150px}
    .vl-home .vl-home-product-image,.vl-home .vl-home-product:only-child .vl-home-product-image{aspect-ratio:auto;min-height:150px;height:100%}
    .vl-home .vl-home-product-image img{min-height:150px}
    .vl-home .vl-home-product-body,.vl-home .vl-home-product:only-child .vl-home-product-body{padding:22px 18px;align-items:flex-start;text-align:left}
    .vl-home .vl-home-product h3{font-size:19px;line-height:1.1;letter-spacing:-.04em;text-wrap:initial}
    .vl-home .vl-home-product-description{font-size:14px;line-height:1.35;margin-top:9px}
    .vl-home .vl-home-product-cta{font-size:14px;gap:7px;margin-top:13px}
    .vl-home .vl-home-product-cta svg{width:19px;height:19px}
    .vl-home .vl-home-product-price{font-size:14px;margin-top:8px}
    .vl-home .vl-home-product--text{grid-template-columns:1fr}
    .vl-home.vl-home-story{padding:0 20px 16px}
    .vl-home .vl-home-story-panel{min-height:220px;border-radius:18px}
    .vl-home-story--detail .vl-home-story-panel{grid-template-columns:40% minmax(0,1fr)}
    .vl-home .vl-home-story-media{order:initial}
    .vl-home .vl-home-story-copy{order:initial;padding:26px 20px}
    .vl-home-story .vl-home-heading{font-size:28px;line-height:1.03;letter-spacing:-.05em;margin-bottom:12px}
    .vl-home-story .vl-home-description{font-size:14px;line-height:1.4}
    .vl-home-story .vl-home-actions{gap:8px 18px;margin-top:12px}
    .vl-home-story .vl-home-button--text{font-size:14px;gap:7px}
    .vl-home-story--lifestyle .vl-home-story-panel{position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:auto minmax(200px,1fr) auto;align-content:stretch;align-items:start;overflow:hidden;min-height:580px;background:var(--mint)}
    .vl-home-story--lifestyle .vl-home-story-media{position:absolute;inset:0;width:100%;height:100%;min-height:0;order:initial}
    .vl-home-story--lifestyle .vl-home-story-media img{object-position:65% 50%}
    .vl-home-story--lifestyle .vl-home-story-copy{position:relative;max-width:48%;width:100%;padding:28px 0 0 22px;order:initial;grid-row:1}
    .vl-home-story--lifestyle .vl-home-heading{font-size:30px;margin-bottom:12px}
    .vl-home-story--lifestyle .vl-home-description{font-size:14px;line-height:1.4;max-width:190px;color:var(--ink)}
    .vl-home-story--lifestyle .vl-home-story-actions{order:initial;grid-row:3;max-width:100%;width:100%;padding:18px 22px 24px;margin-top:0;gap:4px 16px;display:grid;grid-template-columns:1fr;justify-items:stretch;align-self:end}
    .vl-home-story--lifestyle .vl-home-story-actions .vl-home-button--text{justify-self:start}
    .vl-home-story--lifestyle .vl-home-button--text{font-size:15px}
    .vl-home .vl-home-play{right:16px;bottom:16px;width:46px;height:46px}
    .vl-home.vl-home-help{padding:0 20px 20px}
    .vl-home .vl-home-help-panel{grid-template-columns:1fr;gap:18px;padding:28px 24px;border-radius:18px}
    .vl-home-help .vl-home-heading{font-size:27px;line-height:1.1;margin-bottom:12px}
    .vl-home-help .vl-home-description{font-size:15px;line-height:1.45}
    .vl-home .vl-home-help-links{justify-content:flex-start;gap:4px 22px}
    .vl-home .vl-home-help-link{font-size:15px;gap:10px}
}
@container viloer-home (min-width:500px) and (max-width:699px){
    .vl-home.vl-home-hero{min-height:760px}
    .vl-home .vl-home-hero-content{width:calc(100% - 48px);max-width:560px}
    .vl-home-hero .vl-home-heading{font-size:clamp(42px,8.3cqi,54px)}
}
@container viloer-home (max-width:359px){
    .vl-home.vl-home-hero{min-height:590px}
    .vl-home .vl-home-hero-content{width:calc(100% - 30px);padding-top:108px}
    .vl-home-hero .vl-home-heading{font-size:36px}
    .vl-home-hero .vl-home-description{font-size:16px;max-width:260px}
    .vl-home.vl-home-collection{padding:30px 15px 16px}
    .vl-home-collection .vl-home-heading{font-size:26px}
    .vl-home .vl-home-product,.vl-home .vl-home-product:only-child{grid-template-columns:43% minmax(0,1fr);min-height:142px}
    .vl-home .vl-home-product--text,.vl-home .vl-home-product--text:only-child{grid-template-columns:1fr}
    .vl-home .vl-home-product-body,.vl-home .vl-home-product:only-child .vl-home-product-body{padding:18px 14px}
    .vl-home .vl-home-product h3{font-size:18px}
    .vl-home.vl-home-story,.vl-home.vl-home-help{padding-inline:15px}
    .vl-home-story--detail .vl-home-story-panel{grid-template-columns:36% minmax(0,1fr)}
    .vl-home .vl-home-story-copy{padding:22px 16px}
    .vl-home-story .vl-home-heading{font-size:25px}
    .vl-home-story .vl-home-description{font-size:14px}
    .vl-home-story--lifestyle .vl-home-story-copy{padding:24px 0 0 18px;max-width:48%}
    .vl-home-story--lifestyle .vl-home-story-actions{padding-inline:18px}
    .vl-home-story--lifestyle .vl-home-story-panel{min-height:530px}
    .vl-home-story--lifestyle .vl-home-heading{font-size:25px}
    .vl-home-story--lifestyle .vl-home-description{font-size:13px}
    .vl-home .vl-home-help-panel{padding:25px 20px}
}
@media (prefers-reduced-motion:reduce){.vl-home *,.vl-home *::before,.vl-home *::after{animation:none!important;transition:none!important}.vl-home .vl-home-product:hover,.vl-home .vl-home-product:hover .vl-home-product-image img{transform:none!important}}
