/* MIKROVÍZ+21 onepage – styles for the Elementor page (body.mv21-page).
   Colours follow the MIKROVÍZ+21 brand manual v0.3 (digital palette, p.7). */

body.mv21-page{
  --mv-green:#5C9939; --mv-deep-green:#305D26; --mv-blue:#078DCD; --mv-deep-blue:#075C89;
  --mv-ink:#172329; --mv-base:#F6F7F2; --mv-earth:#C49A63; --mv-muted:#5b666b;
  --mv-dark:#14251b; --mv-line:#e3e6dc; --mv-tint-green:#eaf2e2; --mv-tint-blue:#e3f2fa; --mv-tint-earth:#f4ead9;
  --mv-sky:#5fc0ee; --mv-leaf:#9fd07a; --mv-radius:22px; --mv-header-h:88px;
  /* override the Elementor kit's global fonts/colours on this page */
  --e-global-typography-primary-font-family:'Google Sans'; --e-global-typography-secondary-font-family:'Google Sans';
  --e-global-typography-text-font-family:'Google Sans'; --e-global-typography-accent-font-family:'Google Sans';
  --e-global-color-accent:var(--mv-green); --e-global-color-primary:var(--mv-ink); --e-global-color-text:var(--mv-ink);
  font-family:'Google Sans',system-ui,sans-serif; color:var(--mv-ink); background:#fff;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
html:has(body.mv21-page){scroll-behavior:smooth; scroll-padding-top:calc(var(--mv-header-h) + 10px)}
body.mv21-page *,body.mv21-page *:before,body.mv21-page *:after{box-sizing:border-box}

/* ---- neutralise Elementor container defaults inside our page ---- */
body.mv21-page :where(.elementor .e-con){padding:0; gap:0; margin:0; --padding-top:0; --padding-right:0; --padding-bottom:0; --padding-left:0; --gap:0; --row-gap:0; --column-gap:0; min-height:0; flex-wrap:nowrap}
body.mv21-page :where(.elementor .elementor-widget){margin:0; width:100%}
body.mv21-page :where(.elementor .elementor-widget-container){margin:0; padding:0}
body.mv21-page :where(.elementor p){margin:0 0 .6em; color:var(--mv-muted)}
body.mv21-page :where(.elementor p:last-child){margin-bottom:0}
body.mv21-page :where(.elementor img){max-width:100%; height:auto; display:block; border:0}
body.mv21-page :where(.elementor) .elementor-heading-title{font-family:'Google Sans',sans-serif; font-weight:700; line-height:1.12; letter-spacing:-.01em; color:var(--mv-ink); margin:0; padding:0}
body.mv21-page a{color:inherit}

body.mv21-page .mv-wrap{width:100%; max-width:1200px; margin-left:auto; margin-right:auto}
body.mv21-page .mv-grid-2{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:70px}
body.mv21-page .mv-grid-3{display:grid; grid-template-columns:repeat(3,1fr)}
body.mv21-page .mv-col{display:flex; flex-direction:column}
body.mv21-page .mv-sec{padding:120px 20px}
body.mv21-page .mv-sec-s{padding:70px 20px}
body.mv21-page .mv-pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.05' stroke-width='1.2'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3E%3Cpath d='M-40 20a40 40 0 0 1 80 0M40 20a40 40 0 0 1 80 0'/%3E%3C/g%3E%3C/svg%3E")}
body.mv21-page .mv-pattern-light{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='40' viewBox='0 0 80 40'%3E%3Cg fill='none' stroke='%23305D26' stroke-opacity='.06' stroke-width='1.2'%3E%3Cpath d='M0 40a40 40 0 0 1 80 0M10 40a30 30 0 0 1 60 0M20 40a20 20 0 0 1 40 0M30 40a10 10 0 0 1 20 0'/%3E%3C/g%3E%3C/svg%3E")}

/* ---- type ---- */
body.mv21-page .mv-eyebrow .elementor-heading-title{display:inline-flex; align-items:center; gap:10px; font-weight:600; font-size:15px; line-height:1.4; color:var(--mv-green); text-transform:uppercase; letter-spacing:.08em; margin-bottom:18px}
body.mv21-page .mv-eyebrow .elementor-heading-title:before{content:""; width:28px; height:2px; background:currentColor; flex:none}
body.mv21-page .mv-eb-light .elementor-heading-title{color:var(--mv-leaf)}
body.mv21-page .mv-eb-blue .elementor-heading-title{color:var(--mv-sky)}
body.mv21-page .mv-eb-white .elementor-heading-title{color:#e6f3da}
body.mv21-page .mv-eb-earth .elementor-heading-title{color:#a57a42}
body.mv21-page .mv-eb-deepblue .elementor-heading-title{color:var(--mv-deep-blue)}
body.mv21-page .mv-h1 .elementor-heading-title{font-size:66px; line-height:1.06; color:#fff; margin-bottom:26px}
body.mv21-page .mv-h1 em{font-style:normal; color:var(--mv-sky)}
body.mv21-page .mv-h2 .elementor-heading-title{font-size:48px; margin-bottom:22px}
body.mv21-page .mv-h2-sm .elementor-heading-title{font-size:38px}
body.mv21-page .mv-light .elementor-heading-title{color:#fff}
body.mv21-page .mv-h3 .elementor-heading-title{font-size:22px; line-height:1.25; margin-bottom:10px}
body.mv21-page .mv-h3-lg .elementor-heading-title{font-size:28px}
body.mv21-page .mv-lead p{font-size:18px}
body.mv21-page .mv-small p{font-size:15px}
body.mv21-page .mv-fine p{font-size:14px}
body.mv21-page .mv-light-p p{color:#b9c9bd; font-size:18px}
body.mv21-page .mv-light-p strong{color:#fff; font-weight:600}

/* ---- buttons ---- */
body.mv21-page .mv-btn{width:auto; flex:0 0 auto; max-width:100%}
body.mv21-page .mv-btn .elementor-button{display:inline-flex; align-items:center; gap:12px; background:var(--mv-green); color:#fff; font-family:'Google Sans',sans-serif; font-weight:700; font-size:18px; line-height:1.2; padding:18px 28px; border-radius:8px; border:2px solid var(--mv-green); text-decoration:none; white-space:nowrap; transition:transform .25s, box-shadow .25s, background .25s; box-shadow:0 8px 20px rgba(92,153,57,.25)}
body.mv21-page .mv-btn .elementor-button:after{content:"→"; width:26px; height:26px; border-radius:50%; background:rgba(255,255,255,.22); display:grid; place-items:center; font-size:15px; transition:transform .25s}
body.mv21-page .mv-btn .elementor-button:hover{transform:translateY(-2px); background:#4f8a2f; box-shadow:0 12px 26px rgba(92,153,57,.35)}
body.mv21-page .mv-btn .elementor-button:hover:after{transform:translateX(3px)}
body.mv21-page .mv-btn .elementor-button:focus-visible{outline:3px solid var(--mv-sky); outline-offset:3px}
body.mv21-page .mv-btn-sm .elementor-button{font-size:16px; padding:13px 20px}
body.mv21-page .mv-btn-ghost .elementor-button{background:transparent; border-color:rgba(255,255,255,.55); box-shadow:none}
body.mv21-page .mv-btn-ghost .elementor-button:after{content:"↓"}
body.mv21-page .mv-btn-ghost .elementor-button:hover{background:rgba(255,255,255,.1)}
body.mv21-page .mv-btn-dark .elementor-button{background:var(--mv-ink); border-color:var(--mv-ink); box-shadow:0 8px 20px rgba(0,0,0,.2)}
body.mv21-page .mv-btn-outline .elementor-button{background:transparent; color:var(--mv-deep-green); border-color:var(--mv-deep-green); box-shadow:none}
body.mv21-page .mv-btn-outline .elementor-button:after{background:var(--mv-tint-green)}
body.mv21-page .mv-btn-outline .elementor-button:hover{background:var(--mv-tint-green)}

/* ---- header ---- */
body.mv21-page .mv-header{position:sticky; top:0; z-index:100; background:rgba(246,247,242,.92); backdrop-filter:blur(10px); border-bottom:1px solid var(--mv-line); transition:box-shadow .3s}
body.admin-bar.mv21-page .mv-header{top:32px}
body.mv21-page .mv-header.is-scrolled{box-shadow:0 8px 24px rgba(23,35,41,.08)}
body.mv21-page .mv-header-in{max-width:1360px; display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:30px; height:var(--mv-header-h); padding:0 20px; transition:height .3s}
body.mv21-page .mv-header.is-scrolled .mv-header-in{height:70px}
body.mv21-page .mv-logo{width:auto; flex:none}
body.mv21-page .mv-logo img{height:34px; width:auto}
body.mv21-page .mv-nav-w{width:auto}
body.mv21-page .mv-nav{display:flex; gap:32px; font-weight:600; font-size:15px}
body.mv21-page .mv-nav a{text-decoration:none; color:var(--mv-ink); position:relative; padding:6px 0}
body.mv21-page .mv-nav a:after{content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--mv-green); transform:scaleX(0); transition:transform .25s; transform-origin:left}
body.mv21-page .mv-nav a:hover:after,body.mv21-page .mv-nav a.is-active:after{transform:scaleX(1)}
body.mv21-page .mv-nav a.is-active{color:var(--mv-green)}

/* ---- hero ---- */
body.mv21-page .mv-hero-outer{background:var(--mv-base); padding:14px 40px 0}
body.mv21-page .mv-hero{position:relative; height:760px; border-radius:var(--mv-radius); overflow:hidden; color:#fff;
  background:radial-gradient(900px 600px at 78% 45%,#3d6b2c 0%,rgba(61,107,44,0) 70%),linear-gradient(135deg,var(--mv-dark) 0%,#1d3a24 60%,#23452a 100%)}
body.mv21-page .mv-hero:before{content:""; position:absolute; inset:0; background-image:inherit; opacity:.0}
body.mv21-page .mv-hero .mv-deco{position:absolute; inset:0; width:100%; height:100%; pointer-events:none}
body.mv21-page .mv-hero .mv-deco .elementor-widget-container{height:100%}
body.mv21-page .mv-hero-txt{position:absolute; left:90px; top:110px; width:760px; z-index:3}
body.mv21-page .mv-hero-txt .mv-h1{max-width:680px}
body.mv21-page .mv-hero-season p{font-size:17px; color:#b9c9bd; padding-left:16px; border-left:3px solid var(--mv-green); margin-bottom:30px; max-width:600px}
body.mv21-page .mv-chips{display:flex; gap:10px; margin-bottom:36px; flex-wrap:wrap}
body.mv21-page .mv-chips span{background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:40px; padding:8px 18px; font-weight:600; font-size:15px; color:#fff}
body.mv21-page .mv-chips b{color:var(--mv-sky)}
body.mv21-page .mv-btn-row{display:flex; flex-direction:row; flex-wrap:wrap; gap:16px}
body.mv21-page .mv-badge21-w{position:absolute; right:60px; top:380px; width:auto; z-index:4}
body.mv21-page .mv-badge21{width:230px; height:230px; border-radius:50%; background:#fff; color:var(--mv-ink); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 20px 50px rgba(0,0,0,.3)}
body.mv21-page .mv-badge21 .n{font-size:84px; font-weight:800; color:var(--mv-blue); line-height:1; letter-spacing:-.03em; border:5px solid var(--mv-blue); border-radius:18px; padding:4px 14px 8px; font-variant-numeric:tabular-nums}
body.mv21-page .mv-badge21 .l{font-weight:700; font-size:17px; margin-top:12px; text-align:center; line-height:1.25}
body.mv21-page .mv-badge21 small{display:block; font-weight:500; font-size:13px; color:var(--mv-muted)}

/* ---- problem ---- */
body.mv21-page .mv-problem{background:#fff; overflow:hidden; padding-bottom:40px}
body.mv21-page .mv-problem-grid{grid-template-columns:520px 1fr; gap:80px; align-items:center}
body.mv21-page .mv-problem-visual{position:relative; height:640px; overflow:hidden}
body.mv21-page .mv-problem-visual .mv-deco{position:absolute; inset:0}
body.mv21-page .mv-float-tag-w{position:absolute; left:0; bottom:70px; width:330px; z-index:4}
body.mv21-page .mv-float-tag{background:#fff; border-radius:14px; box-shadow:0 18px 40px rgba(23,35,41,.12); padding:18px 22px; display:flex; gap:14px; align-items:center; animation:mv-bob 6s ease-in-out infinite}
body.mv21-page .mv-float-tag .ic{width:48px; height:48px; border-radius:12px; background:var(--mv-tint-earth); display:grid; place-items:center; flex:none}
body.mv21-page .mv-float-tag b{display:block; font-size:16px}
body.mv21-page .mv-float-tag span{font-size:14px; color:var(--mv-muted)}
body.mv21-page .mv-did{list-style:none; margin:14px 0 26px; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:14px 24px}
body.mv21-page .mv-did li{display:flex; gap:12px; align-items:center; font-weight:600; font-size:18px; line-height:1.3}
body.mv21-page .mv-did li:before{content:"✓"; width:30px; height:30px; border-radius:50%; background:var(--mv-tint-green); color:var(--mv-deep-green); display:grid; place-items:center; font-size:16px; flex:none}
body.mv21-page .mv-norain .elementor-heading-title{font-size:40px; font-weight:800; color:var(--mv-earth); display:flex; align-items:center; gap:16px; margin-bottom:24px}
body.mv21-page .mv-norain .elementor-heading-title:before{content:""; width:46px; height:46px; flex:none; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c49a63' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 16a4 4 0 0 1-.9-7.9A6 6 0 0 1 17.7 9 3.5 3.5 0 0 1 17 16H7z'/%3E%3Cpath d='M4 20L20 4'/%3E%3C/svg%3E") center/contain no-repeat}
body.mv21-page .mv-problem-txt .mv-lead{margin-bottom:28px; max-width:600px}
body.mv21-page .mv-quote{border-left:4px solid var(--mv-blue); background:var(--mv-tint-blue); padding:22px 26px; border-radius:0 12px 12px 0}
body.mv21-page .mv-quote p{font-size:20px; font-weight:600; color:var(--mv-ink); line-height:1.4}
body.mv21-page .mv-quote strong{color:var(--mv-deep-blue)}
body.mv21-page .mv-marquee{overflow:hidden; margin-top:30px; white-space:nowrap}
body.mv21-page .mv-marquee-in{display:inline-flex; animation:mv-marquee 40s linear infinite}
body.mv21-page .mv-marquee span{font-size:130px; font-weight:800; line-height:1.05; color:transparent; -webkit-text-stroke:1.5px #e3dccb; letter-spacing:-.01em; padding-right:.3em}

/* ---- +21 ---- */
body.mv21-page .mv-dark-outer,body.mv21-page .mv-now-outer,body.mv21-page .mv-contact-outer{padding:0 40px}
body.mv21-page .mv-dark{background-color:var(--mv-dark); color:#fff; border-radius:var(--mv-radius); position:relative; overflow:hidden}
body.mv21-page .mv-plus21{padding:110px 20px}
body.mv21-page .mv-plus21-top{grid-template-columns:1fr 520px; gap:80px; align-items:end; margin-bottom:60px}
body.mv21-page .mv-tl{background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:18px; padding:40px 50px 34px; margin-bottom:60px}
body.mv21-page .mv-tl .row{display:flex; align-items:center; height:74px}
body.mv21-page .mv-tl .lab{width:190px; flex:none; font-weight:600; font-size:15px; color:#cfdad2}
body.mv21-page .mv-tl .lab.strong{color:#fff}
body.mv21-page .mv-tl .track{display:flex; gap:4px; width:824px; max-width:calc(100% - 330px)}
body.mv21-page .mv-tl .bar{height:22px; border-radius:12px; transform-origin:left; transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
body.mv21-page .mv-tl .bar.b1{flex:0 0 68%; background:linear-gradient(90deg,#5c9939,#6fae45)}
body.mv21-page .mv-tl .row:first-child .bar.b1{background:linear-gradient(90deg,#5c9939,#c49a63)}
body.mv21-page .mv-tl .bar.b2{flex:0 0 32%; background:repeating-linear-gradient(45deg,#078dcd 0 10px,#0b92d1 10px 20px); transition-delay:1.1s}
body.mv21-page .mv-tl .end{margin-left:14px; font-weight:700; white-space:nowrap; transition:opacity .6s 1.6s}
body.mv21-page .mv-tl .e1{color:var(--mv-earth); transition-delay:1.2s}
body.mv21-page .mv-tl .e2{color:var(--mv-sky); font-weight:800; font-size:28px; transition-delay:2.2s}
body.mv21-page .mv-tl .ends{display:flex; justify-content:space-between; color:#8fa596; font-size:14px; margin:10px 0 0 190px; max-width:560px}
body.mv21-page [data-mv-bars]:not(.is-in) .bar{transform:scaleX(0)}
body.mv21-page [data-mv-bars]:not(.is-in) .end{opacity:0}
body.mv21-page .mv-stat{padding:0 40px; border-left:1px solid rgba(255,255,255,.14); height:100%}
body.mv21-page .mv-stats > .elementor-widget:first-child .mv-stat{padding-left:0; border-left:0}
body.mv21-page .mv-stat .ic{width:56px; height:56px; border-radius:14px; background:rgba(95,192,238,.14); display:grid; place-items:center; margin-bottom:18px; color:var(--mv-sky)}
body.mv21-page .mv-stat h3{font-size:24px; font-weight:700; line-height:1.2; color:#fff; margin:0 0 8px}
body.mv21-page .mv-stat p{color:#b9c9bd}
body.mv21-page .mv-plus21-foot{display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:30px; margin-top:60px; padding-top:40px; border-top:1px solid rgba(255,255,255,.12)}
body.mv21-page .mv-plus21-foot > .elementor-widget{width:auto}
body.mv21-page .mv-note{max-width:640px}
body.mv21-page .mv-note p{display:flex; gap:14px; align-items:center; font-size:15px; color:#cfdad2}
body.mv21-page .mv-note p:before{content:"i"; width:40px; height:40px; border-radius:50%; border:1.5px solid var(--mv-sky); color:var(--mv-sky); display:grid; place-items:center; font-weight:700; flex:none}

/* ---- how ---- */
body.mv21-page .mv-how{background-color:var(--mv-base)}
body.mv21-page .mv-head-center{max-width:760px; margin:0 auto 60px; text-align:center; align-items:center}
body.mv21-page .mv-srn{display:grid; grid-template-columns:1fr 60px 1fr 60px 1fr; align-items:stretch}
body.mv21-page .mv-arrow-w{display:grid; place-items:center}
body.mv21-page .mv-arrow{color:var(--mv-green); font-size:30px; font-weight:700; animation:mv-nudge 2.4s ease-in-out infinite}
body.mv21-page .mv-srn-card{background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(23,35,41,.06); position:relative; padding-bottom:30px; transition:transform .35s, box-shadow .35s}
body.mv21-page .mv-srn-card:hover{transform:translateY(-6px); box-shadow:0 20px 40px rgba(23,35,41,.12)}
body.mv21-page .mv-srn-img{height:200px; overflow:hidden}
body.mv21-page .mv-srn-img img{width:100%; height:200px; object-fit:cover; transition:transform .8s}
body.mv21-page .mv-srn-card:hover .mv-srn-img img{transform:scale(1.06)}
body.mv21-page .mv-srn-label{position:absolute; left:20px; top:144px; width:auto; z-index:2}
body.mv21-page .mv-srn-label .elementor-heading-title{background:#fff; font-weight:800; letter-spacing:.12em; padding:8px 16px; border-radius:8px; font-size:15px}
body.mv21-page .mv-srn-card > .elementor-widget:not(.mv-srn-img):not(.mv-srn-label){padding:0 28px}
body.mv21-page .mv-kbar{display:block; height:4px; width:60px; border-radius:4px; margin:28px 0 18px}

/* ---- benefit ---- */
body.mv21-page .mv-benefit-grid{grid-template-columns:460px 1fr; gap:90px}
body.mv21-page .mv-bigquote{margin-top:40px; background:var(--mv-deep-green); border-radius:18px; padding:34px}
body.mv21-page .mv-bigquote p{color:#fff; font-size:24px; font-weight:700; line-height:1.3}
body.mv21-page .mv-bigquote span{color:#a9d88a}
body.mv21-page .mv-ben-grid{gap:20px}
body.mv21-page .mv-ben{border:1px solid var(--mv-line); border-radius:16px; padding:26px; display:flex; gap:18px; align-items:flex-start; background:#fff; height:100%; transition:border-color .3s, transform .3s}
body.mv21-page .mv-ben:hover{border-color:var(--mv-green); transform:translateY(-3px)}
body.mv21-page .mv-ben .ic{width:52px; height:52px; border-radius:12px; background:var(--mv-tint-green); display:grid; place-items:center; flex:none}
body.mv21-page .mv-ben .ic.b{background:var(--mv-tint-blue)}
body.mv21-page .mv-ben b{font-size:18px; display:block; margin-bottom:4px; line-height:1.3}
body.mv21-page .mv-ben span{font-size:15px; color:var(--mv-muted)}

/* ---- why now ---- */
body.mv21-page .mv-now{background-color:var(--mv-green); border-radius:var(--mv-radius); overflow:hidden; padding:0 20px}
body.mv21-page .mv-now-grid{grid-template-columns:1fr 520px; gap:60px; align-items:center; padding:90px 0}
body.mv21-page .mv-now-p p{color:#f0f7ea; font-size:18px}
body.mv21-page .mv-now-strong .elementor-heading-title{font-size:22px; color:#fff; line-height:1.35; margin:14px 0 22px}
body.mv21-page .mv-now-small p{font-size:15px; color:#dcebd0; margin-bottom:32px}
body.mv21-page .mv-now-ph{position:relative}

/* ---- 5 steps ---- */
body.mv21-page .mv-shield-head{display:flex; flex-direction:row; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:70px}
body.mv21-page .mv-shield-head > .mv-lead{max-width:420px}
body.mv21-page .mv-steps{display:grid; grid-template-columns:repeat(5,1fr); gap:18px; position:relative}
body.mv21-page .mv-steps-line-w{position:absolute; left:30px; right:30px; top:29px; width:auto; z-index:0}
body.mv21-page .mv-steps-line{height:4px; border-radius:4px; background:#edf0e8; overflow:hidden}
body.mv21-page .mv-steps-line i{display:block; height:100%; background:linear-gradient(90deg,#1aa6bd,#7dc243,#1e7fcb,#f29a2e,#075C89); transform-origin:left; transform:scaleX(0); transition:transform 2.2s cubic-bezier(.3,.7,.2,1)}
body.mv21-page .mv-steps.is-in .mv-steps-line i{transform:scaleX(1)}
body.mv21-page .mv-step{position:relative; z-index:1}
body.mv21-page .mv-step-head .dot{width:62px; height:62px; border-radius:50%; background:#fff; border:4px solid var(--c); display:grid; place-items:center; font-weight:800; font-size:18px; color:var(--c); margin-bottom:24px; transition:background .3s, color .3s}
body.mv21-page .mv-step:hover .mv-step-head .dot{background:var(--c); color:#fff}
body.mv21-page .mv-step-head .phase{display:block; font-size:13px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--c); margin-bottom:10px}
body.mv21-page .mv-step-box{flex:1; background:#fff; border:1px solid var(--mv-line); border-radius:14px; padding:22px 20px 20px; transition:transform .3s, box-shadow .3s}
body.mv21-page .mv-step:hover .mv-step-box{transform:translateY(-4px); box-shadow:0 16px 34px rgba(23,35,41,.08)}
body.mv21-page .mv-step-1 .mv-step-box{border-top:5px solid #1aa6bd}
body.mv21-page .mv-step-2 .mv-step-box{border-top:5px solid #5C9939}
body.mv21-page .mv-step-3 .mv-step-box{border-top:5px solid #1e7fcb}
body.mv21-page .mv-step-4 .mv-step-box{border-top:5px solid #e98a1c}
body.mv21-page .mv-step-5 .mv-step-box{border-top:5px solid #075C89}
body.mv21-page .mv-step-name .elementor-heading-title{font-size:26px}
body.mv21-page .mv-step-lat p{font-style:italic; font-size:12.5px; color:#8a949a; margin:0; padding-top:10px; border-top:1px dashed var(--mv-line)}
body.mv21-page .mv-step-d{flex:1}
body.mv21-page .mv-step-d p{font-size:13.5px; line-height:1.55; margin-bottom:14px}
body.mv21-page .mv-step-why{background:var(--mv-tint-green); border-radius:10px; padding:14px; margin:12px 0 16px}
body.mv21-page .mv-step-why p{font-size:15px; line-height:1.45; font-weight:600; color:var(--mv-ink)}
body.mv21-page .mv-step-why strong{color:var(--mv-deep-green); font-size:13px}
body.mv21-page .mv-shield-note{display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:30px; margin-top:34px; background:var(--mv-base); border-radius:14px; padding:22px 28px}
body.mv21-page .mv-shield-note > .elementor-widget{width:auto}
body.mv21-page .mv-shield-note > .mv-small{flex:1}

/* ---- package ---- */
body.mv21-page .mv-pack{background-color:var(--mv-base)}
body.mv21-page .mv-pcard{display:grid; grid-template-columns:640px 1fr; background:#fff; border-radius:24px; box-shadow:0 30px 60px rgba(23,35,41,.10); overflow:hidden}
body.mv21-page .mv-pcard-img{position:relative; min-height:560px; background:#8b8b8e; overflow:hidden}
body.mv21-page .mv-pack-img{position:absolute; inset:0; height:100%}
body.mv21-page .mv-pack-img .elementor-widget-container{height:100%}
body.mv21-page .mv-pack-img img{width:100%; height:100%; object-fit:cover; transition:transform 6s ease-out}
body.mv21-page .mv-pcard:hover .mv-pack-img img{transform:scale(1.05)}
body.mv21-page .mv-pack-badge-w{position:absolute; left:30px; top:30px; width:auto; z-index:2}
body.mv21-page .mv-pack-badge{background:var(--mv-ink); color:#fff; border-radius:14px; padding:14px 18px; font-weight:700; font-size:15px}
body.mv21-page .mv-pack-badge b{color:var(--mv-sky)}
body.mv21-page .mv-pcard-bd{padding:60px}
body.mv21-page .mv-kpi{display:flex; margin:6px 0 28px; border:1px solid var(--mv-line); border-radius:14px; overflow:hidden}
body.mv21-page .mv-kpi div{flex:1; padding:18px; text-align:center; border-left:1px solid var(--mv-line)}
body.mv21-page .mv-kpi div:first-child{border-left:0}
body.mv21-page .mv-kpi strong{display:block; font-size:40px; font-weight:800; color:var(--mv-deep-green); line-height:1}
body.mv21-page .mv-kpi span{font-size:14px; color:var(--mv-muted)}
body.mv21-page .mv-packlist{list-style:none; margin:0 0 34px; padding:0}
body.mv21-page .mv-packlist li{display:flex; align-items:center; padding:12px 0; border-bottom:1px dashed var(--mv-line); font-size:17px}
body.mv21-page .mv-packlist .sw{width:12px; height:12px; border-radius:3px; margin-right:10px; flex:none}
body.mv21-page .mv-packlist b{font-weight:600; flex:1; color:var(--mv-ink)}
body.mv21-page .mv-packlist em{font-style:normal; color:var(--mv-muted); font-size:15px}
body.mv21-page .mv-pcard-bd .mv-fine{margin-top:16px}

/* ---- proof ---- */
body.mv21-page .mv-proof-grid{align-items:start}
body.mv21-page .mv-proof .mv-lead{margin-bottom:26px}
body.mv21-page .mv-musts{display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px}
body.mv21-page .mv-musts span{border:1px solid var(--mv-line); border-radius:30px; padding:8px 16px; font-size:14px; font-weight:600; background:var(--mv-base)}
body.mv21-page .mv-chart{background:#fff; border:1px solid var(--mv-line); border-radius:18px; padding:30px; box-shadow:0 10px 30px rgba(23,35,41,.05); margin-bottom:22px}
body.mv21-page .mv-chart .hd{display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; gap:10px}
body.mv21-page .mv-chart .hd b{font-size:18px}
body.mv21-page .mv-chart .lg{display:flex; gap:18px; font-size:14px; color:var(--mv-muted)}
body.mv21-page .mv-chart .lg i{display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:6px; vertical-align:-1px}
body.mv21-page .mv-chart svg{margin-top:14px; font-family:inherit}
body.mv21-page .mv-chart .c rect{fill:#c9cfc3}
body.mv21-page .mv-chart .t rect{fill:#5C9939; fill-opacity:.85}
body.mv21-page .mv-chart rect{transform-box:fill-box; transform-origin:bottom; transition:transform 1s cubic-bezier(.2,.7,.2,1)}
body.mv21-page .mv-chart .t rect{transition-delay:.3s}
body.mv21-page .mv-chart:not(.is-in) rect{transform:scaleY(0)}
body.mv21-page .mv-ph-tag{display:inline-block; background:#fff3d6; color:#8a5a00; border:1px dashed #d9a441; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 10px; border-radius:6px}
body.mv21-page .mv-pc{border:1px solid var(--mv-line); border-radius:18px; overflow:hidden}
body.mv21-page .mv-pc .t{background:var(--mv-deep-blue); color:#fff; padding:16px 24px; font-weight:700; display:flex; justify-content:space-between; align-items:center}
body.mv21-page .mv-pc .t .mv-ph-tag{background:#fff}
body.mv21-page .mv-pc .row{display:grid; grid-template-columns:140px 1fr; border-top:1px solid var(--mv-line); font-size:15px}
body.mv21-page .mv-pc .row b{padding:13px 24px; background:var(--mv-base); font-weight:600}
body.mv21-page .mv-pc .row span{padding:13px 24px; color:#8a949a; font-style:italic}

/* ---- duo ---- */
body.mv21-page .mv-duo-sec{padding-top:0}
body.mv21-page .mv-duo{gap:30px}
body.mv21-page .mv-duo-b{border-radius:var(--mv-radius); padding:56px; position:relative; overflow:hidden}
body.mv21-page .mv-duo-blue{background-color:var(--mv-tint-blue)}
body.mv21-page .mv-duo-blue p{font-size:17px}
body.mv21-page .mv-duo-dark{background-color:var(--mv-ink); color:#fff}
body.mv21-page .mv-nutri{display:flex; gap:14px; margin:26px 0}
body.mv21-page .mv-nutri div{flex:1; background:#fff; border-radius:14px; padding:20px; display:flex; gap:14px; align-items:center; font-weight:600; font-size:16px; line-height:1.3}
body.mv21-page .mv-nutri .el{width:50px; height:50px; border-radius:12px; display:grid; place-items:center; font-weight:800; font-size:20px; color:#fff; flex:none}
body.mv21-page .mv-fine-line{border-top:1px solid rgba(7,92,137,.15); padding-top:16px}
body.mv21-page .mv-fine-line p{color:#4c6572}
body.mv21-page .mv-chain{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin:28px 0 24px}
body.mv21-page .mv-chain div{background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.1); border-radius:12px; padding:16px; font-weight:600; font-size:15px; line-height:1.3}
body.mv21-page .mv-chain b{display:block; color:var(--mv-sky); font-size:13px; margin-bottom:4px}
body.mv21-page .mv-hl p{font-size:19px; color:#fff; font-weight:600; border-left:3px solid var(--mv-green); padding-left:16px}

/* ---- sequential reveal for lists (mv21.js adds .is-in) ---- */
body.mv21-page .mv-seq li,body.mv21-page .mv-seq .mv-chain > div{transition:opacity .5s, transform .5s}
body.mv21-page .mv-seq:not(.is-in) li,body.mv21-page .mv-seq:not(.is-in) .mv-chain > div{opacity:0; transform:translateY(14px)}

/* ---- FAQ (Elementor accordion) ---- */
body.mv21-page .mv-faq{background-color:var(--mv-base)}
body.mv21-page .mv-faq-grid{grid-template-columns:400px 1fr; gap:80px}
body.mv21-page .mv-faq .mv-lead{margin-bottom:30px}
body.mv21-page .mv-help{background:#fff; border:1px solid var(--mv-line); border-radius:18px; padding:28px}
body.mv21-page .mv-help .mv-small{margin-bottom:20px}
body.mv21-page .mv-acc .elementor-accordion-item{border:1px solid var(--mv-line)!important; border-radius:14px; margin-bottom:12px; background:#fff; transition:border-color .3s, box-shadow .3s; overflow:hidden}
body.mv21-page .mv-acc .elementor-accordion-item:has(.elementor-active){border-color:var(--mv-green)!important; box-shadow:0 10px 30px rgba(92,153,57,.10)}
body.mv21-page .mv-acc .elementor-tab-title{display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 26px!important; font-family:'Google Sans',sans-serif; font-weight:600; font-size:18px; line-height:1.35; color:var(--mv-ink); cursor:pointer; border:0!important; margin:0}
body.mv21-page .mv-acc .elementor-tab-title a{color:inherit!important; text-decoration:none; order:1}
body.mv21-page .mv-acc .elementor-accordion-icon{display:none!important}
body.mv21-page .mv-acc .elementor-tab-title:after{content:"+"; order:2; width:32px; height:32px; border-radius:50%; background:var(--mv-base); display:grid; place-items:center; color:var(--mv-deep-green); font-weight:700; flex:none; transition:transform .3s, background .3s}
body.mv21-page .mv-acc .elementor-tab-title.elementor-active:after{content:"–"; background:var(--mv-green); color:#fff}
body.mv21-page .mv-acc .elementor-tab-content{padding:0 26px 22px!important; border:0!important; font-size:16px; color:var(--mv-muted)}

/* ---- contact ---- */
body.mv21-page .mv-contact{padding:100px 20px}
body.mv21-page .mv-contact-grid{display:grid; grid-template-columns:420px 1fr; gap:60px}
body.mv21-page .mv-contact-grid{position:relative; z-index:1}
body.mv21-page .mv-steps3{list-style:none; margin:10px 0 0; padding:0; counter-reset:s}
body.mv21-page .mv-steps3 li{counter-increment:s; display:flex; gap:12px; align-items:center; margin-bottom:12px; color:#e6efe8; font-weight:500}
body.mv21-page .mv-steps3 li:before{content:counter(s); width:26px; height:26px; border-radius:50%; background:var(--mv-green); display:grid; place-items:center; font-size:13px; flex:none; color:#fff}
body.mv21-page .mv-forms{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:20px; align-items:start}
body.mv21-page .mv-form{background:#fff; border-radius:18px; padding:32px; color:var(--mv-ink)}
body.mv21-page .mv-form-card-2 .mv-form{background:var(--mv-base)}
body.mv21-page .mv-form .lv{font-size:12px; font-weight:800; letter-spacing:.1em; color:var(--mv-green); text-transform:uppercase}
body.mv21-page .mv-form h3{font-size:22px; font-weight:700; line-height:1.25; margin:6px 0; color:var(--mv-ink)}
body.mv21-page .mv-form .s{font-size:14px; color:var(--mv-muted); margin:0 0 18px}
body.mv21-page .mv-form label{display:block; margin-bottom:10px}
body.mv21-page .mv-form label > span{display:block; font-size:13px; font-weight:600; margin-bottom:4px}
body.mv21-page .mv-form input[type=text],body.mv21-page .mv-form input[type=email],body.mv21-page .mv-form input[type=tel],body.mv21-page .mv-form input[type=number],body.mv21-page .mv-form select,body.mv21-page .mv-form textarea{width:100%; border:1px solid #d7dccf; border-radius:10px; padding:12px 14px; font:inherit; font-size:15px; color:var(--mv-ink); background:#fff; transition:border-color .2s, box-shadow .2s}
body.mv21-page .mv-form textarea{min-height:70px; resize:vertical}
body.mv21-page .mv-form input:focus,body.mv21-page .mv-form select:focus,body.mv21-page .mv-form textarea:focus{outline:0; border-color:var(--mv-green); box-shadow:0 0 0 3px rgba(92,153,57,.18)}
body.mv21-page .mv-form .fr{display:grid; grid-template-columns:1fr 1fr; gap:10px}
body.mv21-page .mv-form .consent{display:flex; gap:8px; align-items:flex-start; font-size:12.5px; color:var(--mv-muted); margin:12px 0 0}
body.mv21-page .mv-form .consent input{margin-top:3px}
body.mv21-page .mv-form .consent > span{display:inline; font-size:12.5px; font-weight:400; margin:0}
body.mv21-page .mv-form .consent a{color:var(--mv-deep-green)}
body.mv21-page .mv-form button{width:100%; margin-top:8px; background:var(--mv-green); color:#fff; border:0; border-radius:8px; padding:16px 18px; font:inherit; font-weight:700; font-size:16px; cursor:pointer; transition:background .2s, transform .2s}
body.mv21-page .mv-form button:hover{background:#4f8a2f; transform:translateY(-2px)}
body.mv21-page .mv-form .hp{position:absolute!important; left:-9999px!important}
body.mv21-page .mv-form .ok,body.mv21-page .mv-form .err{border-radius:10px; padding:14px 16px; font-size:15px; margin-bottom:14px}
body.mv21-page .mv-form .ok{background:var(--mv-tint-green); color:var(--mv-deep-green); font-weight:600}
body.mv21-page .mv-form .err{background:#fde8e6; color:#9b2c1f}

/* ---- partner + footer ---- */
body.mv21-page .mv-partner-box{display:flex; flex-direction:row; justify-content:space-between; align-items:center; gap:40px; border:2px dashed #cfd8c7; border-radius:20px; padding:38px 46px}
body.mv21-page .mv-partner-box > .mv-btn{flex:none}
body.mv21-page .mv-footer{background:var(--mv-ink); color:#cfd8dc; padding:70px 20px 0}
body.mv21-page .mv-footer-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:50px; padding-bottom:50px}
body.mv21-page .mv-footer-logo{background:#fff; border-radius:12px; padding:18px 22px; width:auto; align-self:flex-start; margin-bottom:20px}
body.mv21-page .mv-footer-logo img{height:30px; width:auto}
body.mv21-page .mv-footer p,body.mv21-page .mv-footer li{font-size:15px; color:#aebbc1}
body.mv21-page .mv-footer h4{color:#fff; font-size:18px; margin:0 0 18px; font-weight:700}
body.mv21-page .mv-footer ul{list-style:none; margin:0; padding:0}
body.mv21-page .mv-footer li{margin-bottom:10px}
body.mv21-page .mv-footer a{text-decoration:none; color:#aebbc1; transition:color .2s}
body.mv21-page .mv-footer a:hover{color:#fff}
body.mv21-page .mv-footer-bot{border-top:1px solid rgba(255,255,255,.1); padding:22px 0; display:flex; justify-content:space-between; font-size:14px; color:#8d9ca3}
body.mv21-page .mv-sticky-cta{display:none}

/* ---- keyframes ---- */
@keyframes mv-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes mv-spin{to{transform:rotate(360deg)}}
@keyframes mv-marquee{to{transform:translateX(-33.333%)}}
@keyframes mv-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@keyframes mv-fill{from{transform:translateX(-100%)}to{transform:translateX(0)}}

/* ---- tablet ---- */
@media (max-width:1024px){
  body.mv21-page .mv-nav{display:none}
  body.mv21-page .mv-sec{padding:90px 24px}
  body.mv21-page .mv-hero-outer,body.mv21-page .mv-dark-outer,body.mv21-page .mv-now-outer,body.mv21-page .mv-contact-outer{padding-left:16px; padding-right:16px}
  body.mv21-page .mv-hero-txt{position:relative; left:auto; top:auto; width:100%; max-width:640px}
  body.mv21-page .mv-badge21-w{right:auto; left:40px; top:auto; bottom:40px; position:absolute}
  body.mv21-page .mv-h1 .elementor-heading-title{font-size:52px}
  body.mv21-page .mv-h2 .elementor-heading-title{font-size:40px}
  body.mv21-page .mv-grid-2,body.mv21-page .mv-problem-grid,body.mv21-page .mv-benefit-grid,body.mv21-page .mv-now-grid,body.mv21-page .mv-faq-grid,body.mv21-page .mv-contact-grid,body.mv21-page .mv-plus21-top,body.mv21-page .mv-pcard{grid-template-columns:1fr; gap:50px}
  body.mv21-page .mv-ben-grid,body.mv21-page .mv-duo{grid-template-columns:1fr 1fr; gap:20px}
  body.mv21-page .mv-duo{grid-template-columns:1fr}
  body.mv21-page .mv-problem-visual{max-width:520px; margin:0 auto; width:100%}
  body.mv21-page .mv-srn{grid-template-columns:1fr; gap:24px}
  body.mv21-page .mv-arrow-w{display:none}
  body.mv21-page .mv-steps{grid-template-columns:1fr 1fr; gap:24px}
  body.mv21-page .mv-steps-line-w{display:none}
  body.mv21-page .mv-pcard-img{min-height:420px}
  body.mv21-page .mv-forms{grid-template-columns:1fr}
  body.mv21-page .mv-footer-grid{grid-template-columns:1fr 1fr}
  body.mv21-page .mv-now-ph{margin-bottom:30px}
}

/* ---- mobile ---- */
@media (max-width:767px){
  body.mv21-page{--mv-header-h:64px; font-size:15px}
  body.mv21-page .mv-header-in{gap:12px; padding:0 16px}
  body.mv21-page .mv-logo img{height:28px}
  body.mv21-page .mv-header-cta{display:none}
  body.mv21-page .mv-sec{padding:70px 16px}
  body.mv21-page .mv-sec-s{padding:50px 16px}
  body.mv21-page .mv-hero-outer{padding:10px 10px 0}
  body.mv21-page .mv-h1 .elementor-heading-title{font-size:33px; margin-bottom:14px}
  body.mv21-page .mv-eyebrow .elementor-heading-title{font-size:12px; margin-bottom:12px}
  body.mv21-page .mv-eyebrow .elementor-heading-title:before{width:18px}
  body.mv21-page .mv-hero-season p{font-size:14px; margin-bottom:16px}
  body.mv21-page .mv-chips{margin-bottom:22px; gap:6px}
  body.mv21-page .mv-chips span{font-size:13px; padding:5px 11px}
  body.mv21-page .mv-btn-row .mv-btn-ghost{display:none}
  body.mv21-page .mv-badge21-w{left:22px; bottom:30px}
  body.mv21-page .mv-badge21{width:150px; height:150px}
  body.mv21-page .mv-badge21 .n{font-size:50px; border-width:3.5px; border-radius:12px; padding:2px 9px 5px}
  body.mv21-page .mv-badge21 .l{font-size:12px; margin-top:7px}
  body.mv21-page .mv-badge21 small{display:none}
  body.mv21-page .mv-btn .elementor-button{font-size:16px; padding:15px 20px; white-space:normal; text-align:left}
  body.mv21-page .mv-h2 .elementor-heading-title,body.mv21-page .mv-h2-sm .elementor-heading-title{font-size:30px}
  body.mv21-page .mv-lead p,body.mv21-page .mv-light-p p{font-size:16px}
  body.mv21-page .mv-problem-visual{height:440px}
  body.mv21-page .mv-float-tag-w{bottom:20px; width:280px}
  body.mv21-page .mv-did{grid-template-columns:1fr}
  body.mv21-page .mv-norain .elementor-heading-title{font-size:28px; white-space:normal}
  body.mv21-page .mv-norain .elementor-heading-title:before{width:34px; height:34px}
  body.mv21-page .mv-quote p{font-size:17px}
  body.mv21-page .mv-marquee span{font-size:70px}
  body.mv21-page .mv-plus21{padding:60px 18px}
  body.mv21-page .mv-tl{padding:24px 18px}
  body.mv21-page .mv-tl .row{flex-wrap:wrap; height:auto; margin-bottom:16px}
  body.mv21-page .mv-tl .lab{width:100%; margin-bottom:6px}
  body.mv21-page .mv-tl .track{max-width:calc(100% - 80px); width:100%}
  body.mv21-page .mv-tl .e2{font-size:18px}
  body.mv21-page .mv-tl .ends{margin-left:0}
  body.mv21-page .mv-grid-3{grid-template-columns:1fr; gap:26px}
  body.mv21-page .mv-stat{padding:0; border-left:0}
  body.mv21-page .mv-plus21-foot,body.mv21-page .mv-shield-note,body.mv21-page .mv-partner-box,body.mv21-page .mv-shield-head{flex-direction:column; align-items:flex-start; gap:20px}
  body.mv21-page .mv-ben-grid{grid-template-columns:1fr}
  body.mv21-page .mv-bigquote p{font-size:20px}
  body.mv21-page .mv-now{padding:0 18px}
  body.mv21-page .mv-now-grid{padding:60px 0 70px}
  body.mv21-page .mv-steps{grid-template-columns:1fr}
  body.mv21-page .mv-step-box{margin-left:0}
  body.mv21-page .mv-pcard-img{min-height:300px}
  body.mv21-page .mv-pcard-bd{padding:32px 22px}
  body.mv21-page .mv-kpi strong{font-size:32px}
  body.mv21-page .mv-duo-b{padding:34px 22px}
  body.mv21-page .mv-nutri{flex-direction:column}
  body.mv21-page .mv-chain{grid-template-columns:1fr 1fr}
  body.mv21-page .mv-pc .row{grid-template-columns:100px 1fr}
  body.mv21-page .mv-pc .row b,body.mv21-page .mv-pc .row span{padding:11px 14px}
  body.mv21-page .mv-contact{padding:60px 16px}
  body.mv21-page .mv-form{padding:24px 18px}
  body.mv21-page .mv-form .fr{grid-template-columns:1fr}
  body.mv21-page .mv-partner-box{padding:28px 22px}
  body.mv21-page .mv-footer{padding-bottom:84px}
  body.mv21-page .mv-footer-grid{grid-template-columns:1fr; gap:30px}
  body.mv21-page .mv-footer-bot{flex-direction:column; gap:6px}
  body.mv21-page .mv-sticky-cta{display:flex; position:fixed; left:12px; right:12px; bottom:12px; z-index:200; justify-content:center; align-items:center; gap:10px; background:var(--mv-green); color:#fff!important; font-weight:700; font-size:17px; border-radius:10px; padding:15px; text-decoration:none; box-shadow:0 10px 30px rgba(0,0,0,.25); transform:translateY(140%); transition:transform .35s}
  body.mv21-page .mv-sticky-cta:after{content:"→"}
  body.mv21-page .mv-sticky-cta.is-visible{transform:none}
}

@media (prefers-reduced-motion:reduce){
  body.mv21-page *,body.mv21-page *:before,body.mv21-page *:after{animation:none!important; transition:none!important}
  body.mv21-page [data-mv-bars] .bar,body.mv21-page .mv-steps-line i,body.mv21-page .mv-chart rect{transform:none!important}
  body.mv21-page [data-mv-bars] .end,body.mv21-page .mv-seq li,body.mv21-page .mv-seq .mv-chain > div{opacity:1!important; transform:none!important}
}

/* ---------------------------------------------------------------- 1.1: photos from the 2026-09-27 handover (codes as in the handover PDF) */

/* H1 hero: Roger's approved composite, headline and CTAs stay HTML on top */
body.mv21-page .mv-hero .mv-deco{z-index:1}
body.mv21-page .mv-hero-shade{position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(12,30,18,.90) 0%, rgba(12,30,18,.78) 34%, rgba(12,30,18,.28) 56%, rgba(12,30,18,0) 70%),
             linear-gradient(0deg, rgba(12,30,18,.45) 0%, rgba(12,30,18,0) 30%)}
body.mv21-page .mv-hero-txt{z-index:3}
body.mv21-page .mv-hero-txt .mv-h1{max-width:640px}
body.mv21-page .mv-hero-season p{color:#dbe6dd}
body.mv21-page .mv-badge21-w{right:56px; top:auto; bottom:56px}

/* P1 problem photo */
body.mv21-page .mv-problem-photo{position:absolute; inset:0 0 60px 0; width:100%}
body.mv21-page .mv-problem-photo .elementor-widget-container{height:100%}
body.mv21-page .mv-problem-photo img{width:100%; height:100%; object-fit:cover; object-position:68% 50%; border-radius:var(--mv-radius); box-shadow:0 24px 50px rgba(23,35,41,.16)}
body.mv21-page .mv-float-tag-w{bottom:20px; left:-24px}

/* Reveal bands (the fixed background shows through while the page scrolls past) */
body.mv21-page .mv-band-p2{position:relative; padding:96px 0; margin-top:40px; overflow:hidden;
  background:linear-gradient(rgba(28,22,14,.70), rgba(28,22,14,.78)), url(../img/p2-talaj-sav.jpg) center/cover fixed}
body.mv21-page .mv-band-p2 .mv-marquee{margin:0}
body.mv21-page .mv-band-p2 .mv-marquee span{-webkit-text-stroke:1.5px rgba(255,255,255,.62)}
body.mv21-page .mv-band-n1{background:linear-gradient(rgba(14,34,21,.90), rgba(14,34,21,.80) 45%, rgba(14,34,21,.92)), url(../img/n1-tabla-sav.jpg) center/cover fixed}

/* T1-T3, M1 */

/* S1-S5 step photos */
body.mv21-page .mv-step-img{margin:-22px -20px 16px; width:calc(100% + 40px)!important; max-width:none!important}
body.mv21-page .mv-step-img img{width:100%; aspect-ratio:1/1; object-fit:cover; display:block; border-radius:9px 9px 0 0}

/* C1 package: full-width case composite above the offer, 10 ha kept as the headline figure */
body.mv21-page .mv-pcard{grid-template-columns:1fr}
body.mv21-page .mv-pcard-img{min-height:0; aspect-ratio:1672/941; background:#dcdcdc}
body.mv21-page .mv-pcard-bd{display:grid; grid-template-columns:1fr 1fr; column-gap:64px; align-content:start; padding:56px 60px}
body.mv21-page .mv-pcard-bd > *{grid-column:1}
body.mv21-page .mv-pcard-bd > .mv-packlist-w{grid-column:2; grid-row:1 / span 3}
body.mv21-page .mv-pcard-bd > .mv-btn{grid-column:2; grid-row:4}
body.mv21-page .mv-pcard-bd > .mv-fine{grid-column:2; grid-row:5}

/* E1-E3 / B1-B2: image slots for material not supplied yet */
body.mv21-page .mv-evi{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:56px}
body.mv21-page .mv-slot{margin:0; aspect-ratio:4/3; border:2px dashed #cfd8c7; border-radius:16px; display:grid; place-items:center; text-align:center; padding:18px;
  background:repeating-linear-gradient(135deg, #f6f7f2 0 14px, #fff 14px 28px)}
body.mv21-page .mv-slot b{display:block; font-size:17px; margin:12px 0 4px; line-height:1.3}
body.mv21-page .mv-slot small{display:block; font-size:14px; color:var(--mv-muted)}
body.mv21-page .mv-slots2{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin:24px 0}
body.mv21-page .mv-slot-dark{aspect-ratio:16/10; border-color:rgba(255,255,255,.22); background:repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 14px, rgba(255,255,255,.08) 14px 28px)}
body.mv21-page .mv-slot-dark b{color:#fff; font-size:15px}
body.mv21-page .mv-slot-dark small{color:rgba(255,255,255,.6); font-size:13px}

/* K1 + A1 contact */
body.mv21-page .mv-contact-img{margin-top:30px}
body.mv21-page .mv-contact-img img{width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:16px}
body.mv21-page .mv-person{display:flex; gap:14px; align-items:center; margin-top:16px; padding:14px 16px; border:1px dashed rgba(255,255,255,.28); border-radius:14px; background:rgba(255,255,255,.05)}
body.mv21-page .mv-person-ph{width:58px; height:58px; border-radius:50%; flex:none; display:grid; place-items:center; font-weight:700; font-size:14px; color:rgba(255,255,255,.55); background:rgba(255,255,255,.08); border:1px dashed rgba(255,255,255,.3)}
body.mv21-page .mv-person b{display:block; font-size:16px}
body.mv21-page .mv-person small{display:block; font-size:13px; color:rgba(255,255,255,.6)}

/* R1 partner */
body.mv21-page .mv-partner-img{flex:none; width:230px}
body.mv21-page .mv-partner-img img{width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:14px}
body.mv21-page .mv-partner-box > .mv-col{flex:1}

/* Scroll reveals (mv21.js): headings rise word by word, photos settle in */
body.mv21-page .mv-w{display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.08em; margin-bottom:-.08em}
body.mv21-page .mv-w > span{display:inline-block; transform:translateY(105%); transition:transform .9s cubic-bezier(.2,.75,.2,1); transition-delay:calc(var(--i, 0) * 45ms)}
body.mv21-page .is-in .mv-w > span,body.mv21-page .mv-w.is-in > span{transform:none}
body.mv21-page .mv-rv img{opacity:0; transform:translateY(22px) scale(1.03); transition:opacity 1s ease, transform 1.2s cubic-bezier(.2,.75,.2,1)}
body.mv21-page .mv-rv.is-in img{opacity:1; transform:none}

@media (max-width:1024px){
  body.mv21-page .mv-badge21-w{left:auto; right:24px; bottom:24px}
  body.mv21-page .mv-problem-visual{height:520px}
  body.mv21-page .mv-pcard-bd{grid-template-columns:1fr; padding:40px}
  body.mv21-page .mv-pcard-bd > *{grid-column:1!important; grid-row:auto!important}
  body.mv21-page .mv-evi{grid-template-columns:1fr 1fr 1fr; gap:14px}
}
/* phones and tablets: stable (non-fixed) backgrounds */
@media (max-width:1024px), (hover:none){
  body.mv21-page .mv-band-p2,body.mv21-page .mv-band-n1{background-attachment:scroll}
}
@media (max-width:767px){
  body.mv21-page .mv-badge21-w{left:14px; right:auto; bottom:14px}
  body.mv21-page .mv-problem-visual{height:400px}
  body.mv21-page .mv-problem-photo{bottom:40px}
  body.mv21-page .mv-float-tag-w{left:0; bottom:0}
  body.mv21-page .mv-band-p2{padding:56px 0; margin-top:20px}
  body.mv21-page .mv-pcard-bd{padding:30px 22px}
  body.mv21-page .mv-evi{grid-template-columns:1fr; margin-top:36px}
  body.mv21-page .mv-slot{aspect-ratio:16/9}
  body.mv21-page .mv-slots2{grid-template-columns:1fr 1fr}
  body.mv21-page .mv-partner-img{width:100%}
}
@media (prefers-reduced-motion:reduce){
  body.mv21-page .mv-band-p2,body.mv21-page .mv-band-n1{background-attachment:scroll}
  body.mv21-page .mv-w > span,body.mv21-page .mv-rv img{transform:none!important; opacity:1!important}
}

/* ---------------------------------------------------------------- 1.2: hero layers, marquee section, scroll-reveal film */

/* H1 scene: the stage keeps the composite's 1672:941 framing and covers the hero like object-fit:cover,
   so Roger (a separate cut-out) stays exactly where he stood in the approved image at every size. */
body.mv21-page .mv-hero-shade{position:absolute; inset:0; z-index:3; pointer-events:none;
  background:linear-gradient(90deg, rgba(12,30,18,.88) 0%, rgba(12,30,18,.74) 34%, rgba(12,30,18,.22) 56%, rgba(12,30,18,0) 70%),
             linear-gradient(0deg, rgba(12,30,18,.40) 0%, rgba(12,30,18,0) 30%)}
body.mv21-page .mv-hero-txt,body.mv21-page .mv-badge21-w{z-index:4}

/* Marquee: its own band, filled cream letters with full ascent/descent room, clear gap before the +21 block */
body.mv21-page .mv-marquee-sec{padding:0; margin:48px 0 56px; display:flex; align-items:center; min-height:0}
body.mv21-page .mv-marquee-sec .mv-marquee{margin:0; padding:72px 0 64px; overflow:hidden; white-space:nowrap; line-height:1}
body.mv21-page .mv-marquee-sec .mv-marquee-in{animation-duration:80s}
body.mv21-page .mv-marquee-sec .mv-marquee span{display:inline-block; font-size:124px; font-weight:700; line-height:1.34; padding:0 .3em 0 0;
  color:rgba(246,236,214,.86); -webkit-text-stroke:0; text-shadow:0 2px 18px rgba(0,0,0,.28); letter-spacing:.005em}
body.mv21-page .mv-marquee-sec:after{content:""; position:absolute; left:0; right:0; bottom:0; height:6px; background:linear-gradient(90deg, var(--mv-earth), var(--mv-green))}

/* Film: full-bleed, starts as an inset rounded card and opens to the full width while scrolling (--p from mv21.js) */
body.mv21-page .mv-film{padding:40px 0 110px; background:var(--mv-base); --p:0}
body.mv21-page .mv-film-frame{position:relative; margin:0; height:min(78vh, 820px); min-height:420px; overflow:hidden; background:#1b1a14;
  clip-path:inset(calc((1 - var(--p)) * 7%) calc((1 - var(--p)) * 9%) round calc((1 - var(--p)) * 28px + 1px))}
body.mv21-page .mv-film-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transform:scale(calc(1.12 - var(--p) * .12))}
body.mv21-page .mv-film-frame:after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,20,12,.62) 0%, rgba(10,20,12,0) 45%); pointer-events:none}
body.mv21-page .mv-film-cap{position:absolute; left:max(40px, calc((100% - 1200px) / 2)); bottom:48px; z-index:2; color:#fff; max-width:640px;
  opacity:calc(var(--p) * 1.6 - .6); transform:translateY(calc((1 - var(--p)) * 24px))}
body.mv21-page .mv-film-cap .mv-eyebrow-txt{display:block; font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#c9ec9f; margin-bottom:10px; text-shadow:0 1px 8px rgba(0,0,0,.55)}
body.mv21-page .mv-film-cap b{text-shadow:0 2px 16px rgba(0,0,0,.45)}
body.mv21-page .mv-film-cap b{display:block; font-size:40px; line-height:1.15; font-weight:700}

@media (max-width:1024px){
  body.mv21-page .mv-marquee-sec .mv-marquee span{font-size:92px}
  body.mv21-page .mv-film-frame{height:62vh}
  body.mv21-page .mv-film-cap b{font-size:30px}
}
@media (max-width:767px){
  body.mv21-page .mv-marquee-sec{margin:28px 0 36px}
  body.mv21-page .mv-marquee-sec .mv-marquee{padding:40px 0 34px}
  body.mv21-page .mv-marquee-sec .mv-marquee span{font-size:58px}
  /* phones: plain still frame, no clip animation */
  body.mv21-page .mv-film{padding:10px 0 60px; --p:1!important}
  body.mv21-page .mv-film-frame{height:auto; min-height:0; aspect-ratio:4/5; clip-path:none; margin:0 16px; border-radius:18px}
  body.mv21-page .mv-film-video{transform:none}
  body.mv21-page .mv-film-cap{left:20px; right:20px; bottom:22px; opacity:1; transform:none}
  body.mv21-page .mv-film-cap b{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  body.mv21-page .mv-marquee-sec .mv-marquee-in{animation:none}
  body.mv21-page .mv-film{--p:1!important}
  body.mv21-page .mv-film-frame{clip-path:none}
  body.mv21-page .mv-film-video{transform:none}
  body.mv21-page .mv-film-cap{opacity:1; transform:none}
}

/* ---------------------------------------------------------------- 1.3: hand-drawn illustrations (v03 pack, transparent WebP in img/rajz) */
body.mv21-page .mv-rajz img{display:block; width:100%; height:auto}

/* problem: dry vs. rooted soil under "Aztán nem jön az eső." */
body.mv21-page .mv-rajz-prob{width:200px!important; margin:0 0 24px!important}

/* talaj / gyökér / növény: round medallion on the photo's lower right corner */
body.mv21-page .mv-medal{position:absolute; right:18px; top:142px; width:112px!important; height:112px; z-index:3; border-radius:50%; background:#fff;
  box-shadow:0 10px 26px rgba(23,35,41,.14); border:4px solid #fff; display:grid; place-items:center; overflow:hidden}
body.mv21-page .mv-medal .elementor-widget-container{width:100%; height:100%; display:grid; place-items:center}
body.mv21-page .mv-medal img{width:92px!important; height:92px!important; max-width:none!important; object-fit:contain}
body.mv21-page .mv-srn-card > .mv-h3{padding-right:120px!important}

/* farmer benefits: drawing instead of the small line icon */
body.mv21-page .mv-ben-rajz{align-items:center; padding:18px 22px 18px 14px}
body.mv21-page .mv-ben-img{width:96px; height:78px; object-fit:contain; flex:none}

/* 5 steps: drawing under the product name */
body.mv21-page .mv-step-rajz{margin:2px 0 12px}
body.mv21-page .mv-step-rajz img{height:100px!important; width:100%!important; max-width:100%!important; object-fit:contain}

/* package: vintage 10 ha badge on the photo's lower right corner */
body.mv21-page .mv-jelveny10{position:absolute; right:26px; bottom:22px; width:170px!important; z-index:3; transform:rotate(-8deg)}
body.mv21-page .mv-jelveny10 img{width:100%; height:auto; filter:drop-shadow(0 12px 18px rgba(0,0,0,.28))}

/* plus benefit: soil life drawing at the bottom of the blue box */
body.mv21-page .mv-duo-rajz{width:280px!important; margin:22px auto -26px}

/* FAQ help card: watering can beside the button */
body.mv21-page .mv-help{position:relative}
body.mv21-page .mv-help-rajz{position:absolute; right:18px; bottom:14px; width:104px!important}

@media (max-width:767px){
  body.mv21-page .mv-medal{width:88px!important; height:88px; top:124px; right:14px}
  body.mv21-page .mv-medal img{width:72px!important; height:72px!important}
  body.mv21-page .mv-srn-card > .mv-h3{padding-right:28px!important}
  body.mv21-page .mv-ben-img{width:76px; height:62px}
  body.mv21-page .mv-step-rajz img{height:120px!important}
  body.mv21-page .mv-jelveny10{width:112px!important; right:12px; bottom:12px}
  body.mv21-page .mv-duo-rajz{width:220px!important}
  body.mv21-page .mv-help-rajz{width:78px!important; bottom:10px}
}

/* ---------------------------------------------------------------- 1.4: hero as Elementor Carousel (nested-carousel) */
body.mv21-page .mv-hero-car{--e-n-carousel-swiper-slides-gap:0px}
body.mv21-page .mv-hero-car .e-n-carousel{border-radius:var(--mv-radius); overflow:hidden}
body.mv21-page .mv-hero-car .swiper-slide > .e-con.mv-hero{--padding-top:0; --padding-bottom:0; --padding-left:0; --padding-right:0; padding:0; height:760px; border-radius:0}
body.mv21-page .mv-slide .mv-hero-shade{position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(12,30,18,.88) 0%, rgba(12,30,18,.72) 36%, rgba(12,30,18,.2) 60%, rgba(12,30,18,0) 74%),
             linear-gradient(0deg, rgba(12,30,18,.40) 0%, rgba(12,30,18,0) 30%)}
body.mv21-page .mv-slide .mv-hero-txt{z-index:3}
body.mv21-page .mv-slide .mv-h1 .elementor-heading-title{color:#fff}
body.mv21-page .mv-slide-osz .mv-hero-txt .mv-h1,body.mv21-page .mv-slide-video .mv-hero-txt .mv-h1{max-width:560px}
@media (min-width:1025px){body.mv21-page .mv-slide-osz .mv-h1 .elementor-heading-title,body.mv21-page .mv-slide-video .mv-h1 .elementor-heading-title{font-size:56px}}
body.mv21-page .mv-slide .elementor-background-video-container{z-index:0}

/* Roger: separate image widget, feet on the stubble; slides in each time his slide becomes active */
body.mv21-page .mv-hero-roger{position:absolute; right:14%; bottom:5%; height:88%; width:auto!important; max-width:none; z-index:2}
body.mv21-page .mv-hero-roger .elementor-widget-container{height:100%}
body.mv21-page .mv-hero-roger img{height:100%; width:auto; max-width:none; filter:drop-shadow(0 18px 14px rgba(30,24,12,.35))}
body.mv21-page .swiper-slide-active .mv-hero-roger img{animation:mv-roger-in 1.35s cubic-bezier(.22,.7,.2,1) .7s both}
@keyframes mv-roger-in{from{transform:translate3d(38%,0,0); opacity:0} 35%{opacity:1} to{transform:translate3d(0,0,0); opacity:1}}
body.elementor-editor-active.mv21-page .mv-hero-roger img{animation:none!important}
body.mv21-page .mv-slide .mv-badge21-w{z-index:4}

/* navigation: arrows and bullets on the photo */
body.mv21-page .mv-hero-car .elementor-swiper-button{color:#fff; background:rgba(12,30,18,.35); border-radius:50%; width:48px; height:48px; display:grid; place-items:center; font-size:22px; z-index:5}
body.mv21-page .mv-hero-car .elementor-swiper-button svg{fill:#fff; width:18px; height:18px}
body.mv21-page .mv-hero-car{padding-bottom:6px}
body.mv21-page .mv-hero-car .swiper-pagination{z-index:5}
body.mv21-page .mv-hero-car .swiper-pagination-bullet{background:#b9c2b3; opacity:1; width:10px; height:10px}
body.mv21-page .mv-hero-car .swiper-pagination-bullet-active{opacity:1; background:var(--mv-green); width:28px; border-radius:6px}

@media (max-width:1024px){
  body.mv21-page .mv-hero-car .swiper-slide > .e-con.mv-hero{height:720px}
  body.mv21-page .mv-slide .mv-hero-txt{position:absolute; left:40px; top:56px; right:40px; width:auto; max-width:640px}
  body.mv21-page .mv-hero-roger{right:6%; height:62%}
}
@media (max-width:767px){
  body.mv21-page .mv-hero-car .swiper-slide > .e-con.mv-hero{height:860px}
  body.mv21-page .mv-slide .mv-hero-shade{background:linear-gradient(180deg, rgba(12,30,18,.92) 0%, rgba(12,30,18,.82) 44%, rgba(12,30,18,.15) 64%, rgba(12,30,18,0) 76%)}
  body.mv21-page .mv-slide .mv-hero-txt{left:22px; right:22px; top:28px}
  body.mv21-page .mv-hero-roger{right:auto; left:12%; height:48%; bottom:3%}
  body.mv21-page .swiper-slide-active .mv-hero-roger img{animation-name:mv-roger-in-m}
  @keyframes mv-roger-in-m{from{transform:translate3d(30%,0,0); opacity:0} to{transform:none; opacity:1}}
  body.mv21-page .mv-hero-car .elementor-swiper-button{display:none}
  body.mv21-page .mv-slide .mv-badge21-w{left:auto; right:14px; bottom:40px}
}
@media (prefers-reduced-motion:reduce){
  body.mv21-page .mv-hero-roger img{animation:none!important}
}

/* ---------------------------------------------------------------- 1.5: "Miért most?" 5-station stepper (Elementor Carousel) */
body.mv21-page .mv-stacio-car{--e-n-carousel-swiper-slides-gap:0px; width:100%}
body.mv21-page .mv-stacio-car .e-n-carousel{border-radius:18px; overflow:hidden; box-shadow:0 24px 50px rgba(0,0,0,.18)}
body.mv21-page .mv-stacio-car .swiper-slide > .e-con.mv-stacio{--padding-top:0; --padding-bottom:0; --padding-left:0; --padding-right:0; padding:0; position:relative; aspect-ratio:1/1}
body.mv21-page .mv-stacio-img{position:absolute; inset:0; width:100%!important; max-width:none!important}
body.mv21-page .mv-stacio-img .elementor-widget-container{height:100%}
body.mv21-page .mv-stacio-img img{width:100%; height:100%; object-fit:cover; object-position:50% 30%; display:block}
body.mv21-page .mv-stacio-card{position:absolute; left:18px; right:auto; bottom:18px; width:min(330px, calc(100% - 36px)); z-index:2; background:#fff; color:var(--mv-ink);
  border-radius:16px; padding:18px 22px 20px; box-shadow:0 16px 36px rgba(0,0,0,.2); gap:2px; --padding-top:18px; --padding-bottom:20px; --padding-left:22px; --padding-right:22px}
/* small product pack on the card's top edge (label check against the approved originals before going live) */
body.mv21-page .mv-stacio-pack{position:absolute; right:20px; top:-58px; width:auto!important; z-index:3}
body.mv21-page .mv-stacio-pack img{height:112px; width:auto; max-width:none; filter:drop-shadow(0 10px 14px rgba(0,0,0,.3)); transform:rotate(4deg)}
body.mv21-page .mv-stacio-name{padding-right:84px}
@media (max-width:767px){body.mv21-page .mv-stacio-pack{top:-48px; right:14px} body.mv21-page .mv-stacio-pack img{height:88px} body.mv21-page .mv-stacio-name{padding-right:70px}}
body.mv21-page .mv-stacio-step .elementor-heading-title{font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--mv-green)}
body.mv21-page .mv-stacio-name .elementor-heading-title{font-size:24px; font-weight:700; color:var(--mv-ink); margin:2px 0 4px}
body.mv21-page .mv-stacio-txt p{font-size:15px; line-height:1.45; color:var(--mv-muted); margin:0}
/* card text slides up a touch each time a station becomes active */
body.mv21-page .mv-stacio-car .swiper-slide-active .mv-stacio-card{animation:mv-stacio-in .6s cubic-bezier(.2,.7,.2,1) both}
@keyframes mv-stacio-in{from{opacity:0; transform:translateY(14px)} to{opacity:1; transform:none}}

/* pagination = 5-part progress bar with numbers; the active part fills over the autoplay time */
body.mv21-page .mv-stacio-car .swiper-pagination{position:static; display:flex; gap:8px; margin-top:16px; counter-reset:st; width:100%!important; max-width:none; transform:none!important; left:auto!important}
body.mv21-page .mv-stacio-car .swiper-pagination-bullet{flex:1; height:auto; width:auto; margin:0!important; border-radius:0; background:none; opacity:1;
  counter-increment:st; position:relative; padding-top:14px; font-size:12px; font-weight:700; color:rgba(255,255,255,.7); text-align:left}
body.mv21-page .mv-stacio-car .swiper-pagination-bullet:before{content:counter(st, decimal-leading-zero); display:block}
body.mv21-page .mv-stacio-car .swiper-pagination-bullet:after{content:""; position:absolute; left:0; right:0; top:0; height:6px; border-radius:3px; background:rgba(255,255,255,.3)}
body.mv21-page .mv-stacio-car .swiper-pagination-bullet-active{color:#fff}
body.mv21-page .mv-stacio-car .swiper-pagination-bullet-active:after{background:linear-gradient(90deg, #fff 50%, rgba(255,255,255,.3) 50%) 100% 0/200% 100% no-repeat;
  animation:mv-stacio-fill 4.5s linear both}
@keyframes mv-stacio-fill{from{background-position:100% 0} to{background-position:0 0}}

@media (max-width:767px){
  body.mv21-page .mv-stacio-card{left:12px; bottom:12px; width:calc(100% - 24px); padding:14px 16px}
  body.mv21-page .mv-stacio-name .elementor-heading-title{font-size:20px}
  body.mv21-page .mv-stacio-txt p{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  body.mv21-page .mv-stacio-car .swiper-slide-active .mv-stacio-card{animation:none}
  body.mv21-page .mv-stacio-car .swiper-pagination-bullet-active:after{animation:none; background:#fff}
}

/* ---------------------------------------------------------------- 1.6: brand owner strip under the hero */
body.mv21-page .mv-owner{background:var(--mv-base); padding:26px 0 30px}
body.mv21-page .mv-owner-in{display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:40px; max-width:1360px; margin:0 auto; padding:0 20px}
body.mv21-page .mv-owner-txt{border-left:3px solid var(--mv-green); padding:6px 0 6px 20px; width:auto; gap:6px}
body.mv21-page .mv-owner-eb .elementor-heading-title{font-size:13px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--mv-green)}
body.mv21-page .mv-owner-t .elementor-heading-title{font-size:20px; font-weight:700; color:var(--mv-ink); line-height:1.3}
body.mv21-page .mv-owner-r{display:flex; flex-direction:row; align-items:center; gap:26px; width:auto}
body.mv21-page .mv-owner-logo{width:auto!important}
body.mv21-page .mv-owner-logo img{height:72px; width:auto; max-width:none; display:block}
body.mv21-page .mv-owner-link{border-left:1px solid var(--mv-line); padding-left:26px; width:auto}
body.mv21-page .mv-owner-link .elementor-button{white-space:nowrap; background:none!important; border:0; box-shadow:none; padding:8px 0; color:var(--mv-deep-green); font-weight:700; font-size:16px; display:inline-flex; align-items:center; gap:10px}
body.mv21-page .mv-owner-link .elementor-button:after{content:"↗"; font-size:22px; line-height:1; transition:transform .25s}
body.mv21-page .mv-owner-link .elementor-button:hover{color:var(--mv-green)}
body.mv21-page .mv-owner-link .elementor-button:hover:after{transform:translate(3px,-3px)}
@media (max-width:767px){
  body.mv21-page .mv-owner{padding:22px 0 24px}
  body.mv21-page .mv-owner-in{flex-direction:column; align-items:flex-start; gap:18px; padding:0 16px}
  body.mv21-page .mv-owner-t .elementor-heading-title{font-size:17px}
  body.mv21-page .mv-owner-r{gap:18px; flex-wrap:wrap}
  body.mv21-page .mv-owner-logo img{height:54px}
  body.mv21-page .mv-owner-link{padding-left:18px}
}

/* 1.7: +21 badge as artwork (image widget, replaceable in WP admin) */
body.mv21-page .mv-badge21-img{width:230px!important; right:56px; bottom:48px; top:auto}
body.mv21-page .mv-badge21-img img{width:100%; height:auto; display:block; filter:drop-shadow(0 14px 24px rgba(0,0,0,.35))}
body.mv21-page .swiper-slide-active .mv-badge21-img img{animation:mv-badge-in .7s cubic-bezier(.2,.8,.25,1.2) 1.6s both}
@keyframes mv-badge-in{from{opacity:0; transform:scale(.7) rotate(-12deg)} to{opacity:1; transform:none}}
@media (max-width:1024px){body.mv21-page .mv-badge21-img{width:180px!important; right:24px; bottom:24px}}
@media (max-width:767px){body.mv21-page .mv-badge21-img{width:128px!important; right:14px; left:auto; bottom:40px}}
@media (prefers-reduced-motion:reduce){body.mv21-page .mv-badge21-img img{animation:none}}

/* 1.8: 5-step cards as in the reference layout: big product logotype, centred drawing,
   equal-height "Miért jó Önnek?" boxes, latin name pinned to the card bottom */
body.mv21-page .mv-steps{align-items:stretch}
body.mv21-page .mv-step{display:flex; flex-direction:column}
body.mv21-page .mv-step-box{display:flex; flex-direction:column; flex:1; gap:0}
body.mv21-page .mv-step-rajz{margin:6px 0 16px; display:flex; justify-content:center}
body.mv21-page .mv-step-rajz img{height:120px!important; width:auto!important; max-width:100%!important; margin:0 auto}
body.mv21-page .mv-step-why{margin:0 0 16px; padding:14px 16px; min-height:214px}
body.mv21-page .mv-step-why p{font-weight:500; font-size:15px; line-height:1.5}
body.mv21-page .mv-step-why strong{display:inline-block; margin-bottom:4px; font-size:14px}
body.mv21-page .mv-step-d{flex:1}
body.mv21-page .mv-step-lat{margin-top:auto}
@media (max-width:1280px){
  body.mv21-page .mv-step-why{min-height:236px}
}
@media (max-width:1024px){
  body.mv21-page .mv-step-why{min-height:0}
}

/* 1.9: product names as crisp live text in the label style (heavy italic + coloured underline bars) */
@font-face{font-family:'MV21 Brand'; font-style:italic; font-weight:800; font-display:swap; src:url(../fonts/barlow-800i-latin-ext.woff2) format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'MV21 Brand'; font-style:italic; font-weight:800; font-display:swap; src:url(../fonts/barlow-800i-latin.woff2) format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body.mv21-page .mv-step-brand{margin:18px 0 10px; height:64px; display:flex; align-items:flex-end}
body.mv21-page .mv-step-brand .elementor-heading-title{position:relative; display:inline-block; font-family:'MV21 Brand','Google Sans',sans-serif; font-style:italic; font-weight:800;
  font-size:40px; line-height:1; letter-spacing:-.01em; color:#101c22; padding-bottom:12px; --b1:#7dc243; --b2:#1aa6bd}
body.mv21-page .mv-step-brand .elementor-heading-title:after{content:""; position:absolute; left:2px; right:0; bottom:4px; height:5px; border-radius:1px; background:linear-gradient(90deg,var(--b1),var(--b2)); transform:skewX(-20deg)}
body.mv21-page .mv-step-brand .elementor-heading-title:before{content:""; position:absolute; left:2px; right:10%; bottom:0; height:2px; background:#8d969a; transform:skewX(-20deg)}
body.mv21-page .mv-brand-nutrelease .elementor-heading-title{font-size:34px; --b1:#7dc243; --b2:#1aa6bd}
body.mv21-page .mv-brand-nutrelease .elementor-heading-title:before{display:none}
body.mv21-page .mv-brand-megan .elementor-heading-title{--b1:#7dc243; --b2:#b4d335}
body.mv21-page .mv-brand-megan .elementor-heading-title:after{background:linear-gradient(90deg,#7dc243 0 44%,transparent 44% 52%,#b4d335 52%)}
body.mv21-page .mv-brand-t100 .elementor-heading-title{font-size:48px; --b1:#7dc243; --b2:#1e5fcb}
body.mv21-page .mv-brand-sporado .elementor-heading-title{--b1:#7dc243; --b2:#f07c1c}
body.mv21-page .mv-brand-sporado .elementor-heading-title:after{background:linear-gradient(90deg,#7dc243 0 14%,transparent 14% 18%,#b4d335 18%,#f07c1c 70%)}
@media (max-width:1280px){
  body.mv21-page .mv-step-brand .elementor-heading-title{font-size:34px}
  body.mv21-page .mv-brand-nutrelease .elementor-heading-title{font-size:29px}
  body.mv21-page .mv-brand-t100 .elementor-heading-title{font-size:42px}
}
