/*======================================================================
001 RESET
======================================================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

/*======================================================================
005 FONTS
======================================================================*/

@font-face{
    font-family:'moderat-medium';
    src:url('../../fonts/moderat-medium.ttf') format('truetype');
    font-weight:normal;
    font-style:normal;
}

/*======================================================================
010 ROOT VARIABLES
======================================================================*/

:root{

    --primary:#DA7A42;
    --secondary:#03283E;

    --background:#E9E3DB;
    --section:#faf8f5;

    --text:#6A6058;
    --white:#ffffff;
    --black:#000000;

}

/*======================================================================
015 GLOBAL
======================================================================*/

html,
body{
    width:100%;
    max-width:100%;
}

body{

    font-family:'moderat-medium',sans-serif;

    background:var(--background);

    color:var(--primary);

    scroll-padding-top:100px;

}

#home{
    scroll-margin-top:100px;
}

img,
svg{
    max-width:100%;
}

/*======================================================================
020 GRID BACKGROUND
======================================================================*/

body::before{

    content:"";

    position:fixed;

    inset:0;

    background-size:70px 70px;

    z-index:-1;

}

/*======================================================================
030 LOADER
======================================================================*/

#loader{

    position:fixed;

    inset:0;

    width:100%;

    height:100vh;

    display:flex;

    justify-content:center;

    align-items:center;

    background:var(--black);

    z-index:9999;

    transition:
        opacity .6s ease,
        visibility .6s;

}

.loader-content{

    text-align:center;

}

.logo{

    width:220px;

    margin-bottom:30px;

    animation:pulse 2s infinite ease-in-out;

}

/*------------------------------
LOADER BARS
------------------------------*/

.bars{

    display:flex;

    justify-content:center;

    gap:8px;

}

.bars span{

    width:6px;

    height:40px;

    background:var(--primary);

    border-radius:3px;

    animation:bounce 1.2s infinite ease-in-out;

}

.bars span:nth-child(1){animation-delay:0s;}
.bars span:nth-child(2){animation-delay:.1s;}
.bars span:nth-child(3){animation-delay:.2s;}
.bars span:nth-child(4){animation-delay:.3s;}
.bars span:nth-child(5){animation-delay:.4s;}

/*------------------------------
ANIMATIONS
------------------------------*/

@keyframes bounce{

    0%,100%{
        transform:scaleY(.4);
        opacity:.5;
    }

    50%{
        transform:scaleY(1.4);
        opacity:1;
    }

}

@keyframes pulse{

    0%,100%{

        transform:scale(1);

        filter:
            drop-shadow(
                0 0 0 var(--primary)
            );

    }

    50%{

        transform:scale(1.05);

        filter:
            drop-shadow(
                0 0 12px var(--primary)
            );

    }

}

/*======================================================================
040 NAVBAR
======================================================================*/

.navbar{

    position:sticky;

    top:0;

    z-index:1000;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:16px 80px;

    background:var(--secondary);

    border-bottom:
        1px solid rgba(0,0,0,.08);

}

.logo{

    font-family:'moderat-medium';

    font-size:26px;

    font-weight:600;

}

.nav-links{

    display:flex;

    align-items:center;

    gap:34px;

}

.nav-links a{

    text-decoration:none;

    color:var(--primary);

    font-size:14px;

}

.contact-btn{

    background:var(--primary);

    color:#fff !important;

    padding:9px 18px;

    border-radius:6px;

    font-size:14px;

    transition:.3s;

}

.contact-btn:hover{

    opacity:.9;

    transform:translateY(-1px);

}

.menu-toggle{

    display:none;

    flex-direction:column;

    gap:5px;

    cursor:pointer;

}

.menu-toggle span{

    width:22px;

    height:2px;

    background:var(--primary);

    transition:.3s;

}

/*======================================================================
050 HOME HERO
======================================================================*/

.hero-home{

    position:relative;

    width:100%;
    min-height:100vh;

    display:flex;
    justify-content:center;
    align-items:center;

    overflow:hidden;

    text-align:center;

    color:#fff;

}

.hero-home-video{

    position:absolute;

    inset:0;

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center center;

    z-index:-3;

}

.hero-home-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.42);

    z-index:-2;

}

.hero-home-content{

    position:relative;

    z-index:2;

    width:min(90%,980px);

    margin:auto;

}

.hero-home-subtitle{

    margin-bottom:28px;

    font-family:'moderat-medium';

    font-size:18px;

    letter-spacing:3px;

    color:#fff;

    text-transform:uppercase;

}

.hero-home-title{

    margin:0 auto 34px;

    font-family:'moderat-medium';

    font-size:clamp(72px,6vw,110px);

    line-height:.96;

    color:#fff;

}

.hero-home-description{

    width:min(620px,90%);

    margin:auto;

    font-family:'moderat-medium';

    font-size:22px;

    line-height:1.45;

    color:#fff;

}

/*======================================================================
050 HERO
======================================================================*/

.hero{

    position:relative;

    text-align:center;

    max-width:920px;

    margin:0 auto;

    padding:170px 20px 120px;

    height:85%;

    overflow:hidden;

    color:var(--white);

}

/*------------------------------
VIDEO
------------------------------*/

.hero-video{

    position:absolute;

    top:50%;
    left:50%;

    width:100%;
    height:100%;

    object-fit:cover;

    transform:translate(-50%,-50%);

    z-index:-2;

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

    z-index:-1;

}

.hero-content{

    position:relative;

    z-index:1;

}

/*------------------------------
TEXT
------------------------------*/

.subtitle{

    color:#fff;

    font-size:13px;

    letter-spacing:1.5px;

    margin-bottom:24px;

}

.title{

    font-family:'moderat-medium';

    font-size:70px;

    line-height:1.08;

    margin-bottom:28px;

}

.description{

    max-width:520px;

    margin:0 auto 42px;

    color:#fff;

    font-size:17px;

}

/*------------------------------
BUTTONS
------------------------------*/

.buttons{

    display:flex;

    justify-content:center;

    gap:16px;

}

.btn-primary{

    background:#2A1F19;

    color:#fff;

    padding:14px 26px;

    border-radius:6px;

    cursor:pointer;

    transition:.3s;

}

.btn-primary:hover{

    opacity:.9;

    transform:translateY(-1px);

}

.btn-secondary{

    border:1px solid #D4CBC2;

    background:transparent;

    color:#fff;

    padding:14px 26px;

    border-radius:6px;

    cursor:pointer;

    transition:.3s;

}

.btn-secondary:hover{

    opacity:.9;

    transform:translateY(-1px);

}

/* HERO DARK */

.hero .btn-primary{

    background:var(--primary);

    color:#2A1F19;

}

.hero .btn-secondary{

    border:1px solid var(--primary);

    color:#fff;

}

/*======================================================================
055 OUR APPROACH
======================================================================*/

.approach{

    padding:120px 80px 140px;

    background:var(--section);

}

.approach-container{

    max-width:1200px;

    margin:0 auto;

}

.approach-subtitle{

    color:var(--secondary);

    font-size:13px;

    letter-spacing:1.5px;

    margin-bottom:18px;

}

.approach-title{

    font-family:'moderat-medium';

    font-size:44px;

    margin-bottom:70px;

}

/*------------------------------
CARDS
------------------------------*/

.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:34px;

}

.card{

    position:relative;

    padding:44px 42px 46px;

    background:#f6f1eb;

    border:1px solid #D8D0C8;

}

.card-number{

    font-family:'moderat-medium';

    font-size:52px;

    color:var(--primary);

    margin-bottom:26px;

}

.card-icon{

    position:absolute;

    top:28px;
    right:28px;

    width:22px;
    height:22px;

    border:2px solid var(--secondary);

    border-radius:50%;

}

.card h3{

    font-family:'moderat-medium';

    font-size:24px;

    margin-bottom:14px;

}

.card p{

    max-width:300px;

    color:var(--text);

    font-size:15px;

    line-height:1.7;

}

/*======================================================================
060 SERVICES
======================================================================*/

.services{

    padding:120px 80px 140px;

    background:var(--background);

}

.services-container{

    max-width:1200px;

    margin:0 auto;

}

.services-subtitle{

    color:var(--secondary);

    font-size:13px;

    letter-spacing:1.5px;

    margin-bottom:18px;

}

.services-title{

    font-family:'moderat-medium';

    font-size:48px;

    line-height:1.2;

    margin-bottom:60px;

}

.services-content{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:start;

}

/*======================================================================
061 ACCORDION
======================================================================*/

.accordion{

    border-top:1px solid #D8D0C8;

}

.accordion-item{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 0;

    cursor:pointer;

    color:var(--text);

    border-bottom:1px solid #D8D0C8;

    transition:.3s;

}

.accordion-item.active{

    color:#2A1F19;

}

.accordion-header{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    font-family:'moderat-medium';

    font-size:22px;

}

.icon{

    display:flex;

    justify-content:center;

    align-items:center;

}

.chevron{

    transform:rotate(-90deg);

    transition:transform .3s ease;

}

.accordion-item.active .chevron{

    transform:rotate(0deg);

}

/*======================================================================
062 SERVICE DETAIL
======================================================================*/

.service-detail h3{

    font-family:'moderat-medium';

    font-size:34px;

    margin-bottom:20px;

}

.service-detail p{

    max-width:480px;

    margin-bottom:30px;

    color:var(--text);

    line-height:1.7;

}

.service-list{

    display:flex;

    gap:60px;

    color:var(--text);

}

.service-list ul{

    list-style:none;

}

.service-list li{

    position:relative;

    padding-left:16px;

    margin-bottom:12px;

}

.service-list li::before{

    content:"";

    position:absolute;

    left:0;

    top:8px;

    width:6px;

    height:6px;

    border-radius:50%;

    background:var(--primary);

}

/*======================================================================
063 SERVICES HELPERS
======================================================================*/

.services-right{

    display:none;

}

.accordion-item.active + .services-right{

    display:block;

}

/*======================================================================
070 SECTORS
======================================================================*/

.sectors{

    padding:140px 80px;

    background:var(--section);

}

.sectors-container{

    max-width:1200px;

    margin:0 auto;

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:80px;

    align-items:start;

}

.sectors-subtitle{

    color:var(--secondary);

    font-size:13px;

    letter-spacing:1.5px;

    margin-bottom:18px;

}

.sectors-title{

    font-family:'moderat-medium';

    font-size:52px;

    line-height:1.15;

    margin-bottom:28px;

}

.sectors-text{

    max-width:520px;

    color:var(--text);

    line-height:1.7;

}

.sectors-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:30px;

}

.sector-card{

    padding:30px;

    border:1px solid var(--secondary);

    transition:.3s;

}

.sector-card:hover{

    border-color:var(--primary);

    transform:translateY(-4px);

}

.sector-icon{

    font-size:22px;

    margin-bottom:18px;

    opacity:.8;

}

.sector-card h3{

    font-family:'moderat-medium';

    font-size:24px;

    margin-bottom:10px;

}

.sector-card p{

    color:var(--text);

    font-size:14px;

    line-height:1.6;

}

/*======================================================================
080 NEWS
======================================================================*/

.news{

    padding:60px 8%;

    background:#f7f5f3;

}

.news-container{

    max-width:1400px;

    margin:0 auto;

}

.news-header{

    margin-bottom:60px;

}

.news-subtitle{

    color:var(--secondary);

    font-size:13px;

    letter-spacing:1.5px;

    margin-bottom:18px;

}

.news-title{

    font-family:'moderat-medium';

    font-size:52px;

    line-height:1.15;

    margin-bottom:28px;

}

/*======================================================
CAROUSEL
======================================================*/

.news-slider-wrapper{

    position:relative;

    width:100%;

}

.news-slider{

    overflow:hidden;

    width:100%;

}

.news-track{

    display:flex;

    width:100%;

    transition:transform .55s ease;

}

.news-page{

    flex:0 0 100%;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:35px;

}

/*======================================================
CARDS
======================================================*/

.news-card{

    background:#fff;

    border:1px solid #e8e8e8;

    overflow:hidden;

    height:490px;

    transition:.30s;

}

.news-card:hover{

    transform:translateY(-6px);

}

.news-card img{

    display:block;

    width:100%;

    height:250px;

    object-fit:cover;

}

.news-content{

    position:relative;

    height:240px;

    padding:30px;

}

.news-date{

    margin-bottom:20px;

    color:var(--text);

    font-size:15px;

}

.news-content h3{

    max-width:90%;

    margin:0;

    color:var(--secondary);

    font-size:32px;

    line-height:1.15;

}

.news-text{

    color:var(--text);

    font-size:20px;

    line-height:1.7;

    text-decoration:none;

}

/*======================================================
CARD ARROW
======================================================*/

.news-card-arrow{

    position:absolute;

    right:30px;

    bottom:30px;

    color:var(--secondary);

    font-size:28px;

    text-decoration:none;

    transition:.30s;

}

.news-card-arrow:hover{

    transform:translateX(6px);

}

/*======================================================
CAROUSEL ARROWS
======================================================*/

.news-carousel-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:58px;

    height:58px;

    border:none;

    border-radius:50%;

    background:#FFF;

    color:var(--secondary);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    cursor:pointer;

    z-index:100;

    box-shadow:0 12px 30px rgba(0,0,0,.18);

    transition:.30s;

}

.news-carousel-arrow:hover{

    background:var(--primary);

    color:#FFF;

}

.news-prev{

    left:-85px;

}

.news-next{

    right:-85px;

}

/*======================================================
RESPONSIVE
======================================================*/

@media(max-width:1200px){

    .news-prev{

        left:-20px;

    }

    .news-next{

        right:-20px;

    }

}

@media(max-width:992px){

    .news-page{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:768px){

    .news-page{

        grid-template-columns:1fr;

    }

    .news-carousel-arrow{

        width:48px;

        height:48px;

        font-size:20px;

    }

    .news-prev{

        left:5px;

    }

    .news-next{

        right:5px;

    }

}

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

.contact{

    padding:140px 20px 160px;

    background:var(--background);

    text-align:center;

}

.contact-container{

    max-width:900px;

    margin:0 auto;

}

.contact-subtitle{

    color:var(--secondary);

    font-size:13px;

    letter-spacing:1.5px;

    margin-bottom:18px;

}

.contact-title{

    font-family:'moderat-medium';

    font-size:52px;

    margin-bottom:16px;

}

.contact-text{

    max-width:520px;

    margin:0 auto 50px;

    color:var(--text);

    line-height:1.7;

}

.contact-form{

    text-align:left;

}

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:20px;

    margin-bottom:20px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:6px;

    color:#2A1F19;

    font-size:13px;

}

.form-group input,
.form-group textarea{

    padding:14px;

    border:1px solid #D8D0C8;

    font-size:14px;

    font-family:'Inter',sans-serif;

}

.form-group textarea{

    min-height:140px;

    resize:none;

}

.form-group.full{

    margin-bottom:30px;

}

.form-actions{

    display:flex;

    justify-content:center;

}

.submit-btn{

    padding:14px 26px;

    border:none;

    border-radius:6px;

    background:var(--primary);

    color:#fff;

    font-size:14px;

    cursor:pointer;

    transition:.3s;

}

.submit-btn:hover{

    opacity:.9;

    transform:translateY(-1px);

}

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

.footer{

    padding:100px 80px 40px;

    background:var(--section);

}

.footer-container{

    max-width:1200px;

    margin:0 auto;

}

.footer-top{

    display:grid;

    grid-template-columns:1.5fr 1fr 1fr;

    gap:60px;

    margin-bottom:50px;

}

.footer-logo{

    font-family:'moderat-medium';

    font-size:26px;

    margin-bottom:16px;

}

.footer-desc{

    max-width:320px;

    color:var(--text);

    line-height:1.7;

}

.footer-title{

    font-family:'moderat-medium';

    font-size:18px;

    margin-bottom:16px;

}

.footer-col ul{

    list-style:none;

}

.footer-col li{

    margin-bottom:10px;

    color:var(--text);

    font-size:14px;

}

.footer-divider{

    margin:40px 0 20px;

    border:none;

    border-top:1px solid #E0D8CF;

}

.footer-bottom{

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:var(--text);

    font-size:13px;

}

.footer-right{

    display:flex;

    gap:30px;

}

/*======================================================================
110 ARTICLE / PDF
======================================================================*/

.article-page{

    padding:100px 0;

    background:#f7f5f3;

}

.article-container{

    width:min(1400px,90%);

    margin:auto;

}

.article-meta{

    display:flex;

    gap:20px;

    margin-bottom:20px;

}

.article-meta span{

    color:#C96F42;

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;

}

.article-container h1{

    font-family:'Playfair Display',serif;

    font-size:clamp(42px,4vw,72px);

    line-height:1.1;

    color:var(--secondary);

    max-width:1100px;

    margin-bottom:30px;

}

.article-intro{

    max-width:900px;

    margin-bottom:50px;

    color:var(--text);

    font-size:20px;

    line-height:1.8;

}

/*------------------------------
PDF CARD
------------------------------*/

.pdf-card{

    background:#fff;

    border-radius:20px;

    overflow:hidden;

    box-shadow:0 20px 60px rgba(0,0,0,.08);

}

.pdf-toolbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:25px 35px;

    border-bottom:1px solid #ececec;

}

.pdf-actions{

    display:flex;

    gap:15px;

}

.pdf-btn{

    padding:12px 22px;

    border-radius:8px;

    background:var(--secondary);

    color:#fff;

    text-decoration:none;

    transition:.3s;

}

.pdf-btn.secondary{

    background:#C96F42;

}

.pdf-btn:hover{

    transform:translateY(-2px);

}

/*------------------------------
PDF VIEWER
------------------------------*/

.pdf-container{

    width:100%;

    max-width:1100px;

    margin:auto;

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    overflow:hidden;

}

.pdf-viewer{

    display:block;

    width:100%;

    max-width:100%;

    height:60vh;

    border:none;

    border-radius:12px;

    background:#f5f5f5;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.15);

}

.pdf-download{

    display:none;

    margin-top:25px;

    padding:14px 30px;

    background:var(--primary);

    color:#fff;

    text-decoration:none;

    border-radius:30px;

}

/*======================================================================
120 LANGUAGE SELECTOR
======================================================================*/

.language{

    position:relative;

    width:70px;

    min-width:70px;

}

.language-current{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:8px;

    width:65px;

    min-width:68px;

    height:38px;

    padding:0 12px;

    border-radius:30px;

    border:1px solid rgba(218,122,66,.45);

    background:rgba(255,255,255,.08);

    color:#fff;

    font-size:17px;

    cursor:pointer;

    transition:.3s;

}

.language-current:hover{

    background:var(--primary);

    transform:translateY(-2px);

}

.arrow{

    color:var(--primary);

    font-size:14px;

}

.language-current:hover .arrow{

    color:#fff;

}

.language-menu{

    position:absolute;

    top:48px;

    right:0;

    min-width:160px;

    background:var(--background);

    border-radius:14px;

    overflow:hidden;

    opacity:0;

    visibility:hidden;

    transform:translateY(10px);

    transition:.25s;

    box-shadow:0 20px 40px rgba(0,0,0,.25);

    z-index:9999;

}

.language:hover .language-menu{

    opacity:1;

    visibility:visible;

    transform:translateY(0);

}

.lang-option{

    width:100%;

    padding:13px 18px;

    border:none;

    background:none;

    color:var(--secondary);

    text-align:left;

    font-family:'moderat-medium';

    cursor:pointer;

    transition:.25s;

}

.lang-option:hover{

    background:var(--primary);

    color:#fff;

}

/*======================================================================
140 RESPONSIVE
======================================================================*/

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

@media (max-width:1024px){

    .nav,
    header{
        padding:16px 24px !important;
    }

    .hero,
    .approach,
    .services,
    .sectors,
    .contact,
    .footer{
        padding-left:24px !important;
        padding-right:24px !important;
    }

    .hero h1{
        font-size:42px;
        line-height:1.2;
    }

    .cards{
        grid-template-columns:1fr;
        gap:24px;
    }

    .services-container,
    .sectors-container{
        display:grid;
        grid-template-columns:1fr;
        gap:40px;
    }

    .sectors-grid{
        grid-template-columns:1fr 1fr;
    }

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

    .news-grid{
        grid-template-columns:1fr;
    }

    .news-placeholder{
        display:none;
    }

    .news-title{
        font-size:42px;
    }

}

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

@media (max-width:768px){

    body{
        overflow-x:hidden;
    }

    /* NAV */

    .menu-toggle{
        display:flex;
    }

    .nav-links{

        position:absolute;

        top:60px;
        left:0;

        width:100%;

        display:none;

        flex-direction:column;

        align-items:center;

        gap:20px;

        padding:30px 0;

        background:var(--background);

        border-bottom:1px solid rgba(0,0,0,.1);

    }

    .nav-links.active{
        display:flex;
    }

    .menu-toggle.active span:nth-child(1){
        transform:rotate(45deg) translate(5px,5px);
    }

    .menu-toggle.active span:nth-child(2){
        opacity:0;
    }

    .menu-toggle.active span:nth-child(3){
        transform:rotate(-45deg) translate(5px,-5px);
    }

    /* HERO */

    .hero h1{
        font-size:34px;
    }

    .hero p{
        font-size:15px;
    }

    .buttons{

        flex-direction:column;

        align-items:center;

        gap:12px;

    }

    .btn-primary,
    .btn-secondary{

        width:100%;
        max-width:280px;

        text-align:center;

    }

    /* TITLES */

    .approach-title,
    .services-title,
    .sectors-title,
    .contact-title{

        font-size:32px;

        line-height:1.2;

    }

    /* SERVICES */

    .services-content{

        display:flex;

        flex-direction:column;

        gap:30px;

    }

    .accordion{
        order:1;
    }

    .service-detail{

        order:2;

        display:block;

    }

    .accordion-item{

        padding:18px 0;

        font-size:16px;

    }

    /* SECTORS */

    .sectors-container{

        display:flex;

        flex-direction:column;

        gap:40px;

    }

    .sectors-grid{

        grid-template-columns:1fr;

        gap:20px;

    }

    .sector-card{
        width:100%;
    }

    /* CONTACT */

    .contact-container{
        padding:0 10px;
    }

    .contact-title{
        font-size:34px;
    }

    .contact-text{
        font-size:15px;
    }

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

    .form-group input,
    .form-group textarea{
        width:100%;
    }

    .submit-btn{
        width:100%;
    }

    /* FOOTER */

    .footer-top{

        display:flex;

        flex-direction:column;

        gap:30px;

    }

    .footer-col{
        width:100%;
    }

    .footer-bottom{

        flex-direction:column;

        align-items:center;

        text-align:center;

        gap:12px;

    }

    /* LANGUAGE */

    .language{

        width:100%;

        display:flex;

        justify-content:center;

    }

    .language-current{

        background:var(--secondary);

    }

    .language-menu{

        left:50%;

        right:auto;

        transform:translate(-50%,10px);

    }

    .language:hover .language-menu{

        transform:translate(-50%,0);

    }

    /* PDF */

    .article-hero{

        width:100%;

        overflow:hidden;

    }

    .pdf-container{

        width:94vw;

        margin:auto;

    }

    .pdf-viewer{

        width:94vw;

        min-width:94vw;

        max-width:94vw;

        height:60vh;

    }

    .pdf-download{
        display:block;
    }

}

/*======================================================================
143 SMALL MOBILE
======================================================================*/

@media (max-width:480px){

    .hero h1{
        font-size:28px;
    }

    h2{
        font-size:26px !important;
    }

    .btn-primary,
    .btn-secondary,
    .submit-btn{
        width:100%;
    }

    .sectors,
    .contact,
    .footer{

        padding-top:70px !important;

        padding-bottom:70px !important;

    }

}

/*======================================================================
150 UTILITIES
======================================================================*/

.nav-links > a{

    min-width:95px;

    text-align:center;

    white-space:nowrap;

}

.nav-links > a[data-i18n="our_approach"]{

    min-width:150px;

}

.nav-links > .contact-btn{

    min-width:110px;

}

@media (min-width:769px){

    .nav-links{

        display:flex;

        align-items:center;

        gap:32px;

    }

}

/*======================================================
081 NEWS CAROUSEL
======================================================*/

.news-slider-wrapper{

    position:relative;

    width:100%;

    margin-top:60px;

}

.news-slider{

    overflow:hidden;

    width:100%;

}

.news-track{

    display:flex;

    width:100%;

    transition:transform .55s ease;

}

.news-page{

    flex:0 0 100%;

    width:100%;

    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:35px;

}

.news-card{

    width:100%;

    max-width:none;

    margin:0;

}

/*======================================================
FLECHAS
======================================================*/

.news-carousel-arrow{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:#FFF;

    color:var(--secondary);

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:24px;

    cursor:pointer;

    z-index:100;

    box-shadow:0 10px 30px rgba(0,0,0,.18);

    transition:.30s;

}

.news-carousel-arrow:hover{

    background:var(--primary);

    color:#FFF;

}

.news-prev{

    left:-90px;

}

.news-next{

    right:-90px;

}

/*======================================================
CARD ARROW
======================================================*/

.news-card-arrow{

    position:absolute;

    right:30px;

    bottom:30px;

    color:var(--secondary);

    font-size:28px;

    text-decoration:none;

    transition:.30s;

}

.news-card-arrow:hover{

    transform:translateX(6px);

}

/*======================================================
RESPONSIVE
======================================================*/

@media(max-width:1200px){

    .news-prev{

        left:-25px;

    }

    .news-next{

        right:-25px;

    }

}

@media(max-width:992px){

    .news-page{

        grid-template-columns:repeat(2,minmax(0,1fr));

    }

}

@media(max-width:768px){

    .news-page{

        grid-template-columns:1fr;

    }

    .news-carousel-arrow{

        width:48px;

        height:48px;

        font-size:20px;

    }

    .news-prev{

        left:10px;

    }

    .news-next{

        right:10px;

    }

}

/*======================================================
082 NEWS RESPONSIVE
======================================================*/

@media (max-width:1200px){

    .news-prev{

        left:-25px;

    }

    .news-next{

        right:-25px;

    }

}

@media (max-width:992px){

    .news-page{

        grid-template-columns:repeat(2,1fr);

    }

}

@media (max-width:768px){

    .news-page{

        grid-template-columns:1fr;

    }

    .news-carousel-arrow{

        width:48px;

        height:48px;

        font-size:20px;

    }

    .news-prev{

        left:10px;

    }

    .news-next{

        right:10px;

    }

}