/* AUTO-SZOFT – önálló, külső CSS-keretrendszer nélküli, mobilbarát weboldal */
:root {
  color-scheme: light;
  --ink: #141c27; --ink-soft: #354253; --muted: #687587; --red: #d51e32;
  --red-dark: #aa1728; --paper: #f5f7fa; --white: #fff; --line: #dee4eb;
  --dark: #0e1925; --dark-2: #152637; --max: 1170px;
  --radius: 17px; --shadow: 0 15px 42px rgba(22,35,52,.095);
}
*,*::before,*::after{box-sizing:border-box}
/* Keep in-page navigation clear of the sticky site header. */
html {scroll-behavior:smooth;scroll-padding-top:105px}
#main {scroll-margin-top:105px}
body{margin:0;font:400 16px/1.7 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--white);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--red-dark)}button{font:inherit}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{line-height:1.18;letter-spacing:-.035em}h1{font-size:clamp(2.4rem,5.4vw,4.9rem);font-weight:780}h2{font-size:clamp(2rem,3.2vw,3rem);font-weight:760}h3{font-size:1.23rem;font-weight:750}p{margin-bottom:1.15em}
:focus-visible{outline:3px solid #ec4255;outline-offset:4px;border-radius:2px}
.container{width:min(calc(100% - 48px),var(--max));margin-inline:auto}
.skip-link{position:absolute;z-index:1000;left:14px;top:-80px;background:var(--red);color:#fff;padding:10px 18px;border-radius:4px}
.skip-link:focus{top:14px;color:#fff}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #eaeef3}
.header-strip{height:5px;background:linear-gradient(90deg,var(--red) 0 24%,#1e2936 24% 100%)}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:26px;min-height:92px}
.brand{display:inline-flex;align-items:center;flex:none;max-width:250px}
.brand img{width:237px;height:auto}
.desktop-nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(13px,2vw,30px)}
.desktop-nav a{font-size:.9rem;font-weight:700;text-decoration:none;color:var(--ink-soft);border-bottom:2px solid transparent;padding:14px 0 11px;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{border-bottom-color:var(--red);color:var(--ink)}
.desktop-nav .nav-cta{border:1px solid var(--red);background:var(--red);color:#fff;padding:10px 19px;border-radius:8px}
.desktop-nav .nav-cta:hover,.desktop-nav .nav-cta[aria-current="page"]{background:var(--red-dark);border-color:var(--red-dark);color:#fff}
.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;min-height:525px;background:var(--dark);color:#fff;overflow:hidden;display:flex;align-items:center}
.hero::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(12,24,36,.98) 0%,rgba(12,24,36,.94) 39%,rgba(12,24,36,.5) 74%,rgba(12,24,36,.18) 100%)}
.hero-bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:62% center;filter:grayscale(25%)}
.hero-inner{padding-block:100px 105px}
.hero-content{max-width:830px}.hero h1{max-width:850px;margin:15px 0 23px}.hero h1 em{font-style:normal;color:#ff5364}
.eyebrow{font-weight:800;font-size:.78rem;letter-spacing:.19em;text-transform:uppercase;color:var(--red);margin-bottom:12px}
.hero .eyebrow{color:#ff7a83}.hero-lead{font-size:clamp(1.08rem,1.8vw,1.29rem);line-height:1.7;color:#dfebf5;max-width:700px}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border-radius:8px;font-weight:750;font-size:.94rem;text-decoration:none;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-dark);color:#fff}
.btn-outline{border-color:#94a3b5;color:#fff}.btn-outline:hover{background:rgba(255,255,255,.12);color:#fff}
.btn-light{border:1px solid #ccd4df;color:var(--ink);background:#fff}.btn-light:hover{background:var(--paper);color:var(--red-dark)}
.section{padding-block:85px}.section-muted{background:var(--paper)}.section-dark{background:var(--dark);color:#fff}
.section-head{max-width:775px;margin-bottom:32px}.section-head p{color:var(--ink-soft);font-size:1.04rem}.section-dark .section-head p{color:#bccbd9}
.section-head h2{margin:0 0 16px}.section-title{margin-bottom:15px}.section-intro{font-size:1.08rem;color:var(--ink-soft);max-width:760px}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 5px 25px rgba(16,31,49,.045);display:flex;flex-direction:column;min-width:0}
.card-image{width:100%;aspect-ratio:1.65;object-fit:cover;background:#dfe6ec}.card-copy{padding:26px 26px 29px;flex:1;display:flex;flex-direction:column}
.card-copy h3{font-size:1.29rem;margin:0 0 13px}.card-copy p{color:var(--ink-soft);font-size:.95rem;flex:1}.card-link{font-weight:800;font-size:.91rem;color:var(--red-dark);text-decoration:none}.card-link:hover{text-decoration:underline}
.link-arrow{display:inline-block;transition:transform .2s}.card-link:hover .link-arrow{transform:translateX(4px)}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,6vw,105px);align-items:center}
.feature-image{border-radius:var(--radius);width:100%;height:400px;object-fit:cover;box-shadow:var(--shadow)}
.feature-list{display:grid;gap:15px;padding:0;margin:28px 0 0;list-style:none}
.feature-list li{display:flex;align-items:flex-start;gap:14px;color:var(--ink-soft);font-weight:620}
.feature-list li::before{content:"";width:10px;height:10px;background:var(--red);margin-top:10px;border-radius:2px;flex:none}
.kicker-line{display:inline-flex;gap:10px;align-items:center;font-size:.87rem;font-weight:770;text-transform:uppercase;letter-spacing:.11em;color:#d5e2f1}
.kicker-line::before{content:"";height:3px;width:28px;background:var(--red)}
.cta-band{padding:50px 0;background:var(--red);color:#fff}
.cta-band-inner{display:flex;gap:25px;justify-content:space-between;align-items:center}
.cta-band h2{font-size:clamp(1.6rem,3.2vw,2.25rem);margin-bottom:9px}.cta-band p{margin:0;color:#fff1f2}
.cta-band .btn{background:#fff;color:var(--ink);white-space:nowrap}.cta-band .btn:hover{background:var(--paper)}
.page-intro{background:var(--dark);color:#fff;padding:78px 0 83px;position:relative;overflow:hidden}
.page-intro::after{content:"";width:270px;height:270px;border:1px solid rgba(255,255,255,.1);border-radius:50%;position:absolute;right:-60px;top:-90px;box-shadow:0 0 0 85px rgba(255,255,255,.015),0 0 0 170px rgba(255,255,255,.01);pointer-events:none}
.page-intro h1{max-width:1000px;font-size:clamp(2.4rem,4.4vw,4.2rem);margin:15px 0 16px}.page-intro p{max-width:760px;color:#d2dfe9;font-size:1.12rem;margin:0}
.breadcrumb{display:flex;flex-wrap:wrap;gap:9px;align-items:center;font-size:.81rem;font-weight:680;color:#c5d1dd}
.breadcrumb a{color:#d7e3ed}.breadcrumb a:hover{color:#fff}.breadcrumb span[aria-hidden]{opacity:.6}
.richtext{max-width:825px;font-size:1.055rem}.richtext h2{font-size:1.85rem;margin-top:38px}.richtext h3{margin-top:25px}.richtext p{color:var(--ink-soft)}
.number-band{background:#f1f4f8;border-radius:var(--radius);padding:24px 30px;border-left:5px solid var(--red)}
.number-band strong{display:block;font-size:2.5rem;color:var(--red);line-height:1.2}.number-band span{color:var(--ink-soft)}
.split-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center}
.split-feature img{height:355px;width:100%;object-fit:cover;border-radius:var(--radius)}
.soft-panel{background:var(--paper);padding:32px 36px;border:1px solid var(--line);border-radius:var(--radius)}
.soft-panel p:last-child{margin-bottom:0}.soft-panel h2{font-size:1.55rem}.soft-panel h3{margin-bottom:10px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{border-left:3px solid var(--red);padding:5px 15px 5px 24px}.step strong{display:block;color:var(--red);font-size:.91rem}.step h3{margin:5px 0 11px}.step p{color:var(--ink-soft);margin:0;font-size:.96rem}
.service-top{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.service-top img{width:100%;height:355px;object-fit:cover;border-radius:var(--radius)}
.service-top .section-intro{font-size:1.13rem}
.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:19px}
.detail-card{border:1px solid var(--line);border-radius:var(--radius);padding:27px 28px;background:#fff}
.detail-card h3{margin-bottom:10px}.detail-card p{margin:0;color:var(--ink-soft)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-card{padding:33px 34px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.contact-card h2{font-size:1.6rem}.contact-card .value{font-size:1.15rem;font-weight:740}.contact-card p{color:var(--ink-soft)}
.contact-card a.value{color:var(--red-dark)}.contact-card dl{margin:0}.contact-card dt{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:800;margin-top:25px}.contact-card dd{margin:5px 0 0}
.project-grid{display:grid;grid-template-columns:1fr minmax(300px,.8fr);gap:40px;align-items:start}
.eu-visual{background:#fff;border:1px solid var(--line);padding:22px;border-radius:var(--radius);box-shadow:var(--shadow)}
.eu-visual img{width:100%;height:auto;max-width:470px;margin:auto}.project-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:24px 0 30px}
.project-facts div{background:var(--paper);padding:18px;border-radius:10px}.project-facts dt{font-size:.79rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:750}.project-facts dd{margin:5px 0 0;font-size:1.19rem;font-weight:820}
.download-list{display:grid;gap:10px;margin-top:18px}.download-item{display:flex;align-items:center;gap:15px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:17px 20px;text-decoration:none}.download-item:hover{border-color:var(--red);color:var(--red-dark)}.download-type{font-size:.7rem;font-weight:900;background:#dfe5ee;color:var(--ink);padding:5px 8px;border-radius:5px}.download-title{font-weight:760}
.notice{padding:16px 20px;background:#fff7f7;border-left:4px solid var(--red);border-radius:6px;color:var(--ink-soft);font-size:.92rem}
.site-footer{background:#111e2b;color:#dbe5ed;padding:60px 0 26px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:45px}
.footer-logo{width:210px;background:#fff;border-radius:8px;padding:9px 13px;margin-bottom:20px}
.site-footer h2{font-size:.87rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:9px 0 17px}
.site-footer p{font-size:.93rem;line-height:1.8;color:#c6d3df}
.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:8px}.footer-links a{color:#dce7ef;text-decoration:none;font-size:.92rem}.footer-links a:hover{color:#fff;text-decoration:underline}
.footer-project{display:flex;align-items:center;gap:12px;background:#fff;padding:11px 14px;width:max-content;max-width:100%;border-radius:8px;color:var(--ink);font-weight:800;font-size:.85rem;text-decoration:none}
.footer-project:hover{color:var(--red-dark)}.footer-project img{width:85px;height:59px;object-fit:contain}
.footer-bottom{display:flex;gap:12px;justify-content:space-between;border-top:1px solid #394655;margin-top:45px;padding-top:22px;color:#a8bac8;font-size:.8rem}
.footer-bottom a{color:#a8bac8}
@media(max-width:1050px){.header-inner{min-height:80px}.desktop-nav{gap:15px}.brand img{width:202px}.desktop-nav a{font-size:.82rem}.desktop-nav .nav-cta{padding:9px 12px}}
@media(max-width:800px){.container{width:min(calc(100% - 36px),var(--max))}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{list-style:none;display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:8px;padding:10px 13px;font-size:.9rem;font-weight:750;cursor:pointer}.mobile-nav summary::-webkit-details-marker{display:none}.menu-glyph{display:inline-block;font-size:1.18rem;line-height:1}.mobile-nav[open] summary{border-color:var(--red)}.mobile-links{position:absolute;right:0;top:calc(100% + 10px);z-index:50;width:min(83vw,320px);display:grid;padding:10px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.mobile-links a{padding:11px 13px;font-weight:700;font-size:.93rem;color:var(--ink);text-decoration:none;border-radius:6px}.mobile-links a:hover,.mobile-links a[aria-current="page"]{color:var(--red-dark);background:var(--paper)}.cards,.steps{grid-template-columns:1fr 1fr}.two-col,.service-top,.split-feature,.project-grid{grid-template-columns:1fr}.feature-image,.split-feature img,.service-top img{height:310px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:first-child{grid-column:1/-1}.hero-inner{padding-block:85px}}
@media(max-width:570px){body{font-size:15.5px}.container{width:min(calc(100% - 32px),var(--max))}.header-inner{min-height:72px}.brand img{width:176px}.hero{min-height:0}.hero::after{background:linear-gradient(90deg,rgba(12,24,36,.96),rgba(12,24,36,.8))}.hero-inner{padding-block:69px 74px}.hero h1{font-size:clamp(2.15rem,9.4vw,3.25rem)}.hero-lead{font-size:1.02rem}.page-intro{padding:53px 0 58px}.page-intro h1{font-size:clamp(2.2rem,9vw,3.3rem)}.section{padding-block:57px}.cards,.steps,.detail-grid,.contact-grid,.project-facts{grid-template-columns:1fr}.card-image{aspect-ratio:1.9}.card-copy{padding:22px 23px 25px}.soft-panel,.contact-card{padding:24px}.feature-image,.split-feature img,.service-top img{height:245px}.cta-band{padding:35px 0}.cta-band-inner{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.project-grid{gap:23px}.project-facts{grid-template-columns:1fr 1fr}.project-facts dd{font-size:1rem}.actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.link-arrow{transition:none}}
/* Sötét szakaszokban a segédszövegnek is megfelelő kontraszt kell. */
.section-dark .step p{color:#cbd6e1}

/* Széchenyi 2020: always-visible project link, placed above page content
   and below the desktop/mobile navigation's stacking layer. */
.funding-float{
 position:fixed;
 right:max(18px,env(safe-area-inset-right));
 bottom:max(18px,env(safe-area-inset-bottom));
 z-index:60;
 display:block;
 width:138px;
 padding:6px;
 background:#fff;
 border:1px solid #dce3ea;
 border-radius:11px;
 box-shadow:0 7px 26px rgba(14,25,37,.18);
 text-decoration:none;
 transition:box-shadow .2s ease,transform .2s ease;
}
.funding-float img{display:block;width:100%;height:auto;border-radius:5px}
.funding-float:hover{box-shadow:0 10px 30px rgba(14,25,37,.26);transform:translateY(-2px)}
.funding-float:focus-visible{outline:3px solid var(--red);outline-offset:3px}
/* Footer gets space below its text so the fixed logo does not cover it
   when scrolled all the way to the end. */
.site-footer{padding-bottom:135px}
@media(max-width:1050px){html{scroll-padding-top:90px}#main{scroll-margin-top:90px}}
@media(max-width:800px){html{scroll-padding-top:85px}#main{scroll-margin-top:85px}}
@media(max-width:570px){
 .funding-float{width:104px;right:max(10px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));padding:4px;border-radius:8px}
 .site-footer{padding-bottom:110px}
}
@media(max-width:350px){.funding-float{width:90px}}
@media(prefers-reduced-motion:reduce){.funding-float{transition:none}}
