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

.hero-image {
    background:
    linear-gradient(180deg, rgba(11,13,16,.35), rgba(6,7,10,.55)),
    url("/images/hero-background.png") center/cover no-repeat !important;
}

.hero-image .hero-text {
    position: relative !important;
    isolation: isolate;
}

/* Headline */
.hero-image .hero-text h1 {
    font-size: 3rem !important;
    font-weight: 500;
    letter-spacing: 0.01em;
    margin-bottom: 0.6rem;
    color: #33b86b;
}

/* ============================================================
 *   HEADER (override theme)
 *   ============================================================ */

.header{
    color: inherit;
    background-color:#fff;
    display:flex;
    justify-content:space-between;
    align-items:center;
    box-shadow:0 1px 15px rgba(50,50,93,0.2);
    height:60px; /* keep theme height */
}

.header .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    height:100%;
    width:100%;
}

/* absolute header behavior (keep theme) */
.header.header-absolute{
    position:absolute;
    z-index:100;
    width:100%;
}

/* ============================================================
 *   LOGO / BRAND (fix theme constraints + deterministic breakpoints)
 *   ============================================================ */

/* Kill theme "logo cages" (120px desktop / 40px mobile) */
.logo,
.logo-mobile{
    width:auto !important;
    padding:0 !important;
    display:flex;
    align-items:center;
    flex:0 0 auto;
}

/* Show ONLY one logo block depending on breakpoint */
@media (min-width: 576px) {
    .header .logo { display: flex !important; }
    .header .logo-mobile { display: none !important; }
}
@media (max-width: 575.98px) {
    .header .logo { display: none !important; }
    .header .logo-mobile { display: flex !important; }
}

/* Override theme: .logo a { display:block; width:100%; height:100%; } */
.logo a,
.logo-mobile a{
    display:inline-flex !important;
    width:auto !important;
    height:auto !important;
}

/* Override theme: .logo img { width:100% } */
.logo img,
.logo-mobile img{
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    display:block;
    margin:0;
}

/* ============================================================
 *   BRAND: experts [icon] network (FINAL)
 *   ============================================================ */

a.brand{
    display:inline-flex;
    align-items:center;
    text-decoration:none;
    white-space:nowrap;
    line-height:1;
}

/* Text */
a.brand .brand__experts,
a.brand .brand__net{
    font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
    font-weight:700;
    font-size:26px;
    letter-spacing:-0.02em;
    line-height:1;
}

a.brand .brand__experts{
    color:#1c3ed3;
    margin-right:6px;
}

a.brand .brand__net{
    color:#33b86b;
    margin-left:6px;
}



/* Mobile */
@media (max-width:575.98px){
    a.brand .brand__experts,
    a.brand .brand__net{
        font-size:22px;
    }

    a.brand .brand__icon{
        height:20px;
    }

    a.brand .brand__experts{ margin-right:5px; }
    a.brand .brand__net{ margin-left:5px; }
}

/* ============================================================
 *   MENU: keep it on the right
 *   ============================================================ */

.main-menu,
#main-menu{
margin-left:auto;
}

#toggle-main-menu-mobile{
margin-left:16px;
}

/* ===== BRAND ICON: force-crop padded PNG ===== */
a.brand{
    gap: 0 !important; /* we control spacing manually */
}

a.brand .brand__experts{ margin-right: 6px !important; }
a.brand .brand__net{ margin-left: 6px !important; }

/* The important part: fixed square box + crop */
/* Lock icon size (prevents theme width:100% from scaling it up) */
.header a.brand img.brand__icon{
    width: auto !important;
    height: 24px !important;
    max-height: 24px !important;
    display: block;
    margin: 0;
    position: relative;
    top: 1px;
}

@media (max-width:575.98px){
    .header a.brand img.brand__icon{
        height: 20px !important;
        max-height: 20px !important;
    }
}

/* ===== HARD FIX: stop icon clipping ===== */

/* make sure nothing in the header chain clips children */
.header,
.header .container,
.header .logo,
.header .logo-mobile,
.header .logo a,
.header .logo-mobile a,
a.brand {
    overflow: visible !important;
}

/* keep header centered */
.header .container {
    align-items: center !important;
}

.col-12 {
    margin-bottom:15px;
}

.form-control {
    border-color:#1c3ed3;
}
.content a {
    text-decoration: none;
}


