:root{
  --maxWidth-content: 1200px;
  --maxWidth-column: 900px;
  --backgroundColor: initial;
  --fontSize-Text: 16px;
  --padding-logo-AppHeader: 16px;
  --height-AppHeader: 16px;
  --lineHeight-Text: 1.5rem;
  --lineHeight-H3: 1.5;
  --fontFamily: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fontFamily-serif: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fontSize: 16px;
  --color-primary: #1357af;
  --color-brand: #d02D21;
  --color-danger: #d02D21;
  --fontWeight-bold: 600;
  --borderRadius-Button: 0;
  --width-logo-AppHeader: 300px;
  --paddingVertical-AppHeader: 16px;
  --align-content-AppHeader: end;
  --borderWidth-Button: 2px;
  --fontFamily-Button: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fontFamily-FormItemLabel: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --gap-Footer: 0;
  --fontSize-Text-markdown: 16px;
  --lineHeight-Text-markdown: 1.5rem;
  --paddingVertical-Text-markdown: 0;
  --marginTop-Text-markdown: 16px;
  --marginBottom-Text-markdown: 16px;
  --marginTop-HtmlLi: 0;
  --marginBottom-HtmlLi: 0;
  --fontFamily-H1: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --lineHeight-H1: 2.25rem;
  --fontFamily-H2: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --textColor-H2: #3d3d3d;
  --lineHeight-H2: 1.75rem;
  --marginTop-H2-markdown: 1rem;
  --fontFamily-NavLink: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --fontWeight-NavLink: bold;
  --fontSize-NavLink: 16px;
  --thickness-indicator-NavLink: 0;
  --fontWeight-Link: bold;
  --lineHeight-Link: 1.5rem;
  --textDecorationColor-Link: transparent;
  --textDecorationColor-Link--hover: #1357af;
  --textDecorationStyle-Link: solid;
  --backgroundColor-Panel: white;
  --boxShadow-Panel: 0 10px 22px rgba(0,0,0,.08);
  --height-KezdoKep: 600px;
  --color-main-KezdoKep: white;
  --color-icon-KezdoKep: white;
  --paddingTop-KezdoKep: 220px;
  --paddingTop-small-KezdoKep: 60px;
  --marginTop-house-KezdoKep: -218px;
  --marginLeft-house-KezdoKep: -592px;
  --height-title-KezdoKep: 4rem;
  --height-title-small-KezdoKep: 3rem;
  --fontSize-title-KezdoKep: 3.5rem;
  --fontSize-small-title-KezdoKep: 2.5rem;
  --height-subtitle-KezdoKep: 1.75rem;
  --fontSize-subtitle-KezdoKep: 1.5rem;
  --height-subtitle-small-KezdoKep: 1.5rem;
  --fontSize-subtitle-small-KezdoKep: 1.25rem;
  --color-icon-Elerhetosegek: #aeaeb2;
  --fontWeight-Elerhetosegek: bold;
  --width-image-Elerhetosegek: 80px;
  --height-image-Elerhetosegek: 80px;
  --height-Bemutatkozas: 40rem;
  --width-image-Bemutatkozas: 40%;
  --width-text-Bemutatkozas: 60%;
  --color-beam-Bemutatkozas: initial;
  --top-beam-Bemutatkozas: -60px;
  --left-beam-Bemutatkozas: 70px;
  --color-house-Bemutatkozas: #808080;
  --top-house-Bemutatkozas: -140px;
  --left-house-Bemutatkozas: 16px;
  --height-section-Szolgaltatasok: 38.5rem;
  --radius-SzolgaltatasKartya: 0px;
  --shadow-SzolgaltatasKartya: 0 10px 22px rgba(0,0,0,.08);
  --height-image-SzolgaltatasKartya: 200px;
  --height-SzolgaltatasKartya: 380px;
  --color-text-SzolgaltatasTipus--disabled: purple;
  --height-HivoKartya: fit-content;
  --height-image-ReferenciaKartya: 240px;
  --height-detail-ReferenciaKartya: 92px;
  --padding-top-PageHeading: initial;
  --padding-bottom-PageHeading: initial;
  --height-SzoCikk: 10rem;
  --border-active-Fazisok: 2px solid #808080;
  --border-inactive-Fazisok: 2px solid transparent;
  --color-bg-Fazisok: #e0e0e0;
  --color-text-primary: #3d3d3d;
  --backgroundColor-pointed-Panel: #e0e0e0;
  --color-text-Link: #1357af;
  --textColor-NavLink--active: #d02D21;
  --textColor-NavLink--hover: #1357af;
  --textColor-NavLink--hover--active: #d02D21;
  --textColor-NavLink--pressed: initial;
  --backgroundColor-Panel: white;
  --backgroundColor-pointed-Panel: #e0e0e0;
  --boxShadow-Panel: 0 10px 22px rgba(0,0,0,.08);
  --color-brand: #d02D21;
  --color-text-primary: #3d3d3d;
  --gap-normal: 18px;
  --radius-SzolgaltatasKartya: 0px;
  --height-image-ReferenciaKartya: 240px;
  --height-detail-ReferenciaKartya: 92px;
  --height-image-SzolgaltatasKartya: 200px;
  --height-section-Szolgaltatasok: 38.5rem;
  --height-SzoCikk: 10rem;
  --maxWidth-content: 1200px;
  --bg: var(--color-surface-100, #eef3f6);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#ffffff;color:var(--color-text-primary,#1f2a37);font:var(--fontSize,16px)/1.6 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif}
a{color:var(--color-text-primary,#1f2a37);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--maxWidth-content);margin-inline:auto;padding:20px}
/* Mobile First Responsive Design */
@media (max-width:480px){
  .wrap{padding:12px}
  .grid{gap:12px}
  .grid-3{grid-template-columns:1fr}
  .grid[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}
  .card{margin-bottom:16px}
  .card h3{font-size:1.1rem;margin:8px 12px 4px}
  .card p{margin:0 12px 12px;font-size:14px;line-height:1.4}
}

@media (max-width:768px){
  .wrap{padding:15px}
  .grid{gap:15px}
  .grid[style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:1fr!important}
  .card{border-radius:12px}
  .card h3{font-size:1.2rem}
}
.site-header{position:sticky;top:0;background:#fff;border-bottom:1px solid #e5e7eb;z-index:100}
.site-header .bar{display:flex;align-items:center;gap:18px}
.brand{font-weight:800;letter-spacing:.2px;display:inline-flex;align-items:center;gap:10px}
.nav{display:flex;gap:18px;margin-left:auto;align-items:center}
.nav a{padding:10px 8px;border-radius:10px}
.nav a.active,.nav a:hover{color:var(--color-brand)!important;text-decoration:none}
.nav-dropdown{position:relative;display:flex;align-items:center}
.nav-dropdown-toggle{cursor:pointer}
.nav-dropdown-menu{display:none;position:absolute;top:100%;right:0;background:#fff;border-radius:10px;box-shadow:0 10px 22px rgba(0,0,0,.12);min-width:160px;z-index:200;padding:6px 0}
.nav-dropdown-menu a{display:block;padding:8px 16px;white-space:nowrap;color:var(--color-text-primary)}
.nav-dropdown-menu a:hover{background:#f3f4f6;color:var(--color-brand)!important;text-decoration:none}
.nav-dropdown:hover .nav-dropdown-menu{display:block}
[data-theme="dark"] .nav-dropdown-menu{background:#2d2d2d}
[data-theme="dark"] .nav-dropdown-menu a{color:#e5e7eb}
[data-theme="dark"] .nav-dropdown-menu a:hover{background:#374151}
/* Mobile Header */
@media (max-width:768px){
  .site-header .bar{flex-wrap:wrap;gap:8px}
  .nav{gap:8px;flex-wrap:wrap;margin-left:0;width:100%;justify-content:center}
  .nav a{padding:6px 4px;font-size:14px}
  .brand img{height:40px!important}
}

@media (max-width:480px){
  .site-header .bar{padding:8px 15px;gap:6px}
  .brand img{height:36px!important}
  .nav{gap:6px}
  .nav a{padding:4px 3px;font-size:13px;border-radius:4px}
}


.grid{display:grid;gap:var(--gap-normal)}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}

/* Tablet Landscape */
@media (max-width:1024px) and (min-width:769px){
  .grid-3{grid-template-columns:repeat(2,1fr);gap:18px}
  .wrap{padding:18px}
  .hero-slider{height:450px}
  .hero-content h1{font-size:2.8em}
  .hero-content .muted{font-size:1.2em}
  .site-header .bar{flex-wrap:wrap;gap:10px}
  .nav{gap:8px;flex-wrap:wrap;margin-left:0;width:100%;justify-content:center}
  .nav a{padding:8px 6px;font-size:14px}
  .intro-profile-grid{grid-template-columns:250px 1fr!important;gap:25px!important}
}

/* Tablet Portrait */
@media (max-width:768px) and (min-width:481px){
  .grid-3{grid-template-columns:repeat(2,1fr);gap:15px}
  .services-grid-2{grid-template-columns:1fr!important;gap:20px!important}
  .main-intro-grid{grid-template-columns:1fr!important;gap:25px!important}
  .intro-profile-grid{grid-template-columns:1fr!important;gap:20px!important}
}

/* Mobile Services Grid */
@media (max-width:480px){
  .services-grid-2{grid-template-columns:1fr!important;gap:15px!important;min-height:auto!important}
}

/* Mobile */
@media (max-width:620px){.grid-3{grid-template-columns:1fr}}
@media (max-width:480px){.grid-3{grid-template-columns:1fr;gap:12px}}
.card{background:var(--backgroundColor-Panel,white);border-radius:20px;box-shadow:var(--boxShadow-Panel);overflow:hidden}
.card.pad{padding:var(--padding-normal,16px)}
.thumb{width:100%;height:auto;display:block;object-fit:cover}
.thumb.h-ref{aspect-ratio:1/1;object-fit:cover}
.thumb.h-szolg{aspect-ratio:1;object-fit:cover;width:100%}

/* Image Optimization Mobile */
@media (max-width:768px){
  .thumb{border-radius:12px}
  .thumb.h-ref{border-radius:12px}
  .thumb.h-szolg{border-radius:12px}
}

@media (max-width:480px){
  .thumb{border-radius:10px}
  .thumb.h-ref{border-radius:10px}
  .thumb.h-szolg{border-radius:10px}
}
.card h3{margin:12px 16px 4px;font-family:var(--fontFamily-serif);font-weight:600}
.card p{margin:0 16px 16px;color:var(--color-text-primary,#3d3d3d)}
.hero{margin:20px 0 8px}
h1{margin:.2em 0 .4em;font-family:var(--fontFamily-serif)}
/* Typography Responsive */
@media (max-width:768px){
  h1{font-size:1.8rem;line-height:1.2}
  h2{font-size:1.5rem;line-height:1.3}
  h3{font-size:1.2rem;line-height:1.3}
}

@media (max-width:480px){
  h1{font-size:1.6rem;line-height:1.2;margin:0.2em 0 0.3em}
  h2{font-size:1.3rem;line-height:1.3;margin:0.3em 0}
  h3{font-size:1.1rem;line-height:1.3;margin:0.2em 0}
  p{font-size:14px;line-height:1.4}
}
.muted{color:#6b7280}
.glossary .head{display:flex;justify-content:space-between;align-items:center;margin:12px 0}
.alpha{display:flex;flex-wrap:wrap;gap:10px}
.alpha a{padding:4px 8px;border-radius:12px;background:#fff;border:1px solid #e5e7eb}
.alpha a.active,.alpha a:hover{background:#f3f4f6}
.layout-controls{display:flex;gap:8px}
.layout-btn{padding:8px 12px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;cursor:pointer;font-size:16px}
.layout-btn:hover{background:#f3f4f6}
.layout-btn.active{background:var(--color-brand);color:#fff}
.glossary .grid .card{padding:14px}
.glossary .grid .card div{display:flex;flex-direction:column}

.glossary .grid .card .dot{margin:0}
.glossary .grid.list-view{grid-template-columns:repeat(3,1fr)}
.glossary .grid.list-view .card{padding:8px 12px;border:1px solid #e5e7eb;border-radius:4px;box-shadow:none}
.glossary .grid.list-view .card p{display:none}
.glossary .grid.list-view .card h3{margin:0;font-size:14px}
.dot{width:15px;height:15px;background:var(--color-brand);border-radius:4px;flex-shrink:0;display:inline-block;margin-right:8px}
.glossary .grid .card h3{display:flex;align-items:center;gap:8px;margin:0 16px 8px 16px}
.tag{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px}
.hero-slider{position:relative;height:500px;overflow:hidden;margin-bottom:40px}
.slider-container{position:relative;width:100%;height:100%}
.slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1s ease-in-out}
.slide.active{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 8s ease-in-out;filter:brightness(0.7)}
.slide.active img{transform:scale(1)}
.slide:first-child img{transform:scale(1.05)}
.slide:first-child.active img{transform:scale(1)}
.hero-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:white;z-index:10;padding:40px}
.hero-content h1{color:white;margin:0;font-size:3em;line-height:1.2;white-space:nowrap}
.hero-content .muted{color:white;font-size:1.3em;line-height:1.4;margin-top:calc(1.5em * 0.4)}
.slider-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:10}
.slider-dots .dot{width:28px;height:6px;border-radius:3px;background:rgba(255,255,255,0.5);cursor:pointer;transition:background 0.3s;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.slider-dots .dot.active,.slider-dots .dot:hover{background:white}
.hero-btn{display:inline-block;margin-top:calc(1.5em * 0.4);padding:12px 24px;background:var(--color-brand);color:white;text-decoration:none;border-radius:16px;font-weight:600;transition:all 0.3s ease;border:2px solid var(--color-brand)}
.hero-btn:hover{background:white;color:var(--color-brand);text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 12px rgba(208,45,33,0.3)}
#intro-grid{grid-template-columns:320px 1fr;align-items:start}
#intro-grid .card:first-child{height:fit-content}
#intro-grid .card:first-child img{height:100%;object-fit:cover}
.dark-mode-switch{position:relative;display:inline-block;width:50px;height:24px}
.dark-mode-switch input{opacity:0;width:0;height:0}
.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background:#e5e7eb;transition:.3s;border-radius:24px}
.slider:before{position:absolute;content:"☼";height:18px;width:18px;left:3px;bottom:3px;background:white;transition:.3s;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;color:#666}
input:checked + .slider{background:var(--color-brand)}
input:checked + .slider:before{transform:translateX(26px);content:"☽";color:#000;font-size:12px}
[data-theme="dark"]{--color-text-primary:#e5e7eb;--backgroundColor:#1a1a1a;--backgroundColor-Panel:#2d2d2d;--boxShadow-Panel:0 10px 22px rgba(0,0,0,.3)}
[data-theme="dark"] body{background:#1a1a1a;color:#e5e7eb}
[data-theme="dark"] .site-header{background:#2d2d2d;border-bottom-color:#374151}
[data-theme="dark"] .card{background:#2d2d2d;color:#e5e7eb}
[data-theme="dark"] .nav a{color:#e5e7eb}
[data-theme="dark"] .nav a:hover{color:var(--color-brand)}
[data-theme="dark"] .hero-content{color:#ffffff}

[data-theme="dark"] .slider:before{background:#e5e7eb}
[data-theme="dark"] .alpha a{background:#374151;border-color:#4b5563;color:#e5e7eb}
[data-theme="dark"] .alpha a:hover,[data-theme="dark"] .alpha a.active{background:#4b5563;color:#ffffff}
.services-list a:hover{color:var(--color-brand)!important;text-decoration:underline!important}
.service-arrow{position:absolute;bottom:16px;right:16px;display:inline-block;width:20px;height:20px;background:var(--color-brand);border-radius:50%;color:white;text-align:center;line-height:20px;font-size:12px}

/* Services Mobile */
@media (max-width:768px){
  .services-grid-2{grid-template-columns:1fr!important;gap:20px!important;min-height:auto!important}
  .services-list{line-height:2.2!important}
  .services-list li{margin-bottom:8px}
  .services-list a{font-size:15px}
}

@media (max-width:480px){
  .services-list{line-height:2!important;padding-left:12px!important}
  .services-list li{margin-bottom:6px}
  .services-list a{font-size:14px}
  .service-arrow{width:18px;height:18px;line-height:18px;font-size:11px;bottom:12px;right:12px}
}
.glossary .grid .card{position:relative;cursor:pointer;transition:transform 0.2s, box-shadow 0.2s}
.glossary .grid .card:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(0,0,0,.15)}
.glossary .grid .card::after{content:'→';position:absolute;bottom:16px;right:16px;width:20px;height:20px;background:var(--color-brand);border-radius:50%;color:white;text-align:center;line-height:20px;font-size:12px}
.glossary .grid .card a{display:block;color:inherit;text-decoration:none;height:100%}
.glossary .grid .card h3 a{display:inline;height:auto}
.gallery .card img{aspect-ratio:1/1!important;object-fit:cover!important;height:auto!important}

/* Gallery Mobile */
@media (max-width:768px){
  .gallery .grid{gap:15px}
  .gallery .card{border-radius:12px}
}

@media (max-width:480px){
  .gallery .grid{gap:12px}
  .gallery .card{border-radius:10px}
}

/* Glossary Mobile */
@media (max-width:768px){
  .glossary .grid.list-view{grid-template-columns:repeat(2,1fr)}
  .glossary .grid .card{padding:12px}
  .glossary .grid .card h3{font-size:15px;margin:0 12px 6px 12px}
  .glossary .grid .card p{margin:0 12px 12px;font-size:14px}
}

@media (max-width:480px){
  .glossary .grid.list-view{grid-template-columns:1fr}
  .glossary .grid .card{padding:10px}
  .glossary .grid .card h3{font-size:14px;margin:0 10px 4px 10px}
  .glossary .grid .card p{margin:0 10px 10px;font-size:13px;line-height:1.3}
  .dot{width:12px;height:12px;margin-right:6px}
}

/* Card Hover Mobile - Disable on Touch Devices */
@media (hover: none) and (pointer: coarse) {
  .card:hover,
  .glossary .grid .card:hover,
  article.card:hover {
    transform:none!important;
    box-shadow:var(--boxShadow-Panel)!important;
  }
}

/* Touch Friendly Buttons */
@media (max-width:768px){
  .hero-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .nav a{min-height:40px;display:flex;align-items:center;justify-content:center}
  .layout-btn{min-height:40px}
  .alpha a{min-height:36px;display:flex;align-items:center;justify-content:center}
  
  /* Form Elements */
  input, textarea, select{
    min-height:44px;
    font-size:16px; /* Prevents zoom on iOS */
    border-radius:8px;
    padding:12px;
  }
  
  button{
    min-height:44px;
    font-size:16px;
    border-radius:8px;
    padding:12px 20px;
  }
}

@media (max-width:480px){
  .hero-btn{min-height:40px}
  .nav a{min-height:36px}
  .layout-btn{min-height:36px}
  .alpha a{min-height:32px}
  
  input, textarea, select{
    min-height:40px;
    padding:10px;
  }
  
  button{
    min-height:40px;
    padding:10px 16px;
  }
}

/* Prevent horizontal scroll */
@media (max-width:768px){
  body{overflow-x:hidden}
  .wrap{max-width:100%;overflow-x:hidden}
  img{max-width:100%;height:auto}
}

/* Improve text readability on mobile */
@media (max-width:480px){
  body{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
  p{line-height:1.5;margin-bottom:16px}
  .card p{line-height:1.4;margin-bottom:12px}
}
/* Hero Slider Mobile */
@media (max-width:768px){
  .hero-slider{height:400px;margin-bottom:30px}
  .hero-content{padding:20px}
  .hero-content h1{font-size:2.2em;line-height:1.1}
  .hero-content .muted{font-size:1.1em;margin-top:calc(1.2em * 0.4)}
  .hero-btn{padding:10px 20px;font-size:14px;margin-top:calc(1.2em * 0.4)}
  .slider-dots{bottom:15px}
  .slider-dots .dot{width:24px;height:5px}
}

@media (max-width:480px){
  .hero-slider{height:350px;margin-bottom:20px}
  .hero-content{padding:15px}
  .hero-content h1{font-size:2.25em;line-height:1.1;white-space:normal;text-align:center}
  .hero-content .muted{font-size:1.35em;line-height:1.3;margin-top:calc(1em * 0.4)}
  .hero-btn{padding:8px 16px;font-size:13px;border-radius:12px}
  .slider-dots{bottom:15px}
  .slider-dots .dot{width:30px;height:8px;cursor:pointer;padding:5px}
}

/* Layout Mobile */
@media (max-width:768px){
  #intro-grid{grid-template-columns:1fr!important;gap:20px}
  .intro-profile-grid{grid-template-columns:1fr!important;gap:20px!important}
  .main-intro-grid{grid-template-columns:1fr!important;gap:25px!important;margin-top:30px!important}
  .alpha{justify-content:center}
  .glossary .head{flex-direction:column;gap:15px}
}

@media (max-width:480px){
  .intro-profile-grid{gap:15px!important}
  .intro-profile-grid img{border-radius:15px!important}
}

@media (max-width:480px){
  #intro-grid{gap:15px}
  .alpha{gap:6px}
  .alpha a{padding:3px 6px;font-size:13px;border-radius:8px}
  .glossary .head{gap:12px}
  .glossary-header{flex-direction:column!important;gap:15px!important;align-items:flex-start!important}
  .layout-controls{gap:6px;align-self:flex-end}
  .layout-btn{padding:6px 10px;font-size:14px;border-radius:6px}
}