/* Betűtípusok helyben tárolva (nem a Google szervereiről) – GDPR. Licenc: SIL Open Font License 1.1 */
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 500;font-display: swap;src: url(assets/fonts/exo-2-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 500;font-display: swap;src: url(assets/fonts/exo-2-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;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 600;font-display: swap;src: url(assets/fonts/exo-2-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 600;font-display: swap;src: url(assets/fonts/exo-2-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;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 700;font-display: swap;src: url(assets/fonts/exo-2-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 700;font-display: swap;src: url(assets/fonts/exo-2-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;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 800;font-display: swap;src: url(assets/fonts/exo-2-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'Exo 2';font-style: normal;font-weight: 800;font-display: swap;src: url(assets/fonts/exo-2-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;}
@font-face{font-family: 'IBM Plex Mono';font-style: normal;font-weight: 500;font-display: swap;src: url(assets/fonts/ibm-plex-mono-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'IBM Plex Mono';font-style: normal;font-weight: 500;font-display: swap;src: url(assets/fonts/ibm-plex-mono-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;}
@font-face{font-family: 'IBM Plex Sans';font-style: normal;font-weight: 400;font-stretch: 100%;font-display: swap;src: url(assets/fonts/ibm-plex-sans-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'IBM Plex Sans';font-style: normal;font-weight: 400;font-stretch: 100%;font-display: swap;src: url(assets/fonts/ibm-plex-sans-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;}
@font-face{font-family: 'IBM Plex Sans';font-style: normal;font-weight: 500;font-stretch: 100%;font-display: swap;src: url(assets/fonts/ibm-plex-sans-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'IBM Plex Sans';font-style: normal;font-weight: 500;font-stretch: 100%;font-display: swap;src: url(assets/fonts/ibm-plex-sans-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;}
@font-face{font-family: 'IBM Plex Sans';font-style: normal;font-weight: 600;font-stretch: 100%;font-display: swap;src: url(assets/fonts/ibm-plex-sans-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-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family: 'IBM Plex Sans';font-style: normal;font-weight: 600;font-stretch: 100%;font-display: swap;src: url(assets/fonts/ibm-plex-sans-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;}

/* L Correct Crew Kft. – stíluslap (az eredeti Design Component <helmet> blokkjából, változatlanul) */
body{margin:0;background:#0B0D11}
html{scroll-behavior:smooth}
a{color:var(--acc-t)}a:hover{color:var(--strong)}
@property --k{syntax:'<number>';inherits:true;initial-value:1}
@property --px{syntax:'<number>';inherits:true;initial-value:50}
@property --py{syntax:'<number>';inherits:true;initial-value:46}

.site{--bg:#0B0D11;--bg2:#0E1015;--surface:#12151B;--surface2:#181C23;--glass:rgba(16,19,25,.82);--line:rgba(255,255,255,.09);--line2:rgba(255,255,255,.18);--line3:rgba(255,255,255,.07);--text:#D5D8DE;--strong:#FFFFFF;--lead:#C9CDD4;--body2:#B3B8C2;--muted:#8B93A1;--muted2:#8A92A0;--nav:rgba(11,13,17,.78);--hatch:rgba(255,255,255,.035);--photo:#14171D;--cta:#15122A;--feat:#17142B;--map-bg:#0B0D11;--map-tx:#E8E9EC;--map-sh:rgba(0,0,0,.9);--cn-de:#9FE9E4;--hq-t:#F7C99A;--amber-t:#F2A65A;--site-dot:#6FDDD7;--acc-t:var(--acc,#1FC7BF);color-scheme:dark;transition:background-color .35s ease,color .35s ease}
.site.light{--bg:#F4F5F7;--bg2:#EAECF0;--surface:#FFFFFF;--surface2:#E5E8ED;--glass:rgba(255,255,255,.9);--line:rgba(15,18,24,.10);--line2:rgba(15,18,24,.20);--line3:rgba(15,18,24,.08);--text:#2A2F38;--strong:#0F1218;--lead:#363C47;--body2:#4A515D;--muted:#5A6270;--muted2:#666E7B;--nav:rgba(244,245,247,.86);--hatch:rgba(15,18,24,.05);--photo:#DCE0E6;--cta:#ECEAFF;--feat:#F1EFFF;--map-bg:#F6F7F9;--map-tx:#161A21;--map-sh:rgba(255,255,255,.95);--cn-de:#00706C;--hq-t:#9A520F;--amber-t:#B0600F;--site-dot:#00807B;--acc-t:color-mix(in oklab,var(--acc,#1FC7BF) 62%,#000);color-scheme:light}
.site.light .map img.base,.site.light .mm img,.site.light .mm2 img{filter:invert(1) hue-rotate(180deg) brightness(1.03) contrast(.9)}
.site.light .icon{background:rgba(0,161,156,.10)}
.site.light .scard.feat{border-color:rgba(0,161,156,.35)}
.site.light .cta{border-color:rgba(0,161,156,.25)}
.themebtn{display:grid;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--strong);place-items:center;cursor:pointer;padding:0}
.themebtn:hover,.burger:hover{background:var(--line3)}
.site{font-family:'IBM Plex Sans',system-ui,sans-serif;color:var(--text);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased}
.site *{box-sizing:border-box}
.disp{font-family:'Exo 2',sans-serif;letter-spacing:-0.01em}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.wrap{max-width:1240px;margin:0 auto;padding:0 clamp(20px,4vw,48px);position:relative}
.pl{white-space:pre-line}

/* NAV */
.nav{position:sticky;top:0;z-index:50;background:var(--nav);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line3)}
.nav a.lnk{color:var(--lead);text-decoration:none;font-size:15px;font-weight:500;padding:12px 4px;min-height:44px;display:inline-flex;align-items:center}
.nav a.lnk:hover{color:var(--strong)}
.langs{display:inline-flex;border:1px solid var(--line2);border-radius:999px;padding:3px;gap:2px}
.langbtn{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.1em;min-width:44px;min-height:38px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}
.langbtn:hover{color:var(--strong)}
.langbtn.on{background:var(--strong);color:var(--bg)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;border-radius:12px;background:var(--acc,#1FC7BF);color:#0B0D11;font-weight:600;text-decoration:none;font-size:15px;transition:transform .2s ease,background .2s ease}
.btn:hover{color:var(--bg);transform:translateY(-2px);background:var(--strong)}
.btn.ghost{background:transparent;color:var(--strong);border:1px solid var(--line2)}
.btn.ghost:hover{background:var(--line3);color:var(--strong)}

/* HERO MAP */
.hero-track{height:2250px;position:relative;view-timeline:--hero block}
.stage{position:sticky;top:0;height:100vh;height:100svh;min-height:560px;overflow:hidden;container-type:size;background:var(--bg)}
.map{position:absolute;aspect-ratio:2000/1153;--W:max(100cqw,173.5cqh);width:calc(var(--k) * var(--W));left:calc(50% - var(--k) * var(--W) * var(--px) / 100);top:calc(50% - var(--k) * var(--W) * 0.5765 * var(--py) / 100);--k0:1.12;--cx0:50.5;--cy0:47;--k1:13;--k2:62;--tx:52.635;--ty:40.318}
.map img.base{position:absolute;inset:0;width:100%;height:100%;display:block}
.vig{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 45%,color-mix(in srgb,var(--map-bg) 85%,transparent) 100%)}
.pt{position:absolute;width:0;height:0}
.pt .dot{position:absolute;left:-4px;top:-4px;width:8px;height:8px;border-radius:50%;background:var(--map-tx);box-shadow:0 0 0 3px var(--glass)}
.pt .tx{position:absolute;left:12px;top:-11px;white-space:nowrap;font-family:'IBM Plex Sans',sans-serif;font-size:14px;font-weight:500;color:var(--map-tx);text-shadow:0 1px 6px var(--map-sh)}
.pt.left .tx{left:auto;right:12px}
.pt.hq .dot{background:var(--amber-t);width:12px;height:12px;left:-6px;top:-6px}
.pt.hq .tx{color:var(--hq-t);font-weight:600}
.cname{position:absolute;transform:translate(-50%,-50%);font-family:'Exo 2',sans-serif;font-weight:700;letter-spacing:.32em;font-size:15px;white-space:nowrap}

/* GPS marker */
.gps{position:absolute;width:0;height:0;z-index:3}
.gps .drop{position:absolute;left:0;top:0}
.gps svg{position:absolute;left:-22px;top:-56px;width:44px;height:58px;filter:drop-shadow(0 8px 10px rgba(0,0,0,.65))}
.gps .ring{position:absolute;left:-22px;top:-9px;width:44px;height:18px;border-radius:50%;border:2px solid var(--acc,#1FC7BF);animation:pulse 2.2s ease-out infinite}
.gps.next svg{left:-18px;top:-46px;width:36px;height:48px}
.pt.pinlbl .tx{left:24px;top:-50px;font-weight:600;font-size:15px}
.gps.sm svg{left:-15px;top:-38px;width:30px;height:40px}
.gps.sm .ring{left:-14px;top:-6px;width:28px;height:12px}
@keyframes pulse{0%{transform:scale(.3);opacity:1}100%{transform:scale(1.8);opacity:0}}

.ov{position:absolute;z-index:5}
.ov-b,.ov-c{pointer-events:none}
.ov-a{left:clamp(20px,6vw,96px);right:20px;top:50%;transform:translateY(-50%)}
.ov-b,.ov-c{left:clamp(20px,6vw,96px);bottom:clamp(24px,7cqh,72px);max-width:470px;right:20px}
.panel{background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:20px;padding:28px}
.rail{position:absolute;z-index:5;right:clamp(16px,3vw,48px);top:50%;transform:translateY(-50%);display:flex;gap:14px;align-items:stretch}
.rail .bar{width:2px;background:var(--line2);border-radius:2px;position:relative;overflow:hidden}
.rail .fill{position:absolute;inset:0;background:var(--acc,#1FC7BF);transform-origin:top;transform:scaleY(0)}
.rail .steps{display:flex;flex-direction:column;justify-content:space-between;gap:56px;padding:2px 0}
.scrollhint{display:inline-flex;align-items:center;gap:10px;color:var(--muted);margin-top:40px}
.scrollhint .chev{animation:bob 1.6s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}

@keyframes zoom{
0%,8%{--k:var(--k0);--px:var(--cx0);--py:var(--cy0);animation-timing-function:ease-in-out}
36%,64%{--k:var(--k1);--px:53.9;--py:39.6;animation-timing-function:ease-in}
92%,100%{--k:var(--k2);--px:var(--tx);--py:var(--ty)}
}
@keyframes phA{0%,10%{opacity:1;transform:none;visibility:visible}18%,100%{opacity:0;transform:translateY(-28px);visibility:hidden}}
@keyframes phB{0%,24%{opacity:0;transform:translateY(28px);visibility:hidden}31%,64%{opacity:1;transform:none;visibility:visible}71%,100%{opacity:0;transform:translateY(-28px);visibility:hidden}}
@keyframes phC{0%,82%{opacity:0;transform:translateY(28px);visibility:hidden}91%,100%{opacity:1;transform:none;visibility:visible}}
@keyframes lblB{0%,27%{opacity:0}34%,66%{opacity:1}74%,100%{opacity:0}}
@keyframes lblC{0%,80%{opacity:0}90%,100%{opacity:1}}
@keyframes pinIn{0%,84%{opacity:0;transform:translateY(-60px)}91%{opacity:1;transform:translateY(4px)}95%,100%{opacity:1;transform:none}}
@keyframes railFill{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.anim{animation-duration:16s;animation-delay:.8s;animation-fill-mode:both;animation-timing-function:linear;animation-iteration-count:1}
.map.anim{animation-name:zoom}
.phA{animation-name:phA}.phB{animation-name:phB}.phC{animation-name:phC}
.lblB{animation-name:lblB}.lblC{animation-name:lblC}.pinIn{animation-name:pinIn}.railFill{animation-name:railFill}
.phB,.phC,.lblB,.lblC,.pinIn{opacity:0}
.phB,.phC{visibility:hidden}
@supports (animation-timeline: view()){
.anim{animation-duration:auto;animation-delay:0s;animation-timeline:--hero;animation-range:contain 0% contain 100%}
}
@media (max-aspect-ratio:1/1){.map{--k0:1;--cx0:53;--cy0:42;--k1:3.6;--k2:16}.rail{display:none}}

/* PHOTO SECTIONS */
.photo-sec{position:relative;overflow:hidden;padding:clamp(72px,12vw,160px) 0}
.photo{position:absolute;left:0;right:0;top:-12%;bottom:-12%;background-color:var(--photo);background-image:repeating-linear-gradient(135deg,var(--hatch) 0 2px,transparent 2px 22px)}
.photo-tag{position:absolute;right:24px;top:calc(12% + 24px);font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line2);padding:8px 12px;border-radius:8px;background:var(--glass)}
.scrim{position:absolute;inset:0;background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 22%,color-mix(in srgb,var(--bg) 55%,transparent) 78%,var(--bg) 100%)}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--acc-t)}
.eyebrow::before{content:'';width:28px;height:2px;background:currentColor}
.h2{font-family:'Exo 2',sans-serif;font-weight:800;font-size:clamp(34px,5vw,64px);line-height:1.04;color:var(--strong);margin:18px 0 0;letter-spacing:-0.015em}
.lead{font-size:clamp(17px,1.5vw,20px);color:var(--lead);max-width:720px}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px}
.fact{border-top:1px solid var(--line2);padding-top:16px}
.fact b{display:block;font-family:'Exo 2',sans-serif;font-size:22px;color:var(--strong);font-weight:700;margin-top:6px}
.vcard{background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:12px}
.vcard h3,.scard h3{font-family:'Exo 2',sans-serif;color:var(--strong);font-size:24px;line-height:1.15;margin:0;font-weight:700}
.vcard p,.scard p{margin:0;color:var(--body2);font-size:16px}
.icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(31,199,191,.12);color:var(--acc-t)}

/* SERVICES */
.scard{position:relative;border:1px solid var(--line);border-radius:20px;padding:32px;background:var(--surface);display:flex;flex-direction:column;gap:14px;min-height:260px;transition:border-color .25s ease,transform .25s ease}
.scard:hover{border-color:var(--acc-t);transform:translateY(-4px)}
.scard .num{font-family:'Exo 2',sans-serif;font-weight:800;font-size:56px;line-height:1;color:transparent;-webkit-text-stroke:1px var(--line2)}
.scard.feat{background:var(--feat);border-color:rgba(31,199,191,.35)}
.scard.open{background:transparent;border-style:dashed}

/* REFERENCE */
.ref{padding:clamp(96px,12vw,150px) 0;border-top:1px solid var(--line3);border-bottom:1px solid var(--line3);background:var(--bg2)}
.big{font-family:'Exo 2',sans-serif;font-weight:800;font-size:clamp(48px,9vw,132px);line-height:.95;color:var(--strong);letter-spacing:-0.025em;margin:0}
.big em{font-style:normal;color:var(--acc-t)}
.chip{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:12px;border:1px solid var(--line2);color:var(--text);font-size:15px}
.chip i{width:8px;height:8px;border-radius:50%;display:inline-block}

/* MACHINES */
.mgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:20px}
.mcard{border:1px solid var(--line);border-radius:20px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s ease,transform .25s ease}
.mcard:hover{border-color:var(--acc-t);transform:translateY(-6px)}
.mimg{aspect-ratio:16/9;background-color:var(--surface2);background-image:repeating-linear-gradient(135deg,var(--hatch) 0 2px,transparent 2px 18px);display:grid;place-items:center;color:var(--muted2)}
.mbody{padding:22px 24px 26px;display:flex;flex-direction:column;gap:6px}
.mname{font-family:'Exo 2',sans-serif;font-weight:800;font-size:30px;letter-spacing:.04em;color:var(--strong);margin:0;line-height:1.1}
.mtype{margin:0;color:var(--acc-t);font-weight:500}
.mdesc{margin:0;color:var(--muted);font-size:15px}

/* CTA + CONTACT */
.cta{padding:clamp(80px,10vw,128px) 0;background:var(--cta);border-top:1px solid rgba(31,199,191,.25);border-bottom:1px solid rgba(31,199,191,.25)}
.crow{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid var(--line3)}
.crow a{color:var(--strong);text-decoration:none;font-size:20px;font-weight:500}
.crow a:hover{color:var(--acc-t)}
.crow span.v{color:var(--strong);font-size:18px}
.minimap{position:relative;container-type:inline-size;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--bg);border:1px solid var(--line)}
.mm{position:absolute;aspect-ratio:2000/1153;width:calc(12 * 100cqw);left:calc(50% - 12 * 100cqw * 0.540);top:calc(50% - 12 * 100cqw * 0.5765 * 0.398)}
.inset{position:absolute;left:14px;bottom:14px;width:32%;aspect-ratio:4/3;border-radius:12px;overflow:hidden;border:1px solid var(--line2);background:var(--map-bg);container-type:inline-size;box-shadow:0 6px 18px rgba(0,0,0,.25)}
.mm2{position:absolute;aspect-ratio:2000/1153;width:calc(14 * 100cqw);left:calc(50% - 14 * 100cqw * 0.540);top:calc(50% - 14 * 100cqw * 0.5765 * 0.398)}
.mm2 img{position:absolute;inset:0;width:100%;height:100%}
.mm img{position:absolute;inset:0;width:100%;height:100%}
.foot{padding:32px 0;color:var(--muted2);font-size:14px}
.foot a{color:var(--muted);text-decoration:none;display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
.foot a:hover{color:var(--strong)}

/* MOBILE MENU */
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);background:transparent;color:var(--strong);place-items:center;cursor:pointer;padding:0}
.mobmenu{display:none}
.swipe{display:none}
.site{hyphens:auto;-webkit-hyphens:auto}
.h2,.big,.mname{overflow-wrap:break-word}

@media (max-width:900px){
.desk{display:none !important}
.burger{display:grid}
.mobmenu{display:flex;flex-direction:column;padding:4px clamp(20px,4vw,48px) 24px;border-top:1px solid var(--line3);background:var(--bg)}
.mobmenu a.lnk{font-size:19px;min-height:56px;border-bottom:1px solid var(--line3)}
.mobmenu .btn{margin-top:20px;justify-content:center}
}
@media (max-width:640px){
.hero-track{height:1825px}
.stage{height:100vh;height:100svh;min-height:520px}
.scrollhint{display:none}
.paths{margin-top:24px}
.path b{font-size:18px}
.ov-b,.ov-c{left:16px;right:16px;bottom:20px}
.panel{padding:20px}
.phB h2{font-size:24px !important}
.phC h2{font-size:30px !important}
.cname{font-size:12px;letter-spacing:.22em}
.pt .tx{font-size:13px}
.photo-sec,.ref{padding:72px 0}
.photo-tag{left:16px;right:auto;font-size:10px;top:calc(12% + 14px)}
.h2{font-size:32px}
.vcard,.scard{padding:24px}
.scard{min-height:0}
.scard .num{font-size:44px}
.fact b{font-size:19px}
.swipe{display:block}
.mgrid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:82%;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:4px 20px 16px;scroll-padding:0 20px;gap:14px}
.mcard{scroll-snap-align:start}
.mcard.rv{animation:none !important}
.mname{font-size:26px}
.cta .btn{flex:1 1 100%;justify-content:center}
.crow a{font-size:18px}
.crow span.v{font-size:16px}
}

.quote{display:flex;flex-direction:column;gap:6px}
.quote-tel{font-weight:800;font-size:clamp(28px,3.4vw,44px);line-height:1.1;color:var(--strong);text-decoration:none;white-space:nowrap;min-height:44px}
.quote-tel:hover{color:var(--acc-t)}
.sysgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:14px}
.syscard{border:1px solid var(--line);border-radius:16px;padding:20px 22px;background:var(--surface);transition:border-color .25s ease}
.syscard:hover{border-color:var(--acc,#1FC7BF)}
.sysname{font-family:'Exo 2',sans-serif;font-weight:800;font-size:19px;letter-spacing:.05em;color:var(--strong);margin:0 0 6px;overflow-wrap:anywhere}
.sysdesc{margin:0;color:var(--muted);font-size:15px;line-height:1.45}
@media (max-width:640px){.sysgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.syscard{padding:16px}.sysname{font-size:16px}}
.mphoto{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--surface2)}
.photo.bg-hall{background-image:url(assets/img/bg-hall.jpg);background-size:cover;background-position:center}
.scrim.strong{background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 72%,transparent) 20%,color-mix(in srgb,var(--bg) 72%,transparent) 80%,var(--bg) 100%)}
/* FOCUS + NAV PHONE */
.site a:focus-visible,.site button:focus-visible{outline:3px solid var(--acc,#1FC7BF);outline-offset:3px}
.btn:active,.path:active{transform:translateY(0)}
.navtel{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 12px;border-radius:12px;border:1px solid var(--line2);color:var(--strong);text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.navtel:hover{background:var(--line3);color:var(--strong)}
.navtel .num{display:none}
@media (min-width:1180px){.navtel .num{display:inline}}
@media (max-width:420px){.brandtx{display:none}}

/* HERO PATHS */
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:12px;margin-top:32px;max-width:620px}
.path{position:relative;display:flex;flex-direction:column;gap:4px;padding:18px 52px 18px 20px;border-radius:20px;text-decoration:none;border:1.5px solid var(--acc,#1FC7BF);background:var(--glass);color:var(--strong);transition:transform .2s ease,background .2s ease}
.path:hover{transform:translateY(-2px);color:var(--strong)}
.path .k{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--acc-t)}
.path b{font-family:'Exo 2',sans-serif;font-size:20px;font-weight:700;line-height:1.2}
.path svg{position:absolute;right:18px;top:50%;margin-top:-10px}
.path.primary{background:var(--acc,#1FC7BF);color:#0B0D11}
.path.primary .k{color:#0B0D11;opacity:.78}
.path.primary:hover{color:#0B0D11}
.hcall{margin-top:14px}

/* SERVICES LIST */
.svcsec{padding:clamp(72px,12vw,150px) 0}
.svcgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:48px 72px;align-items:start}
@media (min-width:900px){.svcaside{position:sticky;top:100px}}
.figimg{display:block;width:100%;object-fit:cover;border-radius:20px;background:var(--surface2)}
.site figure{margin:0}
.site figcaption{margin-top:10px;font-size:14px;color:var(--muted)}
.svclist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.svcrow{display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;padding:28px 0;border-bottom:1px solid var(--line2)}
.snum{font-family:'Exo 2',sans-serif;font-weight:800;font-size:32px;line-height:1;color:var(--acc-t)}
.svcrow h3{font-family:'Exo 2',sans-serif;color:var(--strong);font-size:24px;line-height:1.2;margin:0 0 8px;font-weight:700}
.svcrow p{margin:0;color:var(--body2)}
.slink{display:inline-flex;align-items:center;min-height:44px;margin-top:6px;font-weight:600;text-decoration:none;color:var(--acc-t)}

/* MACHINE CARD WITHOUT PHOTO */
.mnoimg{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface2);color:var(--acc-t);border-bottom:1px solid var(--line)}
.mnoimg svg{width:56px;height:56px}
.mnoname{font-family:'Exo 2',sans-serif;font-weight:800;font-size:22px;letter-spacing:.12em;color:var(--muted)}

/* MACHINE GALLERY + TEXT LIST */
.mmedia{position:relative}
.mthumbs{position:absolute;left:12px;bottom:12px;display:flex;gap:8px}
.mthumb{width:60px;height:44px;padding:0;border-radius:12px;overflow:hidden;border:2px solid rgba(255,255,255,.75);background:#000;cursor:pointer;opacity:.85;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.mthumb img{display:block;width:100%;height:100%;object-fit:cover}
.mthumb:hover{opacity:1}
.mthumb.on{border-color:var(--acc,#1FC7BF);opacity:1}
.mmore{margin-top:56px}
.mlist{list-style:none;margin:20px 0 0;padding:0;border-top:1px solid var(--line2)}
.mlist li{display:grid;grid-template-columns:minmax(150px,220px) minmax(150px,240px) minmax(0,1fr);gap:6px 24px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--line2)}
@media (max-width:760px){.mlist li{grid-template-columns:1fr}}

/* PRODUCTS SPLIT */
.prodsplit{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px 64px;align-items:center;margin-top:96px}
.prodfigs{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.prodfigs .figimg{aspect-ratio:3/4}
.prodfigs figure:nth-child(2){margin-top:48px}
.prodlist{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid var(--line2)}
.prodlist li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--line2)}
.pname{font-family:'Exo 2',sans-serif;font-weight:800;font-size:20px;letter-spacing:.05em;color:var(--strong);overflow-wrap:anywhere}
.pdesc{color:var(--body2);font-size:16px}
@media (max-width:640px){.svcrow{grid-template-columns:44px minmax(0,1fr);padding:22px 0}.snum{font-size:26px}.svcrow h3{font-size:21px}.prodsplit{margin-top:72px}.prodfigs figure:nth-child(2){margin-top:28px}.quote .btn{width:100%;justify-content:center}}

/* CAREERS */
.career{padding:clamp(72px,12vw,150px) 0;background:var(--bg2);border-top:1px solid var(--line3)}
.badge{display:inline-flex;align-items:center;gap:10px;min-height:36px;padding:0 14px;border-radius:12px;background:var(--feat);border:1px solid rgba(31,199,191,.35);color:var(--strong);font-size:14px;font-weight:500;margin-bottom:24px}
.badge i{width:8px;height:8px;border-radius:50%;background:var(--acc,#1FC7BF);box-shadow:0 0 0 4px rgba(31,199,191,.18)}
.jobgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:20px;margin-top:48px}
.jcard{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:32px}
.jcard h3{font-family:'Exo 2',sans-serif;color:var(--strong);font-size:24px;line-height:1.15;margin:0 0 20px;font-weight:700}
.jlist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.jlist li{display:flex;gap:12px;color:var(--body2);font-size:16px}
.jlist li svg{flex:none;margin-top:3px;color:var(--acc-t)}
.jobcta{margin-top:20px;border-radius:20px;padding:clamp(24px,4vw,40px);background:var(--cta);border:1px solid rgba(31,199,191,.3);display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:center}
.jbtns{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:640px){.jcard{padding:24px}.jbtns{width:100%}.jbtns .btn{flex:1 1 100%;justify-content:center}}

/* REVEALS */
@keyframes rise{from{opacity:0;transform:translateY(48px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:translateY(-6%)}to{transform:translateY(6%)}}
@supports (animation-timeline: view()){
.rv{animation:rise linear both;animation-timeline:view();animation-range:entry 5% cover 28%}
.rv.d1{animation-range:entry 12% cover 32%}
.rv.d2{animation-range:entry 20% cover 36%}
.photo{animation:drift linear both;animation-timeline:view();animation-range:cover 0% cover 100%}
}
@media (prefers-reduced-motion:reduce){.rv,.photo,.scrollhint .chev,.gps .ring,.anim{animation:none !important}.hero-track{height:auto}.stage{position:relative;height:min(100vh,760px)}.map{--k:var(--k1);--px:53.9;--py:39.6}.lblB,.pinIn{opacity:1}.scrollhint{display:none}.btn:hover,.path:hover{transform:none}}

/* ---- Statikus átirat: a sablon sc-if/attribútum-logikájának CSS-megfelelői (kinézetet nem változtatnak) ---- */
.mobmenu[hidden]{display:none}
.themebtn .ico-moon{display:none}
.site.light .themebtn .ico-moon{display:block}
.site.light .themebtn .ico-sun{display:none}
.burger .ico-x{display:none}
.burger[aria-expanded="true"] .ico-x{display:block}
.burger[aria-expanded="true"] .ico-bars{display:none}
/* a width/height attribútum csak helyfoglalásra kell, a méretet továbbra is a CSS (aspect-ratio) adja */
.mphoto,.figimg{height:auto}

/* ---- Impresszum / Adatvédelem aloldalak (új oldalak, a meglévő stílusokra építve) ---- */
.legal{padding:clamp(56px,8vw,112px) 0 clamp(72px,10vw,128px)}
.legal .h2{margin-bottom:12px}
.legal-body{max-width:760px;margin-top:40px}
.legal-body h2{font-family:'Exo 2',sans-serif;color:var(--strong);font-size:24px;line-height:1.2;font-weight:700;margin:48px 0 12px}
.legal-body p,.legal-body li{color:var(--body2)}
.legal-body dl{display:grid;grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:10px 24px;margin:0}
.legal-body dt{color:var(--muted)}
.legal-body dd{margin:0;color:var(--strong)}
@media (max-width:640px){.legal-body dl{grid-template-columns:1fr;gap:2px}.legal-body dd{margin-bottom:12px}}
.todo{display:inline-block;border:1px dashed var(--amber-t);color:var(--amber-t);border-radius:8px;padding:2px 10px;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.04em}
.todo-box{border:1px dashed var(--amber-t);border-radius:16px;padding:20px 22px;background:var(--surface);color:var(--text)}
.todo-box b{color:var(--amber-t)}

/* Görgetéshez kötött térkép JS-sel azokban a böngészőkben, amelyek nem ismerik az animation-timeline-t (pl. Firefox) */
.js-scrub .anim{animation-delay:0s;animation-play-state:paused}
.js-scrub .map.anim{animation:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* A térkép két tűjének felirata a tű fejéhez igazítva: Denkendorf balra, Göppingen jobbra, hogy ne takarják egymást */
.pt.pinlbl .tx{left:auto;right:30px;top:-47px}
.pt.pinlbl.next .tx{left:26px;right:auto;top:-40px}
@media (max-width:640px){.pt.pinlbl .tx{font-size:13px;top:-45px}.pt.pinlbl.next .tx{top:-38px}}
/* Jogi oldalak: nyelvenkénti szövegblokk (a <html lang> szerint) és visszalépő link */
.lb{display:none}
html[lang="hu"] .lb[lang="hu"],html[lang="de"] .lb[lang="de"],html[lang="en"] .lb[lang="en"]{display:block}
.backlink{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:20px;color:var(--acc-t);text-decoration:none;font-weight:600}
.backlink:hover{color:var(--strong)}
