:root{
    --bg:#090b0c;
    --gold:#e0bf78;
    --silver:#f2f2f3;
    --muted:#c2c3c6;
    --blue:#00caff;
    --line:rgba(230,232,234,.33);
    --panel:rgba(12,15,16,.72);
    --max:1280px;
    --gutter:clamp(26px,4.6vw,66px);
}

*{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    margin:0;
    background:var(--bg);
    color:var(--silver);
    font-family:"Segoe UI Variable","Segoe UI",Arial,sans-serif;
    font-weight:350;
    line-height:1.45;
    -webkit-font-smoothing:antialiased;
    min-height:100vh;
    display:flex;
    flex-direction:column;
    isolation:isolate;
}

main{
    flex:1;
}

a{
    color:inherit;
    text-decoration:none;
}

a:hover{
    color:var(--blue);
}

button,
input,
textarea{
    font:inherit;
}

h1,
h2,
h3,
p{
    margin-top:0;
}

h1,
h2,
h3{
    font-weight:320;
    letter-spacing:-.025em;
    line-height:1.08;
}

.wrap{
    width:100%;
    max-width:calc(var(--max) + var(--gutter)*2);
    padding-inline:var(--gutter);
    margin-inline:auto;
}

.skip-link{
    position:absolute;
    left:20px;
    top:-100px;
    z-index:999;
    background:#080a0b;
    border:1px solid var(--blue);
    padding:10px 16px;
}

.skip-link:focus{
    top:12px;
}

.sr-only{
    position:absolute!important;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}


/* =========================================================
   BACKGROUNDS
   ========================================================= */

.site-background{
    position:absolute;
    z-index:-2;
    inset:0 0 auto;
    height:760px;
    background-image:
        linear-gradient(to bottom,transparent 72%,var(--bg) 100%),
        var(--mg-page-background,url('../images/legal.webp'));
    background-repeat:no-repeat;
    background-size:100% 100%,cover;
    background-position:center top;
    pointer-events:none;
}

.mg-home .site-background{
    height:790px;
    background-image:
        linear-gradient(to bottom,transparent 82%,rgba(9,11,12,.9) 100%),
        var(--mg-page-background,url('../images/home.webp'));
    background-size:100% 100%,cover;
}

.mg-solutions .site-background{
    background-image:
        linear-gradient(to bottom,transparent 74%,var(--bg) 100%),
        var(--mg-page-background,url('../images/solutions.webp'));
}

.mg-cooperation .site-background{
    background-image:
        linear-gradient(to bottom,transparent 74%,var(--bg) 100%),
        var(--mg-page-background,url('../images/cooperation.webp'));
}

.mg-experience .site-background{
    background-image:
        linear-gradient(to bottom,transparent 77%,var(--bg) 100%),
        var(--mg-page-background,url('../images/experience.webp'));
}

.mg-contact .site-background{
    background-image:
        linear-gradient(to bottom,transparent 78%,var(--bg) 100%),
        var(--mg-page-background,url('../images/contact.webp'));
}

.mg-service .site-background,
.mg-page .site-background{
    background-image:
        linear-gradient(to bottom,transparent 78%,var(--bg) 100%),
        var(--mg-page-background,url('../images/solutions.webp'));
}


/* =========================================================
   HEADER
   ========================================================= */

.site-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    min-height:104px;
    padding-block:17px;
    position:relative;
    z-index:20;
}

.brand{
    display:flex;
    align-items:center;
    gap:14px;
    flex-shrink:0;
}

.brand img{
    width:52px;
    height:68px;
    object-fit:contain;
}

.brand>span{
    color:var(--gold);
    letter-spacing:.22em;
    font-size:1.03rem;
    white-space:nowrap;
    font-weight:450;
}

.brand b{
    color:var(--blue);
    font-weight:500;
    text-shadow:0 0 16px rgba(0,202,255,.45);
}

.header-navigation{
    display:flex;
    align-items:center;
    gap:32px;
}

.menu,
.legal-links{
    list-style:none;
    padding:0;
    margin:0;
}

.primary-nav .menu{
    display:flex;
    align-items:center;
    gap:35px;
}

.primary-nav a{
    display:block;
    position:relative;
    padding:14px 0 15px;
    font-size:.92rem;
    white-space:nowrap;
}

.primary-nav a[aria-current=page]:after,
.primary-nav .current-menu-item>a:after,
.primary-nav .current-menu-ancestor>a:after{
    content:"";
    position:absolute;
    height:3px;
    left:0;
    right:0;
    bottom:4px;
    background:var(--blue);
    box-shadow:0 0 10px var(--blue);
}

.primary-nav .sub-menu{
    display:none;
    position:absolute;
    background:#0e1112;
    border:1px solid var(--line);
    padding:14px;
    min-width:220px;
    list-style:none;
}

.primary-nav li{
    position:relative;
}

.primary-nav li:hover>.sub-menu,
.primary-nav li:focus-within>.sub-menu{
    display:block;
}

.button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:24px;
    border:1px solid var(--blue);
    border-radius:13px;
    padding:13px 28px;
    background:rgba(0,0,0,.25);
    color:#fff;
    transition:.25s ease;
    line-height:1.25;
}

.button:hover{
    color:#fff;
    box-shadow:
        0 0 18px rgba(0,202,255,.75),
        inset 0 0 13px rgba(0,202,255,.12);
    background:rgba(0,202,255,.06);
    transform:translateY(-1px);
}

.button span{
    color:var(--blue);
    font-size:1.5rem;
    line-height:1;
}

.header-contact{
    padding:11px 35px;
    min-width:134px;
}

.languages{
    display:flex;
    align-items:center;
    font-size:.83rem;
    gap:9px;
}

.languages a+a{
    border-left:2px solid var(--blue);
    padding-left:10px;
}

.languages [aria-current=true]{
    color:var(--gold);
}

.menu-toggle{
    display:none;
    background:#0c0f10;
    border:1px solid var(--line);
    color:#fff;
    border-radius:7px;
    padding:8px 10px;
}


/* =========================================================
   COMMON
   ========================================================= */

.eyebrow{
    font-size:.78rem;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--gold);
    font-weight:500;
    margin-bottom:24px;
}

.gold{
    color:#e8c99a;
}

.hero-intro{
    color:#d1d2d3;
    font-size:1.12rem;
    line-height:1.45;
}


/* =========================================================
   HOME
   ========================================================= */

.mg-home-ref{
    min-height:684px;
    position:relative;
    display:flex;
    align-items:center;
    padding-top:15px;
    padding-bottom:80px;
}

.mg-home-ref-copy{
    width:56%;
    max-width:650px;
}

.mg-home-ref h1{
    font-size:clamp(3.05rem,4.4vw,4.3rem);
    line-height:1.08;
    margin:0 0 26px;
}

.mg-home-ref .eyebrow{
    color:#c4c4c6;
    font-size:.72rem;
}

.mg-home-ref .hero-intro{
    font-size:1.15rem;
    max-width:650px;
    margin-bottom:38px;
}

.mg-home-ref .button{
    font-size:1.05rem;
    padding:16px 30px;
    box-shadow:0 0 13px rgba(0,202,255,.65);
}


/* =========================================================
   GENERAL PAGE HERO
   ========================================================= */

.mg-ref-hero{
    height:290px;
    padding-top:20px;
    padding-bottom:15px;
    display:flex;
    position:relative;
}

.mg-ref-hero-copy{
    width:58%;
    max-width:650px;
}

.mg-ref-hero h1{
    font-size:clamp(2.85rem,4.5vw,4rem);
    margin:0 0 16px;
}

.mg-ref-hero .hero-intro{
    font-size:1.13rem;
    max-width:610px;
}

.mg-ref-hero-experience,
.mg-ref-hero-contact{
    height:315px;
}

.mg-ref-hero-experience .mg-ref-hero-copy{
    width:50%;
}

.mg-team-mark{
    margin-top:24px;
    display:flex;
    flex-direction:column;
    width:max-content;
}

.mg-team-mark strong{
    font-size:1.25rem;
    color:var(--gold);
    font-weight:450;
    letter-spacing:.14em;
}

.mg-team-mark span{
    font-size:.62rem;
    letter-spacing:.25em;
    margin-top:5px;
    color:#e8e8e8;
}


/* =========================================================
   SOLUTIONS
   ========================================================= */

.mg-solution-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    padding-top:8px;
    padding-bottom:35px;
}

.mg-solution-card{
    min-height:225px;
    border:1px solid rgba(216,220,223,.42);
    background:rgba(7,10,11,.72);
    display:grid;
    grid-template-columns:95px 1fr;
    padding:25px 26px 20px;
    position:relative;
}

.mg-solution-icon{
    padding-top:7px;
}

.mg-line-icon{
    width:58px;
    height:58px;
    fill:none;
    stroke:var(--gold);
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.mg-solution-text .num,
.mg-process-copy .num,
.mg-expertise-grid .num{
    display:block;
    color:var(--gold);
    font-size:.72rem;
    margin:3px 0 10px;
}

.mg-solution-card h2{
    font-size:1.32rem;
    margin:0 0 15px;
}

.mg-solution-card p{
    font-size:.97rem;
    color:#d0d1d2;
    line-height:1.4;
    margin-bottom:16px;
}

.more{
    font-size:.88rem;
}

.more span{
    color:var(--blue);
    font-size:1.25rem;
    margin-left:10px;
}

.mg-ref-cta{
    min-height:100px;
    border-top:1px solid transparent;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:30px;
    padding-top:14px;
    padding-bottom:24px;
}

.mg-ref-cta h2{
    font-size:2rem;
    margin:0;
}

.mg-ref-cta .button{
    min-width:350px;
}


/* =========================================================
   COOPERATION
   ========================================================= */

.mg-process-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    padding-top:6px;
}

.mg-process-item{
    min-height:160px;
    display:grid;
    grid-template-columns:145px 1fr;
    align-items:center;
    padding:18px 35px 18px 20px;
    border-bottom:1px solid rgba(225,228,230,.42);
    position:relative;
}

.mg-process-item:nth-child(odd){
    border-right:1px solid rgba(225,228,230,.42);
}

.mg-process-item .mg-line-icon{
    width:63px;
    height:63px;
    justify-self:center;
}

.mg-process-copy{
    border-left:1px solid rgba(225,228,230,.42);
    padding-left:34px;
    position:relative;
}

.mg-process-copy:before{
    content:"";
    position:absolute;
    left:-4px;
    top:50%;
    width:7px;
    height:7px;
    border:1px solid var(--blue);
    background:#071013;
    border-radius:50%;
    box-shadow:0 0 8px var(--blue);
    transform:translateY(-50%);
}

.mg-process-item:nth-child(1) .mg-process-copy:after,
.mg-process-item:nth-child(3) .mg-process-copy:after{
    content:"";
    position:absolute;
    right:-84px;
    top:50%;
    width:72px;
    border-top:1px solid rgba(225,228,230,.35);
}

.mg-process-item h2{
    font-size:1.35rem;
    margin-bottom:8px;
}

.mg-process-item p{
    font-size:.98rem;
    color:#d0d1d2;
    margin:0;
    max-width:400px;
}

.mg-benefits{
    border-top:1px solid rgba(225,228,230,.45);
    border-bottom:1px solid rgba(225,228,230,.45);
    padding:23px 0 20px;
    margin-top:0;
}

.mg-benefits h2{
    font-size:1.8rem;
    margin-bottom:20px;
}

.mg-benefit-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.mg-benefit{
    display:flex;
    align-items:center;
    gap:24px;
    font-size:1.05rem;
    padding:0 30px;
}

.mg-benefit:first-child{
    padding-left:0;
}

.mg-benefit+.mg-benefit{
    border-left:1px solid rgba(225,228,230,.4);
}

.mg-benefit .mg-line-icon{
    width:50px;
    height:50px;
    flex:0 0 auto;
}


/* =========================================================
   EXPERIENCE
   ========================================================= */

.mg-ref-hero-experience + .mg-experience-section{
    border-top:0;
}

.mg-experience-section{
    border-top:1px solid rgba(225,228,230,.42);
    padding-top:27px;
    padding-bottom:18px;
}

.mg-experience-section h2{
    font-size:2rem;
    margin:0 0 8px;
}

.section-intro{
    font-size:1.15rem;
    color:#d2d3d4;
    margin-bottom:18px;
}

.mg-expertise-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
}

.mg-expertise-grid article{
    display:grid;
    grid-template-columns:95px 1fr;
    align-items:center;
    min-height:112px;
    padding:8px 28px 8px 0;
}

.mg-expertise-grid article+article{
    border-left:1px solid rgba(225,228,230,.4);
    padding-left:32px;
}

.mg-expertise-grid .mg-line-icon{
    width:58px;
    height:58px;
}

.mg-expertise-grid h3{
    font-size:1.17rem;
    margin:0 0 8px;
}

.mg-expertise-grid p{
    font-size:.94rem;
    color:#d0d1d2;
    line-height:1.35;
    margin:0;
}

.mg-experience-second{
    padding-bottom:4px;
}

.mg-experience-second .mg-expertise-grid article{
    min-height:125px;
}


/* =========================================================
   CONTACT
   ========================================================= */

.mg-contact-ref{
    border-top:1px solid rgba(225,228,230,.45);
    display:grid;
    grid-template-columns:.72fr 1.35fr;
    gap:42px;
    padding-top:28px;
    padding-bottom:28px;
}

.mg-contact-left{
    padding-right:42px;
    border-right:1px solid rgba(225,228,230,.45);
    position:relative;
}

.mg-contact-left .eyebrow{
    margin-bottom:14px;
}

.mg-contact-left h2{
    font-size:2.2rem;
    margin:0 0 4px;
}

.mg-contact-left .role{
    font-size:1.05rem;
}

.mg-email{
    display:flex;
    align-items:center;
    gap:18px;
    font-size:1.05rem;
    margin:22px 0;
}

.mg-email .mg-line-icon{
    width:44px;
    height:44px;
}

.mg-contact-left hr{
    border:0;
    border-top:1px solid rgba(225,228,230,.45);
    margin:17px 0;
}

.mg-contact-left h3{
    font-size:1.08rem;
    color:var(--gold);
    font-weight:450;
    margin-bottom:12px;
}

.mg-contact-left>p:last-of-type{
    color:#d2d3d4;
    line-height:1.45;
}

.mg-contact-left:after{
    content:"";
    position:absolute;
    right:-5px;
    top:50%;
    width:8px;
    height:8px;
    border:1px solid var(--blue);
    background:#071013;
    border-radius:50%;
    box-shadow:0 0 8px var(--blue);
}

.mg-orbits{
    height:170px;
    position:relative;
    margin-top:10px;
    overflow:hidden;
}

.mg-orbits:before,
.mg-orbits:after,
.mg-orbits span{
    content:"";
    position:absolute;
    border:1px solid rgba(224,191,120,.75);
    border-radius:50%;
    left:25px;
    top:38px;
    width:240px;
    height:72px;
    transform:rotate(-8deg);
}

.mg-orbits:after{
    transform:rotate(18deg);
    width:220px;
    height:85px;
    top:34px;
    left:38px;
}

.mg-orbits span{
    transform:rotate(-28deg);
    width:190px;
    height:95px;
    left:51px;
    top:30px;
}

.mg-orbits i,
.mg-orbits b{
    position:absolute;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,#eee,#b88745 35%,#171717 70%);
    box-shadow:0 0 12px rgba(224,191,120,.5);
}

.mg-orbits i{
    width:55px;
    height:55px;
    left:118px;
    top:52px;
}

.mg-orbits b{
    width:23px;
    height:23px;
    left:215px;
    top:38px;
}

.contact-form-panel{
    border:1px solid rgba(216,220,223,.45);
    border-radius:8px;
    background:rgba(15,18,19,.72);
    padding:26px 30px;
}

.contact-form-panel h2{
    font-size:2rem;
    margin-bottom:18px;
}

.contact-form-panel label{
    display:block;
    font-size:.92rem;
}

.contact-form-panel input:not([type=checkbox]),
.contact-form-panel textarea{
    width:100%;
    background:linear-gradient(110deg,#1c2021,#121516);
    border:1px solid #73777a;
    color:#fff;
    border-radius:4px;
    min-height:43px;
    padding:9px 12px;
    margin:5px 0 16px;
}

.contact-form-panel input:focus,
.contact-form-panel textarea:focus{
    outline:0;
    border-color:var(--blue);
    box-shadow:inset 3px 0 0 var(--blue);
}

.contact-form-panel textarea{
    min-height:105px;
    resize:vertical;
}

.form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.checkbox{
    display:flex!important;
    align-items:flex-start;
    gap:11px;
}

.checkbox input{
    width:20px;
    height:20px;
    accent-color:var(--blue);
    flex:0 0 auto;
}

.checkbox a{
    color:var(--blue);
    text-decoration:underline;
}

.form-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:18px;
    margin-top:14px;
}

.form-bottom small{
    color:#a9aaac;
}

.form-bottom .button{
    min-width:245px;
}

.form-honeypot{
    position:absolute;
    left:-10000px;
}

.form-direct{
    font-size:.78rem;
    color:#aaa;
    margin-top:12px;
}

.form-status{
    border:1px solid var(--blue);
    padding:10px 14px;
    margin-bottom:14px;
}


/* =========================================================
   STANDARD PAGE HERO
   ========================================================= */

.page-hero{
    height:225px;
    padding-top:0;
}

.page-hero .breadcrumb{
    display:flex;
    gap:13px;
    color:#c6c7c9;
    font-size:.78rem;
    margin-bottom:24px;
}

.page-hero h1{
    font-size:2.8rem;
    margin:0 0 5px;
}

.page-hero .hero-intro{
    margin:0;
    font-size:1.16rem;
}


/* =========================================================
   LEGAL / INFORMATION PAGES
   ========================================================= */

/*
   A legal.php által létrehozott új, egységes fejléc.
*/

.mg-legal .legal-page-hero{
    height:auto;
    min-height:0;
    padding-top:0;
    padding-bottom:22px;
    margin-bottom:0;
}

.mg-legal .legal-page-hero .eyebrow{
    margin:0 0 10px;
    color:var(--gold);
    font-size:.78rem;
    letter-spacing:.34em;
    text-transform:uppercase;
    font-weight:500;
}

.mg-legal .legal-page-hero h1{
    margin:0 0 5px;
    padding:0;
    font-size:2.8rem;
    font-weight:320;
    line-height:1.08;
    letter-spacing:-.025em;
    color:#ffffff;
}

.mg-legal .legal-page-hero .hero-intro{
    margin:0;
    padding:0;
    font-size:1.16rem;
    line-height:1.45;
    color:#f2f2f3;
}


/*
   Egységes tartalomszélesség minden HU és EN jogi oldalon.
*/

.mg-legal .legal-content{
    width:100%;
    max-width:1180px;
    margin:0 auto;
    padding:18px var(--gutter) 45px;
}

.mg-legal .legal-content-inner{
    width:100%;
    max-width:none!important;
    margin:0;
    padding:0!important;
}


/*
   Régi legal navigation támogatása, ha valahol még használatban van.
*/

.legal-tabs{
    border-top:1px solid rgba(225,228,230,.48);
    border-bottom:1px solid rgba(225,228,230,.48);
    padding-block:12px;
}

.legal-tabs .legal-links{
    display:flex;
    gap:55px;
}

.legal-tabs a{
    position:relative;
    padding:9px 0;
}

.legal-tabs a[aria-current=page]:after{
    content:"";
    position:absolute;
    height:3px;
    background:var(--blue);
    box-shadow:0 0 8px var(--blue);
    left:-8px;
    right:-8px;
    bottom:-13px;
}


/*
   Régi legal layout támogatása.
*/

.legal-layout{
    display:grid;
    grid-template-columns:270px 1fr;
    gap:52px;
    margin-top:26px;
    margin-bottom:28px;
    border:1px solid rgba(216,220,223,.5);
    border-radius:7px;
    padding:24px 28px;
    min-height:480px;
    background:rgba(9,12,13,.7);
}

.toc{
    position:static!important;
    display:block!important;
    padding:10px 25px 10px 0;
    border-right:1px solid rgba(225,228,230,.45);
}

.toc h2{
    font-size:1.4rem;
    color:var(--gold);
    margin-bottom:16px;
}

.toc nav ul{
    list-style:none;
    padding:0;
    margin:0;
}

.toc nav li{
    margin-bottom:10px;
}

.toc nav a{
    display:block;
    padding:5px 0 5px 15px;
    border-left:3px solid transparent;
    font-size:.92rem;
}

.toc nav a[aria-current=location]{
    border-color:var(--blue);
}


/* =========================================================
   LEGAL TYPOGRAPHY
   ========================================================= */

.mg-legal .prose{
    border:0!important;
    background:none!important;
    padding:0!important;
    max-width:none!important;
    font-size:1rem!important;
    line-height:1.6!important;
}

.mg-legal .prose h2{
    font-size:1.75rem;
    margin:1.1em 0 .45em;
    padding-top:.45em;
    border-top:1px solid rgba(225,228,230,.35);
    color:var(--silver);
}

.mg-legal .prose h2:first-child{
    border-top:0;
    margin-top:0;
    padding-top:0;
}

.mg-legal .prose h3{
    font-size:1.2rem;
    margin:1.15em 0 .5em;
    color:var(--silver);
}

.mg-legal .prose p{
    color:#d0d1d2;
}

.mg-legal .prose ul,
.mg-legal .prose ol{
    color:#d0d1d2;
}

.mg-legal .prose li{
    margin-bottom:4px;
}

.mg-legal .prose a{
    color:var(--blue);
}

.mg-legal .prose a:hover{
    text-decoration:underline;
}

.mg-legal .prose table{
    width:100%;
    border-collapse:collapse;
}

.mg-legal .prose td,
.mg-legal .prose th{
    border-bottom:1px solid rgba(225,228,230,.28);
    padding:8px 5px;
    text-align:left;
}


/* =========================================================
   FOOTER
   ========================================================= */

.site-footer{
    position:relative;
    border-top:1px solid rgba(225,228,230,.48);
    background:rgba(9,11,12,.94);
    margin-top:auto;
}

.site-footer:before{
    content:"";
    position:absolute;
    left:44%;
    top:-1px;
    width:12%;
    height:2px;
    background:linear-gradient(90deg,transparent,var(--blue),transparent);
    box-shadow:0 0 8px var(--blue);
}

.footer-inner{
    display:grid;
    grid-template-columns:1fr 1.9fr 1.15fr;
    align-items:center;
    gap:34px;
    min-height:142px;
    padding-top:18px;
    padding-bottom:16px;
}

.site-footer .legal-links{
    display:grid;
    grid-template-columns:repeat(2,max-content);
    gap:8px 34px;
    font-size:.82rem;
}

.site-footer .legal-links a[aria-current=page]{
    color:var(--blue);
}

.footer-motto{
    font-size:clamp(1.55rem,2.2vw,2rem);
    line-height:1.25;
    margin:0;
    border-left:1px solid rgba(225,228,230,.55);
    padding-left:50px;
}

.footer-more{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:18px;
    border-left:1px solid rgba(225,228,230,.55);
    padding-left:30px;
    font-size:.82rem;
}

.footer-more span{
    font-size:1.45rem;
    color:var(--blue);
}

.copyright{
    display:none;
}


/* =========================================================
   WORDPRESS / ELEMENTOR
   ========================================================= */

.entry-content img{
    max-width:100%;
    height:auto;
}

.mg-elementor-page{
    position:relative;
    z-index:1;
}


/* =========================================================
   TABLET
   ========================================================= */

@media(max-width:1100px){

    .header-navigation{
        gap:19px;
    }

    .primary-nav .menu{
        gap:22px;
    }

    .brand>span{
        font-size:.9rem;
    }

    .mg-home-ref-copy{
        width:62%;
    }

    .mg-solution-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .mg-process-item{
        grid-template-columns:110px 1fr;
    }

    .mg-years{
        right:5%;
    }

    .mg-years strong{
        font-size:6.5rem;
    }

    .mg-contact-ref{
        grid-template-columns:.85fr 1.25fr;
    }

    .footer-inner{
        grid-template-columns:1fr 1.65fr 1fr;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:820px){

    .site-header{
        min-height:82px;
        flex-wrap:wrap;
    }

    .brand img{
        width:42px;
        height:54px;
    }

    .brand>span{
        font-size:.78rem;
    }

    .menu-toggle{
        display:block;
    }

    .js .header-navigation{
        display:none;
    }

    .js .header-navigation.is-open{
        display:flex;
    }

    .header-navigation{
        width:100%;
        flex-direction:column;
        align-items:stretch;
        padding:10px 0 18px;
    }

    .primary-nav .menu{
        flex-direction:column;
        align-items:flex-start;
        gap:1px;
    }

    .header-contact{
        align-self:flex-start;
    }

    .languages{
        justify-content:center;
    }

    .site-background{
        height:620px;
        opacity:.5;
        background-size:auto 620px;
        background-position:60% top;
    }

    .mg-home .site-background{
        height:720px;
        opacity:.58;
        background-size:auto 720px;
        background-position:58% top;
    }

    .mg-home-ref{
        min-height:650px;
        align-items:flex-end;
    }

    .mg-home-ref-copy{
        width:100%;
        background:linear-gradient(90deg,rgba(5,7,8,.8),rgba(5,7,8,.15));
        padding:20px 0;
    }

    .mg-home-ref h1{
        font-size:clamp(2.45rem,9vw,3.6rem);
    }

    .mg-ref-hero{
        height:auto;
        min-height:300px;
        padding-top:40px;
    }

    .mg-ref-hero-copy{
        width:100%;
    }

    .mg-ref-hero h1{
        font-size:clamp(2.45rem,8vw,3.3rem);
    }

    .mg-ref-hero-experience{
        display:block;
    }

    .mg-solution-grid{
        grid-template-columns:1fr;
    }

    .mg-solution-card{
        min-height:200px;
    }

    .mg-process-grid{
        grid-template-columns:1fr;
    }

    .mg-process-item:nth-child(odd){
        border-right:0;
    }

    .mg-process-item .mg-process-copy:after{
        display:none;
    }

    .mg-benefit-grid{
        grid-template-columns:1fr;
    }

    .mg-benefit{
        padding:15px 0;
    }

    .mg-benefit+.mg-benefit{
        border-left:0;
        border-top:1px solid rgba(225,228,230,.3);
    }

    .mg-ref-cta{
        align-items:flex-start;
        flex-direction:column;
    }

    .mg-ref-cta .button{
        min-width:0;
    }

    .mg-expertise-grid{
        grid-template-columns:1fr;
    }

    .mg-expertise-grid article+article{
        border-left:0;
        border-top:1px solid rgba(225,228,230,.3);
        padding-left:0;
    }

    .mg-contact-ref{
        grid-template-columns:1fr;
    }

    .mg-contact-left{
        border-right:0;
        border-bottom:1px solid rgba(225,228,230,.4);
        padding-right:0;
    }

    .mg-contact-left:after{
        display:none;
    }

    .form-row{
        grid-template-columns:1fr;
        gap:0;
    }

    /*
       Jogi oldalak mobilon
    */

    .mg-legal .legal-page-hero{
        padding-bottom:18px;
    }

    .mg-legal .legal-page-hero .eyebrow{
        margin-bottom:9px;
        font-size:.7rem;
    }

    .mg-legal .legal-page-hero h1{
        font-size:2.35rem;
    }

    .mg-legal .legal-page-hero .hero-intro{
        font-size:1rem;
    }

    .mg-legal .legal-content{
        max-width:100%;
        padding-top:12px;
        padding-bottom:35px;
    }

    .legal-layout{
        grid-template-columns:1fr;
        gap:20px;
    }

    .toc{
        border-right:0;
        border-bottom:1px solid rgba(225,228,230,.35);
        padding-bottom:16px;
    }

    .legal-tabs .legal-links{
        gap:24px;
        flex-wrap:wrap;
    }

    .footer-inner{
        grid-template-columns:1fr;
        gap:22px;
        padding-block:25px;
    }

    .footer-motto,
    .footer-more{
        border-left:0;
        padding-left:0;
    }

    .footer-more{
        justify-content:flex-start;
    }

    .site-footer .legal-links{
        gap:8px 28px;
    }
}


/* =========================================================
   ACCESSIBILITY
   ========================================================= */

@media(prefers-reduced-motion:reduce){

    *{
        transition:none!important;
        animation:none!important;
    }
}

/* =========================================================
   MECHANOID – LEGAL PAGES FINAL OVERRIDE
   HU + EN
   ========================================================= */

/* ---------- FEJLÉC ---------- */

.legal-page-hero{
    width:100%;
    max-width:calc(var(--max) + var(--gutter)*2);
    margin:0 auto !important;
    padding:0 var(--gutter) 14px !important;

    height:auto !important;
    min-height:0 !important;
}

.legal-page-hero .eyebrow{
    margin:0 0 10px !important;
    padding:0 !important;

    font-size:.78rem;
    font-weight:500;
    line-height:1.2;

    letter-spacing:.34em;
    text-transform:uppercase;

    color:var(--gold);
}

.legal-page-hero h1{
    margin:0 0 5px !important;
    padding:0 !important;

    font-size:2.8rem;
    font-weight:320;
    line-height:1.08;
    letter-spacing:-.025em;

    /* prémium ezüst, nem hófehér */
    color:#e1e3e5;
}

.legal-page-hero .hero-intro{
    margin:0 !important;
    padding:0 !important;

    font-size:1.16rem;
    font-weight:350;
    line-height:1.4;

    color:#c2c5c8;
}


/* ---------- TARTALOM ---------- */

/*
   Ugyanaz a szélesség és bal oldali igazítás,
   mint a fejlécnél.
*/

.legal-content{
    width:100% !important;
    max-width:calc(var(--max) + var(--gutter)*2) !important;

    margin:0 auto !important;

    /* fejléc és szöveg közötti kis távolság */
    padding:8px var(--gutter) 48px !important;
}

.legal-content-inner{
    display:block;
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    color:#b9bdc1;
}


/* ---------- SZÖVEG ---------- */

.legal-content .prose{
    width:100% !important;
    max-width:none !important;

    margin:0 !important;
    padding:0 !important;

    border:0 !important;
    background:transparent !important;

    font-size:1rem !important;
    font-weight:350;
    line-height:1.6 !important;

    color:#b9bdc1 !important;
}


/* normál bekezdések */

.legal-content .prose p{
    color:#b9bdc1 !important;
}


/* kiemelések */

.legal-content .prose strong,
.legal-content .prose b{
    color:#c9ccd0 !important;
    font-weight:600;
}


/* fő szakaszcímek */

.legal-content .prose h2{
    margin:1.15em 0 .48em !important;
    padding-top:.55em !important;

    font-size:1.72rem !important;
    font-weight:320 !important;
    line-height:1.15 !important;

    color:#aeb3b8 !important;

    border-top:1px solid rgba(215,218,221,.24) !important;
}

.legal-content .prose h2:first-child{
    margin-top:0 !important;
    padding-top:0 !important;
    border-top:0 !important;
}


/* alcímek */

.legal-content .prose h3{
    margin:1.1em 0 .5em !important;

    font-size:1.16rem !important;
    font-weight:400 !important;

    color:#b7bbc0 !important;
}


/* listák */

.legal-content .prose ul,
.legal-content .prose ol{
    color:#b9bdc1 !important;
}

.legal-content .prose li{
    margin-bottom:4px;
}


/* linkek */

.legal-content .prose a{
    color:var(--blue) !important;
}

.legal-content .prose a:hover{
    text-decoration:underline;
}


/* táblázatok */

.legal-content .prose table{
    width:100% !important;
    border-collapse:collapse;
}

.legal-content .prose th,
.legal-content .prose td{
    padding:8px 5px;

    color:#b9bdc1 !important;

    border-bottom:1px solid rgba(215,218,221,.22);
    text-align:left;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media(max-width:820px){

    .legal-page-hero{
        padding:
            0
            var(--gutter)
            12px !important;
    }

    .legal-page-hero .eyebrow{
        margin-bottom:8px !important;
        font-size:.70rem;
    }

    .legal-page-hero h1{
        font-size:2.35rem;
    }

    .legal-page-hero .hero-intro{
        font-size:1rem;
    }

    .legal-content{
        padding:
            6px
            var(--gutter)
            36px !important;
    }

    .legal-content .prose h2{
        font-size:1.48rem !important;
    }
}

/* =========================================================
   MOBILE HEADER LANGUAGE SWITCHER
   ========================================================= */

/*
 * Desktopon a mobil nyelvválasztó és a mobil akcióblokk
 * semmilyen körülmények között ne jelenjen meg.
 */
.mobile-header-actions{
    display:none !important;
}

.mobile-languages{
    display:none !important;
}

.desktop-languages{
    display:block;
}


/* =========================================================
   MOBILE HEADER
   ========================================================= */

@media(max-width:820px){

    /*
     * Bal oldalon a logó,
     * jobb oldalon egy fix mobil blokk.
     */
    .site-header{
        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-wrap:wrap;
    }

    /*
     * A HTML-ben a nyelvválasztó előbb van, a Menü gomb utána.
     * A column-reverse biztosan megfordítja őket:
     *
     *   Menü
     *   HU | EN
     *
     * Így nem az order tulajdonságra támaszkodunk.
     */
    .mobile-header-actions{
        display:flex !important;
        flex-direction:column-reverse;
        align-items:center;
        justify-content:center;
        gap:5px;
        margin-left:auto;
        flex:0 0 auto;
    }

    /*
     * Hamburger / Menü gomb.
     */
    .mobile-header-actions .menu-toggle{
        display:block !important;
        margin:0 !important;
        align-self:center;
    }

    /*
     * HU | EN közvetlenül a Menü gomb alatt.
     */
    .mobile-languages{
        display:block !important;
        margin:0 !important;
        padding:0 !important;
        align-self:center;
    }

    .mobile-languages .languages{
        display:flex !important;
        align-items:center;
        justify-content:center !important;
        gap:7px;
        margin:0 !important;
        padding:0 !important;
        font-size:.72rem;
        line-height:1;
        white-space:nowrap;
    }

    /*
     * A desktop nyelvválasztó mobilon ne legyen benne
     * a lenyíló menüben.
     */
    .desktop-languages{
        display:none !important;
    }

    /*
     * A lenyíló navigáció továbbra is külön sorba kerül.
     */
    .header-navigation{
        width:100%;
    }
}
