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

.tpl-12 body {
    font-family:Arial, sans-serif;
    background:#fff;
    color:#111;
    line-height:1.5;
}

/* =========================
   NAVIGATION
========================= */

.tpl-12 .nav {
    position:relative;
    top:0;
    left:0;
    width:100%;
    z-index:100;
    padding:18px 55px;
    background:#111;

    display:flex;
    align-items:center;
}

.tpl-12 .logo {
    color:#fff;
    font-size:18px;
    font-weight:600;
    letter-spacing:0.3px;
}

.tpl-12 .menu {
    margin-left:auto;

    display:flex;
    align-items:center;
    gap:26px;
}

.tpl-12 .menu a {
    color:#fff;
    text-decoration:none;
    font-size:14px;
    transition:opacity 0.2s ease;
}

.tpl-12 .menu a:hover {
    opacity:0.7;
}

.tpl-12 .menu .contact {
    color:#d73a31;
}

.tpl-12 .lang {
    margin-left:12px;
    color:#bbb !important;
}

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

.tpl-12 .hero {
    position:relative;
    height:74vh;

    background-image:url('../media/servicescd01.jpg');

    background-size:85%;
    background-position:center top;
    background-repeat:no-repeat;

    background-color:#1a1a2e;
}

.tpl-12 .hero-overlay {
    position:absolute;
    inset:0;
    background:rgba(0,0,0,0.38);
}

.tpl-12 .hero-content {
    position:absolute;
    left:70px;
    bottom:50px;
    max-width:760px;
    z-index:2;
}

.tpl-12 .hero h1 {
    color:#d4af37;
    font-size:42px;
    font-weight:500;
    line-height:1.15;
    margin-bottom:14px;
    letter-spacing:-0.5px;
}

.tpl-12 .hero h2 {
    color:#d9d9d9;
    font-size:20px;
    font-weight:400;
    line-height:1.45;
}

/* =========================
   INTRO BLOCK
========================= */

.tpl-12 .intro {
    background:#f2f2f2;
    padding:44px 40px;
    border-bottom:1px solid #e0e0e0;
}

.tpl-12 .intro-inner {
    max-width:1100px;
    margin:auto;
    text-align:center;
}

.tpl-12 .intro-main {
    font-size:26px;
    line-height:1.3;
    color:#111;
    margin-bottom:12px;
    font-weight:500;
    letter-spacing:-0.3px;
}

.tpl-12 .intro-sub {
    font-size:15px;
    line-height:1.6;
    color:#777;
    max-width:780px;
    margin:auto;
}

/* =========================
   SERVICES SECTION
========================= */

.tpl-12 .services-section {
    background:#0f0f0f;
    color:#fff;
    padding:78px 45px 95px;
}

.tpl-12 .services-inner {
    max-width:1200px;
    margin:auto;
}

.tpl-12 .section-title {
    font-size:31px;
    font-weight:500;
    margin-bottom:44px;
    letter-spacing:-0.3px;
}

.tpl-12 .services-grid {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:40px 65px;
}

/* =========================
   SERVICE ITEM
========================= */

.tpl-12 .service-item {
    border-bottom:1px solid #303030;
    padding-bottom:22px;
}

.tpl-12 .service-item.main {
    grid-column:span 2;
    border-bottom:1px solid #5a5a5a;
    padding-bottom:30px;
}

.tpl-12 .service-title {
    font-size:22px;
    margin-bottom:12px;
    font-weight:500;
    letter-spacing:-0.2px;
}

.tpl-12 .service-item.main .service-title {
    color:#d4af37;
    font-size:25px;
}

.tpl-12 .service-desc {
    color:#b9b9b9;
    font-size:15px;
    line-height:1.75;
    max-width:92%;
}

.tpl-12 .service-item.main .service-desc {
    color:#dedede;
}

.tpl-12 .service-link {
    display:inline-block;
    margin-top:14px;
    font-size:13px;
    color:#5da8ff;
    text-decoration:none;
}

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



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

@media(max-width:900px){

    .tpl-12 .hero {
        height:55vh;
        background-position:center 20%;
    }

    .tpl-12 .hero-content {
        left:30px;
        right:30px;
        bottom:40px;
    }

    .tpl-12 .hero h1 {
        font-size:26px;
    }

    .tpl-12 .hero h2 {
        font-size:16px;
    }

    .tpl-12 .intro {
        padding:58px 25px;
    }

    .tpl-12 .intro-main {
        font-size:25px;
    }

    .tpl-12 .intro-sub {
        font-size:17px;
    }

    .tpl-12 .services-section {
        padding:60px 25px 70px;
    }

    .tpl-12 .services-grid {
        grid-template-columns:1fr;
        gap:35px;
    }

    .tpl-12 .service-item.main {
        grid-column:span 1;
    }

    .tpl-12 .menu {
        gap:14px;
        flex-wrap:wrap;
        justify-content:flex-end;
    }

    .tpl-12 .nav {
        padding:16px 20px;
    }

}



/* NAV */
.tpl-12 header { width: 100%; background: #000; border-bottom: 1px solid #1b1b1b; position: relative; z-index: 10; }
.tpl-12 .nav-container { max-width: 1400px; margin: 0 auto; padding: 16px 42px; display: flex; justify-content: space-between; align-items: center; }
.tpl-12 .logo-link { display: flex; align-items: center; text-decoration: none; }
.tpl-12 .logo-img { height: 80px; width: auto; display: block; }
.tpl-12 nav { display: flex; align-items: center; gap: 34px; }
.tpl-12 nav a { color: #ffffff; text-decoration: none; font-size: 14px; letter-spacing: .4px; transition: opacity .2s ease; }
.tpl-12 nav a:hover { opacity: .7; }
.tpl-12 .contact-link { color: #d52b1e !important; }
.tpl-12 .language { display: flex; gap: 12px; margin-left: 10px; }
.tpl-12 .language a { font-size: 13px; }



/* FOOTER */
.tpl-12 footer { width: 100%; background: #000; padding: 20px 42px; }
.tpl-12 .footer-inner { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.tpl-12 .footer-left { display: flex; align-items: center; gap: 14px; }
.tpl-12 .footer-logo { height: 48px; width: auto; }
.tpl-12 .footer-brand { color: #ffffff; font-size: 13px; letter-spacing: .3px; opacity: .82; }
.tpl-12 .footer-right { display: flex; align-items: center; }
.tpl-12 .footer-linkedin { display: flex; align-items: center; opacity: .75; transition: opacity .2s; }
.tpl-12 .footer-linkedin:hover { opacity: 1; }



/* RESPONSIVE */
@media(max-width:980px){
  .tpl-12 .nav-container { padding: 14px 24px; }
  .tpl-12 nav { gap: 18px; }
  .tpl-12 .hero-content { left: 24px; right: 24px; top: 55%; }
  .tpl-12 .hero-title { font-size: 34px; }
  .tpl-12 .hero-subtitle { font-size: 16px; }
  .tpl-12 .areas, .tpl-12 .who-section, .tpl-12 .experience-section { padding-left: 20px; padding-right: 20px; }
}
@media(max-width:700px){
  .tpl-12 .nav-container { flex-direction: column; align-items: flex-start; gap: 14px; }
  .tpl-12 nav { flex-wrap: wrap; gap: 14px; }
  .tpl-12 .hero { height: 80vh; }
  .tpl-12 .hero-content { right: 24px; }
  .tpl-12 .hero-title { font-size: 28px; }
  .tpl-12 .areas-grid { grid-template-columns: 1fr; }
  .tpl-12 .main-entry { grid-column: span 1; }
  .tpl-12 footer { padding: 20px 24px; }
  .tpl-12 .footer-inner { flex-direction: column; gap: 16px; align-items: flex-start; }
}
.tpl-12 footer { padding: 20px 24px; }
.tpl-12 .footer-inner { flex-direction: column; gap: 16px; align-items: flex-start; }
.tpl-12 }

.contact-cta {
    margin-top:60px;
    padding:50px 40px;
    border-top:1px solid #dcdcdc;
    text-align:center;
}

.tpl-12 .contact-cta-title {
    font-size:28px;
    font-weight:700;
    margin-bottom:24px;
    color:#111;
}

.tpl-12 .contact-cta-button {
    display:inline-block;
    padding:16px 34px;
    background:#111;
    color:#fff;
    text-decoration:none;
    font-size:14px;
    font-weight:700;
    letter-spacing:0.5px;
    transition:all 0.25s ease;
}

.tpl-12 .contact-cta-button:hover {
    opacity:0.85;
}