@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Roboto;src:url('assets/fonts/Roboto-Bold.ttf') format('truetype');font-weight:700;font-display:swap}

:root{
  --blue:#2c59aa;
  --blue-deep:#243f88;
  --blue-dark:#17316e;
  --blue-soft:#9cb7e3;
  --blue-pale:#eef3fb;
  --burgundy:#761c57;
  --green:#10a45a;
  --yellow:#e5a91d;
  --ink:#202124;
  --white:#fff;
  --max:1240px;
  --curve:clamp(48px,8vw,110px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);font-family:Roboto,Arial,sans-serif;background:#fff;line-height:1.55}
img{display:block;width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
:focus-visible{outline:3px solid #f0a72d;outline-offset:4px}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:100;background:white;padding:.8rem 1rem;border-radius:.5rem}
.skip-link:focus{top:1rem}

.site-header{height:78px;padding:0 max(24px,calc((100vw - var(--max))/2));display:flex;align-items:center;gap:42px;background:rgba(255,255,255,.95);backdrop-filter:blur(12px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(44,89,170,.12)}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:216px;height:auto;max-height:48px}
nav{display:flex;gap:28px;margin-left:auto;font-size:.92rem;font-weight:500;color:#30416b}
nav a{padding:8px 0;border-bottom:2px solid transparent}
nav a:hover{border-color:var(--blue)}
.header-cta{background:var(--yellow);color:white;padding:11px 18px;border-radius:999px;font-weight:700;font-size:.9rem}
.mobile-menu-cta{display:none}
.menu-toggle{display:none;position:relative;width:44px;height:44px;background:none;border:0;padding:0;cursor:pointer}
.menu-toggle span{position:absolute;left:10px;width:24px;height:2px;background:var(--blue);transition:top .25s ease,transform .25s ease,opacity .2s ease}
.menu-toggle span:nth-child(1){top:13px}
.menu-toggle span:nth-child(2){top:21px}
.menu-toggle span:nth-child(3){top:29px}
.menu-toggle[aria-expanded="true"] span:nth-child(1){top:21px;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){top:21px;transform:rotate(-45deg)}

.hero{min-height:calc(100vh - 78px);position:relative;overflow:hidden;display:flex;align-items:center;background:var(--blue-dark);isolation:isolate}
.hero-photo{position:absolute;inset:0;height:100%;object-fit:cover;z-index:-3}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,25,59,.75) 0%,rgba(9,25,59,.16) 65%,rgba(9,25,59,.25) 100%);z-index:-2}
.hero-drop-decoration{position:absolute;right:clamp(24px,5vw,90px);bottom:-72px;width:clamp(218px,22vw,380px);height:auto;opacity:.32;z-index:0;pointer-events:none}
.hero-content{position:relative;z-index:1;width:min(680px,calc(100% - 48px));margin-left:max(24px,calc((100vw - var(--max))/2));padding:90px 0 120px;color:white}
h1,h2,h3,p{margin-top:0}
h3{font-size:1.25rem;line-height:1.25}
h1{font-size:clamp(2.7rem,5.6vw,5.5rem);line-height:.98;letter-spacing:-.055em;margin-bottom:28px;max-width:900px}
.hero-lead{font-size:clamp(1.06rem,1.5vw,1.32rem);max-width:650px;line-height:1.55;margin-bottom:34px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 24px;border-radius:999px;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;border:0;cursor:pointer}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.button-primary{background:var(--yellow);color:white}
.button-ghost{border:1px solid rgba(255,255,255,.7);color:white}
.microcopy{font-size:.82rem;color:rgba(255,255,255,.74);margin:16px 0 0}

.trust-bar{max-width:var(--max);margin:-34px auto 0;position:relative;z-index:3;background:white;box-shadow:0 18px 60px rgba(25,57,117,.16);border-radius:24px;display:grid;grid-template-columns:repeat(3,1fr);padding:28px 36px}
.trust-bar>div{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:18px;row-gap:0;align-items:center;padding:0 30px;border-right:1px solid #d8e2f2}
.trust-bar>div:last-child{border:0}
.trust-bar img{grid-row:1 / 3;width:46px;height:46px;object-fit:contain;filter:brightness(0) saturate(100%) invert(36%) sepia(51%) saturate(1168%) hue-rotate(182deg) brightness(85%) contrast(91%)}
.trust-bar strong{font-size:1.35rem;line-height:1.05;color:var(--blue);margin:0;padding-bottom:3px;align-self:end}
.trust-bar span{font-size:.88rem;line-height:1.2;color:#536176;align-self:start}
.section{padding:clamp(88px,10vw,150px) max(24px,calc((100vw - var(--max))/2))}
.section-grid{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:start}
h2{font-size:clamp(2.2rem,4.6vw,4.6rem);line-height:1.04;letter-spacing:-.045em;margin-bottom:28px;color:#2c59aa}
.copy{font-size:1.13rem;max-width:580px}
.callout{border-left:5px solid var(--burgundy);padding:10px 0 10px 24px;font-weight:700;color:var(--blue-dark)}
.urgency{position:relative;isolation:isolate;overflow:hidden;padding-bottom:220px;background-image:linear-gradient(to bottom,#fff 0%,#fff 14%,rgba(255,255,255,.86) 32%,rgba(255,255,255,.08) 66%),url("assets/images/csapadekhiany-aszalyos-kukoricatabla.jpg");background-position:center,bottom center;background-size:100% 100%,100% auto;background-repeat:no-repeat}
.urgency-lead{max-width:1060px;margin:0 auto;text-align:center;position:relative;z-index:1}
.system-section h2,.community h2,.technologies h2,.contact h2{color:white}
.issue-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:118px;position:relative;z-index:1}
.issue-card{--issue-accent:#4d70c4;position:relative;display:flex;flex-direction:column;background:white;padding:68px 26px 28px;border:1px solid transparent;border-radius:22px;min-height:220px;box-shadow:0 18px 42px rgba(21,44,82,.18);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.issue-icon{position:absolute;left:26px;top:-54px;width:82px;height:106px;color:#4d70c4;display:grid;place-items:center;padding-top:16px}
.issue-card:nth-child(2){--issue-accent:#d79a1b}
.issue-card:nth-child(3){--issue-accent:#711841}
.issue-card:nth-child(4){--issue-accent:#72bd2a}
.issue-card:nth-child(2) .issue-icon{color:#d79a1b}
.issue-card:nth-child(3) .issue-icon{color:#711841}
.issue-card:nth-child(4) .issue-icon{color:#72bd2a}
.issue-icon .drop-bg{position:absolute;inset:0;width:100%;height:100%;fill:currentColor}
.issue-icon .issue-glyph{position:relative;z-index:1;width:34px;height:34px;fill:none;stroke:white;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.issue-lottie{position:relative;z-index:1;display:block;width:46px;height:46px;filter:brightness(0) invert(1)}
.issue-lottie svg{display:block;width:100%!important;height:100%!important}
.issue-card h3{font-size:1.25rem;line-height:1.25;margin:0 0 12px;color:var(--blue-dark)}
.issue-card p{margin:0;color:var(--text-muted);font-size:.96rem;line-height:1.5}
.urgency-footer{position:relative;z-index:1;margin-top:28px;background:linear-gradient(90deg,#325184 0%,#00a651 100%);color:white;padding:24px 28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:22px;box-shadow:0 16px 34px rgba(21,44,82,.18)}
.urgency-footer p{margin:0;font-size:1.05rem}
.urgency-footer .button{flex:0 0 auto;background:white;color:#325184}

.farmer-story{padding:110px max(24px,calc((100vw - var(--max))/2));background:white}
.farmer-story-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(48px,6vw,92px);align-items:center;max-width:var(--max);margin:0 auto}
.farmer-story-gallery{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(130px,.75fr);grid-template-rows:1fr 1fr;gap:16px;height:540px}
.farmer-story-photo{overflow:hidden;border-radius:24px;background:var(--blue)}
.farmer-story-photo-main{grid-row:1/3}
.farmer-story-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.farmer-story-photo-small:nth-child(2) img{object-position:center 47%}
.farmer-story-photo-small:nth-child(3) img{object-position:center 44%}
.farmer-story-quote{position:relative;display:flex;flex-direction:column;justify-content:center;margin:0;padding:42px 0;color:var(--blue-dark)}
.farmer-story-quote::before{content:"“";position:absolute;z-index:0;top:-82px;left:-30px;color:rgba(44,89,170,.075);font-size:18rem;font-weight:700;line-height:1;pointer-events:none}
.farmer-story-quote blockquote{position:relative;z-index:1;margin:0 0 30px;font-size:clamp(2rem,3.4vw,3.65rem);font-weight:700;line-height:1.08;letter-spacing:-.04em}
.farmer-story-quote figcaption{position:relative;z-index:1;display:flex;flex-direction:column;gap:9px;max-width:620px;padding-top:24px;border-top:1px solid #d8e2f2}
.farmer-story-quote figcaption strong{font-size:1.08rem}
.farmer-story-quote figcaption span{color:var(--text-muted);font-size:1rem;line-height:1.6}
.farmer-story-button{position:relative;z-index:1;align-self:flex-start;margin-top:30px;background:var(--yellow);color:white}

.farm-types{position:relative;overflow:hidden;background-color:white;background-image:url("assets/images/vtk-vizcsepp-motivum.png"),linear-gradient(to bottom,var(--blue-pale) 0%,#fff 100%);background-position:center bottom,center;background-size:100% auto,100% 100%;background-repeat:no-repeat;padding-bottom:105px}
.farm-types-heading{position:relative;z-index:1;max-width:820px;margin:0 auto 54px;text-align:center}
.farm-types-heading h2{color:var(--blue)}
.farm-type-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.farm-type-card{background:white;display:flex;flex-direction:column;overflow:hidden;border-radius:22px;box-shadow:0 12px 30px rgba(22,52,103,.08);transition:background .25s ease,transform .25s ease,box-shadow .25s ease}
.farm-type-copy{padding:24px 24px 20px;background:white;transition:background .25s ease,color .25s ease}
.farm-type-card h3{margin:0 0 14px;font-size:1.25rem;line-height:1.25}
.farm-type-card h3{min-height:2.5em}
.farm-type-card p{margin:0;color:var(--text-muted);font-size:.95rem;line-height:1.45;transition:color .25s ease}
.farm-type-card>img{width:100%;height:240px;object-fit:cover;display:block}
.farm-type-card:hover,.farm-type-card:focus-within{background:var(--blue);transform:translateY(-6px);box-shadow:0 18px 38px rgba(22,52,103,.2)}
.farm-type-card:hover .farm-type-copy,.farm-type-card:focus-within .farm-type-copy{background:var(--blue);color:white}
.farm-type-card:hover p,.farm-type-card:focus-within p{color:#e8effb}

.system-section{position:relative;overflow:hidden;color:var(--ink);padding:clamp(100px,11vw,155px) max(24px,calc((100vw - var(--max))/2));background-color:var(--blue);background-image:linear-gradient(110deg,rgba(35,71,151,.94),rgba(35,71,151,.82)),url("assets/images/ontozesfejlesztes-kivitelezes-gepeszet.jpg");background-position:center;background-size:cover;background-repeat:no-repeat}
.system-content{position:relative;z-index:1;max-width:var(--max);margin:0 auto}
.system-content>h2{max-width:920px;margin:0 auto;text-align:center}
.urgency-intro{max-width:850px;margin:0 auto;color:var(--blue-dark);font-size:1.13rem;line-height:1.65}
.service-hub{position:relative;max-width:960px;margin:0 auto;padding:38px clamp(24px,4vw,60px);border-radius:28px;background:white;text-align:center;box-shadow:0 20px 48px rgba(8,29,75,.2)}
.service-hub>img{width:240px;height:auto;margin:0 auto 24px}
.service-hub h2{color:var(--blue);font-size:clamp(2rem,3.8vw,3.7rem);margin-bottom:22px}
.service-hub p{max-width:750px;margin:0 auto;color:var(--blue-dark);font-size:1.13rem;line-height:1.65}
.service-hub p strong{display:block;margin-bottom:8px}
.service-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:115px}
.service-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.service-connection-line{fill:none;stroke:var(--blue-soft);stroke-width:2}
@media(max-width:1050px){.service-connections{display:none}}
.service-card{--service-accent:var(--blue);position:relative;background:var(--blue-pale);padding:82px 26px 30px;border:1px solid transparent;border-radius:24px;box-shadow:0 20px 48px rgba(8,29,75,.22);min-height:360px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.service-icon{position:absolute;left:26px;top:-68px;width:104px;height:134px;display:grid;place-items:center;color:var(--service-accent)}
.service-drop{position:absolute;inset:0;width:100%;height:100%;fill:currentColor;filter:drop-shadow(0 12px 12px rgba(8,29,75,.2))}
.service-icon img{position:relative;z-index:1;width:46px;height:46px;object-fit:contain;transform:translateY(12px)}
.service-card h3{min-height:3.84em;margin:0 0 12px;color:var(--service-accent);font-size:1.28rem;line-height:1.28}
.service-card p{margin:0;color:#48556d;font-size:.96rem;line-height:1.58}
.service-community{--service-accent:#dfa229}
.service-planning{--service-accent:#87c33f}
.service-grant{--service-accent:#4d78bd}
.service-build{--service-accent:#761c57}
@media (hover:hover){
  .issue-card:hover{transform:translateY(-7px);border-color:var(--issue-accent);box-shadow:0 25px 52px rgba(21,44,82,.24)}
  .service-card:hover{border-color:var(--service-accent);box-shadow:0 28px 58px rgba(8,29,75,.3)}
}
.service-cta{display:grid;grid-template-columns:auto auto auto;align-items:center;justify-content:center;gap:28px;margin-top:46px;padding:25px 28px;background:rgba(20,54,126,.78);border-radius:22px;color:white}
.service-cta-step{display:flex;align-items:center;gap:8px;font-size:3.1rem;line-height:1;color:var(--yellow)}
.service-cta-step span{font-size:1rem;letter-spacing:.08em;color:white}
.service-cta p{max-width:none;margin:0;color:white;font-size:1.08rem;line-height:1.5;white-space:nowrap}
.service-cta .button{min-height:56px;padding:0 26px;font-size:.96rem;white-space:nowrap}

.community{background:white;color:var(--ink)}
.community-card{display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;background:var(--blue-pale);border-radius:30px;box-shadow:0 18px 48px rgba(22,52,103,.12)}
.community-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(38px,5vw,68px)}
.community-copy h3{max-width:590px;margin:0 0 20px;color:var(--blue);font-size:clamp(1.9rem,3vw,3rem);line-height:1.08;letter-spacing:-.035em}
.community-copy p{max-width:650px;margin:0 0 30px;color:#536176;font-size:1.06rem;line-height:1.6}
.community-farmer{height:100%;min-height:430px;object-fit:cover;object-position:62% center}

.funding-section{background:var(--blue-pale)}
.funding-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,4.5vw,64px);align-items:stretch;max-width:var(--max);margin:auto}
.funding-visual{position:relative;overflow:hidden;border-radius:28px;background:var(--blue-dark);box-shadow:0 18px 48px rgba(22,52,103,.12)}
.funding-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:40% center}
.funding-inner h2,.shared-heading h2{color:var(--blue);font-size:clamp(2rem,3.2vw,3rem);line-height:1.12;margin:0 0 22px}
.funding-inner p,.shared-heading p{margin:0;color:#536176;font-size:1.08rem;line-height:1.65}
.funding-action{margin-top:30px;border-left:3px solid var(--yellow);padding-left:28px}
.funding-action p{margin-bottom:24px;color:var(--blue-deep);font-size:1.55rem;line-height:1.3}
.funding-action small{display:block;margin-top:16px;color:#536176;font-size:.85rem}
.shared-irrigation{background:white}
.shared-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;max-width:var(--max);margin:auto}
.shared-heading{max-width:760px;margin:0 auto;text-align:center}
.shared-heading .button{margin-top:28px}
.shared-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;padding:0;margin:71px 0 0}
.shared-steps li{position:relative;padding:96px 32px 32px;border:1px solid #d8e2f2;border-radius:28px;background:var(--blue-pale);text-align:center;transition:transform .3s ease,box-shadow .3s ease}
.shared-steps li>span{position:absolute;top:-71px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;isolation:isolate;width:110px;height:142px;padding-top:30px;background:var(--blue);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 124.06 160.25%27%3E%3Cpath d=%27M65.65,1.55c-2.07-2.07-5.17-2.07-7.24,0C55.83,4.14,0,61,0,98.22s31.53,62.03,62.03,62.03,62.03-23.26,62.03-62.03S68.24,4.14,65.65,1.55Z%27/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 124.06 160.25%27%3E%3Cpath d=%27M65.65,1.55c-2.07-2.07-5.17-2.07-7.24,0C55.83,4.14,0,61,0,98.22s31.53,62.03,62.03,62.03,62.03-23.26,62.03-62.03S68.24,4.14,65.65,1.55Z%27/%3E%3C/svg%3E") center/contain no-repeat;color:white;font-size:2rem;font-weight:700;line-height:1}
.shared-steps li>span::before,.shared-steps li>span::after{content:"";position:absolute;left:-65px;top:175px;width:240px;height:240px;border-radius:35%;background:var(--blue-dark);transition:top 3.5s linear;animation:step-water-wave 2.8s linear infinite;animation-play-state:paused;pointer-events:none}
.shared-steps li>span::before{opacity:.45;border-radius:38%;animation-direction:reverse;animation-duration:3.6s;transition-delay:.2s}
.shared-steps li>span::after{animation-delay:-1.5s}
.shared-steps .step-number{position:relative;z-index:1;font-weight:700}
@media(hover:hover){
  .shared-steps li:hover{transform:translateY(-8px);box-shadow:0 18px 36px rgba(22,52,103,.14)}
  .shared-steps li:hover>span::before,.shared-steps li:hover>span::after{top:-55px;animation-play-state:running}
}
.shared-steps li:focus-within>span::before,.shared-steps li:focus-within>span::after{top:-55px;animation-play-state:running}
@keyframes step-water-wave{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
  .shared-steps li{transition:none}
  .shared-steps li:hover{transform:none}
  .shared-steps li>span::before,.shared-steps li>span::after{animation:none;transition:none}
}
.shared-steps h3{min-height:2.6em;margin:0 0 9px;color:var(--blue-deep);font-size:1.25rem;line-height:1.3}
.shared-steps p{margin:0;color:#536176;font-size:1rem;line-height:1.6}
@media(max-width:760px){
  .funding-inner,.shared-inner{grid-template-columns:minmax(0,1fr);gap:36px}
  .funding-inner>div,.shared-inner>div,.shared-steps,.shared-steps li>div{min-width:0;overflow-wrap:break-word}
  .funding-action{padding-left:24px}
  .funding-visual img{position:static;height:auto;aspect-ratio:3/2}
  .funding-inner .button,.shared-heading .button{max-width:100%;white-space:normal;text-align:center}
  .shared-steps{grid-template-columns:minmax(0,1fr);gap:100px}
  .shared-steps li{padding:96px 24px 28px}
  .shared-steps li:nth-child(1){--step-water-top:75%}
  .shared-steps li:nth-child(2){--step-water-top:50%}
  .shared-steps li:nth-child(3){--step-water-top:0%}
  .shared-steps li>span::before,.shared-steps li>span::after{left:0;top:100%;width:100%;height:calc(100% + 10px);border-radius:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='110' height='10' viewBox='0 0 110 10'%3E%3Cpath fill='%2317316e' d='M0 5 Q27.5 -3 55 5 T110 5 V10 H0Z'/%3E%3C/svg%3E") 0 0/110px 10px repeat-x,linear-gradient(var(--blue-dark),var(--blue-dark)) 0 9px/100% calc(100% - 9px) no-repeat;transform:translateY(-5px);animation:step-water-surface 2.8s linear infinite paused;transition:top 1.4s ease-in-out}
  .shared-steps li>span::before{transform:translateY(-8px);animation-direction:reverse;animation-duration:3.6s;transition-delay:.12s}
  .shared-steps li.is-step-visible>span::before,.shared-steps li.is-step-visible>span::after{animation-play-state:running}
  .shared-steps li.is-step-visible>span::before,.shared-steps li.is-step-visible>span::after{top:var(--step-water-top)}
  .shared-steps li:focus-within>span::before,.shared-steps li:focus-within>span::after{top:var(--step-water-top)}
}
@keyframes step-water-surface{to{background-position:110px 0,0 9px}}
@media(max-width:760px) and (prefers-reduced-motion:reduce){.shared-steps li>span::before,.shared-steps li>span::after{animation:none;transition:none}}

.reference{background:var(--blue-pale)}
.reference-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;max-width:var(--max);margin:0 auto 54px;text-align:left}
.reference-heading h2{max-width:900px;margin:0}
.reference-heading-copy{min-width:0}
.reference-heading p{max-width:760px;margin:20px 0 0;color:#536176;font-size:1.08rem}
.reference-heading>.reference-count{flex:0 0 auto}
.reference-type{display:block;align-self:flex-start;margin-bottom:12px;padding:6px 10px;border-radius:6px;background:var(--blue-pale);color:var(--blue-deep);font-size:.88rem;font-weight:700;line-height:1.3}
.reference-slider{position:relative;max-width:var(--max);margin:0 auto}
.reference-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:30px;box-shadow:0 24px 60px rgba(22,52,103,.15)}
.reference-track::-webkit-scrollbar{display:none}
.reference-slide{flex:0 0 100%;display:grid;grid-template-columns:minmax(0,.94fr) minmax(440px,1.06fr);height:520px;background:white;scroll-snap-align:start;scroll-snap-stop:always}
.reference-photo{height:520px;min-height:0;overflow:hidden}
.reference-photo img{height:100%;object-fit:cover;transition:transform .7s ease}
.reference-slide:hover .reference-photo img{transform:scale(1.025)}
.reference-copy{display:flex;flex-direction:column;justify-content:center;padding:28px clamp(30px,3.5vw,48px)}
.reference-meta{display:block;margin-bottom:11px;color:var(--blue);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.reference-copy h3{margin:0 0 14px;color:var(--blue-deep);font-size:clamp(1.65rem,2.1vw,2.25rem);line-height:1.08;letter-spacing:-.025em}
.reference-copy p{margin:0 0 14px;color:#536176;font-size:.91rem;line-height:1.48}
.reference-copy ul{margin:0;padding:13px 0 0;list-style:none;border-top:1px solid #d4deed}
.reference-copy li{display:flex;align-items:center;gap:12px;margin:7px 0;color:#33425e;font-size:1rem;line-height:1.42}
.reference-copy li::before{content:"";flex:0 0 13px;width:13px;height:16px;background:url("assets/referencia-vizcsepp-listajel.svg") center/contain no-repeat}
.reference-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.reference-count{display:flex;align-items:baseline;gap:7px;color:#73819a}
.reference-count strong{color:var(--blue);font-size:2rem;line-height:1}
.reference-count span{font-weight:700}
.reference-dots{display:flex;justify-content:center;gap:9px}
.reference-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:#aabbd7;cursor:pointer;transition:width .2s ease,background .2s ease}
.reference-dot.is-active{width:34px;border-radius:999px;background:var(--blue)}
.reference-side-arrows{position:absolute;left:-25px;right:-25px;top:50%;display:flex;justify-content:space-between;pointer-events:none;transform:translateY(-50%);z-index:3}
.reference-arrow{display:grid;place-items:center;width:54px;height:54px;padding:0;border:1px solid #b8c8e2;border-radius:50%;background:white;box-shadow:0 10px 28px rgba(22,52,103,.18);cursor:pointer;pointer-events:auto;transition:background .2s ease,border-color .2s ease,transform .2s ease}
.reference-arrow img{width:19px;height:19px;object-fit:contain}
.reference-arrow-prev img{transform:rotate(90deg)}
.reference-arrow-next img{transform:rotate(-90deg)}
.reference-arrow:hover{background:#dfe9f8;border-color:var(--blue);transform:translateY(-2px)}

.technologies{background:var(--blue);color:white;overflow:hidden}
.tech-heading{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;margin-bottom:64px}
.tech-heading>p{color:#dae5f5;font-size:1.05rem}
.tech-scroller{display:grid;grid-template-columns:repeat(5,minmax(230px,1fr));gap:18px}
.tech-scroller article{background:white;color:var(--ink);padding-bottom:24px;transition:transform .25s ease}
.tech-scroller article:hover{transform:translateY(-8px)}
.tech-scroller img{height:230px;object-fit:cover}
.tech-scroller h3,.tech-scroller p{margin-left:20px;margin-right:20px}
.tech-scroller h3{margin-top:22px;font-size:1.25rem;line-height:1.25}
.tech-scroller p{font-size:.85rem;color:#596170;margin-bottom:0}


.contact{padding:110px max(24px,calc((100vw - var(--max))/2));background:white;color:var(--ink)}
.contact-heading{max-width:960px;margin:0 auto 52px;text-align:center}
.contact-heading h2{color:var(--blue)}
.contact-heading .contact-note{max-width:760px;margin:0 auto;font-size:1.06rem;line-height:1.65;color:#536176}
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:start}
.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:18px;background:white;color:var(--ink);padding:34px;border:1px solid #d8e2f2;border-radius:28px;box-shadow:0 18px 50px rgba(22,52,103,.11)}
.form-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.button-submit:disabled{cursor:wait;opacity:.72}
.form-status.is-error{color:#a52b2b}
.form-status.is-success{color:#08743d}
.lead-form h3{grid-column:1/-1;margin:0 0 8px;color:var(--blue);font-size:1.7rem}
.form-required-note{margin:-8px 0 0;color:#536176;font-size:.88rem}
.lead-form label{display:flex;flex-direction:column;font-size:.8rem;font-weight:700;color:#42506b;gap:7px}
.lead-form input,.lead-form select,.lead-form textarea{width:100%;border:1px solid #ccd7e8;border-radius:8px;padding:12px 13px;background:#f9fbfe;color:var(--ink)}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus{border-color:var(--blue);outline:2px solid rgba(44,89,170,.16)}
.lead-form .full{grid-column:1/-1}
.consent{flex-direction:row!important;align-items:flex-start;font-weight:400!important}
.consent input{width:auto;margin-top:4px}
.consent a{color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.button-submit{background:var(--yellow);color:white;width:100%}
.form-status{margin:0;color:var(--blue);font-weight:700}
.form-follow-up{margin:0;padding-top:17px;border-top:1px solid #d8e2f2;color:#536176;font-size:.92rem;line-height:1.55}
.contact-details{padding:clamp(34px,4vw,52px);background:var(--blue-pale);border-radius:28px;color:#42506b}
.contact-details h3{margin:0 0 28px;color:var(--blue);font-size:1.7rem}
.contact-details dl{margin:0}
.contact-details dl div{display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;padding:17px 0;border-top:1px solid #cbd8eb}
.contact-details dl img{grid-row:1/3;width:27px;height:27px;object-fit:contain;filter:brightness(0) saturate(100%) invert(36%) sepia(51%) saturate(1168%) hue-rotate(182deg) brightness(85%) contrast(91%)}
.contact-details dt{margin-bottom:4px;color:#65738c;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.contact-details dd{margin:0;color:var(--blue-dark);font-size:1.05rem;font-weight:700;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline}

.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:100px max(24px,calc((100vw - var(--max))/2)) 150px;background:var(--blue-dark);color:white}
.site-footer::after{content:"";position:absolute;z-index:-2;left:0;right:0;bottom:-80px;height:clamp(120px,14vw,220px);background:url("assets/images/vtk-vizcsepp-motivum.png") center bottom/cover no-repeat;opacity:.1;pointer-events:none}
.site-footer::before{content:"";position:absolute;z-index:-1;left:0;right:0;bottom:-80px;height:clamp(120px,14vw,220px);background:linear-gradient(180deg,transparent 42%,rgba(255,255,255,.78) 49%,rgba(255,255,255,.78) 51%,transparent 58%);background-size:100% 260%;background-position:0 100%;-webkit-mask:url("assets/images/vtk-vizcsepp-motivum.png") center bottom/cover no-repeat;mask:url("assets/images/vtk-vizcsepp-motivum.png") center bottom/cover no-repeat;opacity:.13;pointer-events:none;animation:footer-drop-shimmer 3s ease-in-out infinite}
@keyframes footer-drop-shimmer{0%{background-position:0 100%}80%,100%{background-position:0 0}}
.footer-main{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);align-items:center;gap:70px;max-width:var(--max);margin:0 auto;padding-bottom:62px}
.footer-logo{display:block;width:min(100%,390px)}
.footer-logo img{display:block;width:100%;height:auto}
.footer-main h3{max-width:620px;margin:0 0 0 auto;color:white;font-size:clamp(1.65rem,2.7vw,2.8rem);line-height:1.12;letter-spacing:-.025em;text-align:right}
.footer-legal{display:flex;align-items:center;justify-content:space-between;gap:30px;max-width:var(--max);margin:0 auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.24);font-size:.88rem;color:rgba(255,255,255,.75)}
.footer-legal p{margin:0}
.footer-legal nav{position:static;display:flex;margin:0;padding:0;gap:28px;background:none;box-shadow:none;color:inherit;font-size:inherit;font-weight:500}
.footer-legal a{padding:4px 0;border-bottom:1px solid transparent}
.footer-legal a:hover{border-color:white;color:white}

.reveal{opacity:1;transform:none}
.h2-measure-word{display:inline}
.h2-line{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.h2-line-inner{display:inline-block;opacity:0;transform:translate3d(0,42px,0);transition:opacity .72s ease,transform .82s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--line-index)*130ms + 80ms);will-change:opacity,transform}
.h2-lines-ready.is-heading-visible .h2-line-inner{opacity:1;transform:translate3d(0,0,0)}

@media (max-width:1050px){
  nav{display:none;position:absolute;top:78px;left:0;right:0;background:white;padding:24px;flex-direction:column;box-shadow:0 14px 30px rgba(20,42,88,.12)}
  nav.open{display:flex}
  .menu-toggle{display:block;margin-left:auto}
  .header-cta{display:none}
  .site-header nav .mobile-menu-cta{display:flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border:0;border-radius:999px;background:var(--yellow);color:white;font-weight:700;text-align:center}
  .service-grid{grid-template-columns:1fr 1fr;row-gap:92px}
  .reference-slide{grid-template-columns:.9fr 1.1fr;height:520px}
  .reference-photo{height:520px;min-height:0}
  .issue-grid,.farm-type-grid{grid-template-columns:1fr 1fr}
  .tech-scroller{overflow-x:auto;grid-template-columns:repeat(5,280px);padding-bottom:20px;scroll-snap-type:x mandatory}
  .tech-scroller article{scroll-snap-align:start}
}

@media (max-width:760px){
  .desktop-break{display:none}
  .site-header{height:68px;padding:0 20px}
  .brand img{width:178px;max-height:42px}
  nav{top:68px}
  .hero{min-height:0;align-items:flex-start}
  .hero-photo{object-position:72% center}
  .hero-drop-decoration{right:-12px;bottom:-24px;width:130px;opacity:.2}
  .hero-content{margin:0 22px;padding:68px 0;width:auto}
  .trust-bar{margin:-20px 18px 0;grid-template-columns:1fr;padding:10px 22px;border-radius:16px}
  .trust-bar>div{grid-template-columns:58px minmax(0,250px);justify-content:center;column-gap:18px;padding:18px 0;border-right:0;border-bottom:1px solid #d8e2f2;text-align:left}
  .section-grid,.contact-grid{grid-template-columns:1fr}
  .section{padding:82px 22px}
  .issue-grid{grid-template-columns:1fr;margin-top:44px;gap:18px}
  .issue-card{display:grid;grid-template-columns:68px minmax(0,1fr);grid-template-rows:auto auto;column-gap:18px;align-items:center;min-height:0;padding:22px 22px}
  .issue-icon{position:relative;left:auto;top:auto;grid-column:1;grid-row:1/3;width:64px;height:82px;padding-top:12px}
  .issue-card h3{grid-column:2;grid-row:1;margin:0 0 5px}
  .issue-card p{grid-column:2;grid-row:2}
  .farmer-story{padding:82px 22px}
  .farmer-story-inner{grid-template-columns:1fr;gap:30px}
  .farmer-story-gallery{grid-template-columns:minmax(0,1.65fr) minmax(90px,.75fr);height:390px;gap:10px}
  .farmer-story-photo{min-height:0;height:auto;border-radius:18px}
  .farmer-story-quote{padding:38px 4px 0}
  .farmer-story-quote::before{top:-42px;left:-12px;font-size:10rem}
  .farmer-story-quote blockquote{margin-bottom:24px;font-size:2rem}
  .farmer-story-button{width:100%;padding-left:18px;padding-right:18px;text-align:center}
  .farm-type-grid{grid-template-columns:1fr}
  .farm-type-card{min-height:0}
  .farm-types{padding-bottom:105px;background-size:1000px auto}
  .farm-type-card>img{height:250px}
  .urgency-footer{align-items:flex-start;flex-direction:column}
  .system-section{padding:82px 22px}
  .system-content>h2{text-align:left}
  .service-grid{grid-template-columns:1fr;gap:88px;margin-top:95px}
  .service-card{min-height:0;padding:76px 24px 28px}
  .service-card h3{min-height:0}
  .service-cta{grid-template-columns:1fr;text-align:center;justify-items:center}
  .service-cta p{max-width:580px;white-space:normal}
  .reference-slide{grid-template-columns:1fr;height:auto;min-height:0}
  .reference-photo{min-height:0;height:360px}
  .reference-copy{padding:30px 24px 34px}
  .reference-copy h3{font-size:1.75rem}
  .reference-heading{flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:36px}
  .reference-heading h2{font-size:clamp(2rem,10vw,3rem)}
  .reference-count{flex:0 0 auto}
  .reference-count strong{font-size:1.65rem}
  .reference-controls{gap:14px}
  .reference-dots{gap:6px}
  .reference-side-arrows{left:10px;right:10px;top:180px}
  .reference-arrow{width:44px;height:44px}
  .tech-heading{grid-template-columns:1fr;gap:10px}
  .contact{padding:82px 22px}
  .lead-form{grid-template-columns:1fr;padding:24px}
  .lead-form .full{grid-column:auto}
  .site-footer{padding:100px 22px 150px}
  .site-footer::after{bottom:-80px;height:200px;background-size:auto 200px;opacity:.1}
  .site-footer::before{bottom:-80px;height:200px;background-size:100% 260%;-webkit-mask-size:auto 200px;mask-size:auto 200px;opacity:.11}
  .footer-main{grid-template-columns:1fr;gap:40px;padding-bottom:44px}
  .footer-logo{width:min(100%,310px)}
  .footer-main h3{margin:0;max-width:500px;text-align:left;font-size:2rem}
  .footer-legal{align-items:flex-start;flex-direction:column-reverse;gap:20px}
  .footer-legal nav{display:flex;position:static;align-items:flex-start;gap:14px;padding:0;box-shadow:none}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.menu-toggle span,.issue-card,.service-card,.reference-track,.reference-photo img,.reference-dot,.reference-arrow,.h2-line-inner{transition:none}.h2-line-inner{opacity:1;transform:none}.site-footer::before{animation:none}}
