
/* ==========================================================
   MMATHARI PARTNERS
   Corporate Website Stylesheet
   Part 1 - Foundation
   ========================================================== */
/* ===========================
   CSS VARIABLES
=========================== */
:root{
    --primary:#6F4518;
    --primary-dark:#5A3713;
    --secondary:#F3D5B5;
    --accent:#32CD32;
    --danger:#FF0000;
    --text:#4A3728;
    --text-light:#6B5A4A;
    --white:#FFFFFF;
    --light:#FAF8F5;
    --border:#E4D8CB;
    --shadow:0 8px 30px rgba(0,0,0,.08);
    --radius:10px;
    --radius-lg:18px;
    --transition:.35s ease;
    --container:1200px;
}
/* ===========================
   RESET
=========================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}
html{
    scroll-behavior:smooth;
}
body{
    font-family:'Inter',sans-serif;
    font-size:15px;
    line-height:1.7;
    color:var(--text);
    background:var(--white);
    overflow-x:hidden;
}
img{
    max-width:100%;
    display:block;
}
a{
    text-decoration:none;
    color:inherit;
    transition:var(--transition);
}
ul{
    list-style:none;
}
button,
input,
textarea,
select{
    font:inherit;
}
section{
    padding:65px 0;
}
/* ===========================
   CONTAINER
=========================== */
.container{
    width:90%;
    max-width:var(--container);
    margin:auto;
}
/* ===========================
   TYPOGRAPHY
=========================== */
h1,
h2,
h3,
h4,
h5,
h6{
    color:var(--primary);
    line-height:1.2;
    margin-bottom:20px;
    font-weight:700;
}
h1{
    font-size:2.8rem;
}
h2{
    font-size:1.6rem;
}
h3{
    font-size:1.35rem;
}
p{
    margin-bottom:20px;
    color:var(--text-light);
}
.lead{
    font-size:1.2rem;
    color:var(--text);
}
.text-center{
    text-align:center;
}
.section-title{
    margin-bottom:18px;
}
.section-subtitle{
    max-width:760px;
    margin:0 auto 60px;
    text-align:center;
}
/* ===========================
   BUTTONS
=========================== */
.btn{
    display:inline-block;
    padding:15px 34px;
    border-radius:50px;
    transition:var(--transition);
    font-weight:600;
    cursor:pointer;
}
.btn-primary{
    background:var(--primary);
    color:var(--white);
}
.btn-primary:hover{
    background:var(--accent);
    transform:translateY(-3px);
}
.btn-outline{
    border:2px solid var(--primary);
    color:var(--primary);
    background:transparent;
}
.btn-outline:hover{
    background:var(--primary);
    color:var(--white);
}
/* ===========================
   HEADER
=========================== */
.header{
    background:#ffffff;
    text-align:center;
    padding:25px 0;
    border-bottom:1px solid var(--border);
}
.main-logo{
    width:340px;
    max-width:90%;
    height:auto;
    margin:auto;
}
/* ===========================
   NAVIGATION
=========================== */
.navbar{
    background:var(--primary);
    position:sticky;
    top:0;
    z-index:999;
}
.navbar .container{
    display:flex;
    justify-content:center;
}
.nav-links{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:0;
}
.nav-links li{
    list-style:none;
}
.nav-links a{
    display:block;
    padding:14px 13px;
    color:#ffffff;
    font-weight:600;
}
.nav-links a:hover,
.nav-links a.active{
    background:var(--accent);
    color:#ffffff;
}
/* ===========================
   MOBILE TOGGLE
=========================== */
.menu-toggle{
    display:none;
    flex-direction:column;
    gap:5px;
    cursor:pointer;
}
.menu-toggle span{
    width:28px;
    height:3px;
    background:var(--white);
    border-radius:5px;
    transition:var(--transition);
}
/* ===========================
   HERO
=========================== */
.hero{
    background:var(--secondary);
    min-height:650px;
    display:flex;
    align-items:center;
    text-align:center;
}
.hero-content{
    max-width:900px;
    margin:auto;
}
.hero h1{
    color:var(--primary);
}
.hero p{
    color:var(--text);
}
/* ===========================
   HERO TAGLINE
=========================== */
.hero .lead{
       text-align:center;
}
/* ===========================
   PAGE HERO
=========================== */
.page-hero{
    background:var(--secondary);
    padding:110px 0 65px;
    text-align:center;
}
.page-hero h1{
    margin-bottom:15px;
}
.page-hero p{
    max-width:700px;
    margin:auto;
}
/* ===========================
   SECTIONS
=========================== */
.bg-light{
    background:var(--light);
}
.bg-beige{
    background:var(--secondary);
}
.bg-white{
    background:var(--white);
}
/* ==========================================================
   PART 2 - HOME PAGE & GENERAL COMPONENTS
   ========================================================== */
/* ===========================
   GRID LAYOUTS
=========================== */
.grid{
    display:grid;
    gap:30px;
}
.grid-2{
    grid-template-columns:repeat(2,1fr);
}
.grid-3{
    grid-template-columns:repeat(3,1fr);
}
.grid-4{
    grid-template-columns:repeat(4,1fr);
}
/* ===========================
   CARDS
=========================== */
.card{

    background:var(--white);

    border-radius:12px;

    padding:20px;

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-4px);

}

.card h3{

    font-size:1.15rem;

    line-height:1.3;

    margin-bottom:12px;

}

.card p{

    font-size:0.92rem;

    line-height:1.55;

}

/* ==========================================================

   GLOBAL CARD STYLE

   ========================================================== */

.card,

.service-card,

.value-card {

    border-radius: 12px;

    padding: 20px;

    box-shadow: var(--shadow);

    box-sizing: border-box;

}

.card h3,

.service-card h3,

.value-card h3 {

    font-size: 1.15rem;

    line-height: 1.3;

}

.card p,

.service-card p,

.value-card p {

    font-size: 0.92rem;

    line-height: 1.55;

}

/* Team profile cards */

.profile-card {

    border-radius: 12px;

    box-sizing: border-box;

}

/* Consistent hover */

.card:hover,

.service-card:hover,

.value-card:hover,

.profile-card:hover {

    transform: translateY(-4px);

}

/* ===========================
   HOME ABOUT SECTION
=========================== */
.home-about{
    background:var(--white);
}
.home-about-content{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    gap:60px;
    align-items:center;
}
.home-about img{
    width:100%;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
}
/* ===========================
   SERVICES
=========================== */
.services{
    background:var(--light);
}
.service-card{
    background:var(--white);
    padding:28px 24px;
    text-align:center;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
    transition:var(--transition);
    border-bottom:4px solid transparent;
}
.service-card:hover{
    border-bottom-color:var(--accent);
    transform:translateY(-8px);
}
.service-icon{
    width:65px;
    height:65px;
    margin:0 auto 25px;
    background:var(--secondary);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.6rem;
    color:var(--primary);
}
.service-card h3{
    margin-bottom:15px;
}
/* ===========================
   STATS
=========================== */
.stats{
    background:var(--primary);
    color:var(--white);
}
.stats-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
    text-align:center;
}
.stat h2{
    color:var(--white);
    font-size:2.5rem;
    margin-bottom:10px;
}
.stat p{
    color:rgba(255,255,255,.85);
    margin:0;
}
/* ===========================
   FEATURE SECTION
=========================== */
.features{
    background:var(--secondary);
}
.feature-item{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:35px;
}
.feature-icon{
    width:52px;
    height:52px;
    border-radius:50%;
    background:var(--primary);
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:1.2rem;
}
.feature-text h3{
    margin-bottom:10px;
}
/* ===========================
   CALL TO ACTION
=========================== */
.cta{
    background:linear-gradient(rgba(111,69,24,.95),
               rgba(111,69,24,.95));
    color:var(--white);
    text-align:center;
}
.cta h2{
    color:var(--white);
}
.cta p{
    color:rgba(255,255,255,.90);
    max-width:700px;
    margin:20px auto 40px;
}
/* ===========================
   IMAGE STYLES
=========================== */
.img-rounded{
    border-radius:var(--radius-lg);
    overflow:hidden;
}
.img-shadow{
    box-shadow:var(--shadow);
}
/* ===========================
   DIVIDERS
=========================== */
.divider{
    width:90px;
    height:4px;
    background:var(--accent);
    margin:20px auto 40px;
}
.divider-left{
    margin:20px 0 40px;
}
/* ===========================
   SPACING UTILITIES
=========================== */
.mt-1{margin-top:10px;}
.mt-2{margin-top:20px;}
.mt-3{margin-top:30px;}
.mt-4{margin-top:40px;}
.mt-5{margin-top:60px;}
.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:20px;}
.mb-3{margin-bottom:30px;}
.mb-4{margin-bottom:40px;}
.mb-5{margin-bottom:60px;}
.pt-5{padding-top:60px;}
.pb-5{padding-bottom:60px;}
/* ==========================================================
   PART 3 - ABOUT, TEAM, BOARD & COMMITTEE
   ========================================================== */
/* ===========================
   ABOUT PAGE
=========================== */
.about-section{
    background:var(--white);
}
.about-content{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:center;
}
.about-image img{
    width:100%;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
}
.about-text h2{
    margin-bottom:20px;
}
.about-text ul{
    margin-top:30px;
}
.about-text li{
    margin-bottom:15px;
    color:var(--text);
    display:flex;
    align-items:flex-start;
    gap:12px;
}
.about-text li::before{
    content:"✓";
    color:var(--accent);
    font-weight:700;
}
/* ===========================
   VALUES
=========================== */
.values{
    background:var(--secondary);
}
.value-card{
    background:var(--white);
    padding:25px;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
    text-align:center;
    transition:var(--transition);
}
.value-card:hover{
    transform:translateY(-8px);
}
.value-icon{
    width:60px;
    height:60px;
    margin:0 auto 25px;
    border-radius:50%;
    background:var(--primary);
    color:var(--white);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:1.3rem;
}
/* ======================================

   PROFILE GRID

====================================== */

.profile-grid {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 25px;

    align-items: start;

}
/* ======================================

   PROFILE GRID - RESPONSIVE

====================================== */

@media (max-width: 1024px) {

    .profile-grid {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }

}

@media (max-width: 768px) {

    .profile-grid {

        grid-template-columns: 1fr;

        gap: 25px;

    }

}
/* ===========================
   PROFILE CARD
=========================== */
.profile-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:var(--transition);
display:flex;
flex-direction:column;
height:100%;
}
.profile-card:hover{
    transform:translateY(-8px);
box-shadow:0 12px 30px rgba(0,0,015);
}
.profile-card > img{
    width:100%;
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
    object-position:center top;
    display:block;
    border-bottom:4px solid var(--accent);
    transition:none;
}
.profile-card:hover > img{
    transform:none;
}
/* ===========================
   PROFILE IMAGE
=========================== */
.profile-image{
    height:auto;
    overflow:visible;
}
.profile-image img{
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center top;
    display:block;
    transition:none;
}
.profile-card:hover .profile-image img{
    transform:none;
}
/* ===========================
   PROFILE CONTENT
=========================== */
.profile-card h3{
    font-size:1.3rem;
    font-weight:700;
    color:var(--primary);
    text-align:center;
    margin:18px 18px 8px;
}
.profile-card h4{
    font-size:1rem;
    font-weight:600;
    color:var(--accent);
    text-align:center;
    margin:0 18px 16px;
}
.profile-card h5{
margin:0 18px 10px;
    font-size:0.85rem;
    font-weight:700;
    color:var(--primary);
text-transform:uppercase;
letter-spacing:1px;
}
.profile-card p{
    margin:0 18px 15px;
    line-height:1.65;
    color:var(--text);
    text-align:justify;
}
.qualifications{
margin:0 18px 16px;
padding-bottom:16px;
border-bottom:1px solid #e5e5e5;
font-size:0.9rem;
line-height:1.7;
font-weight:600;
color:var(--text);
}
.qualifications strong{
color:var(--primary);
}
.profile-card .btn-primary{
    display:inline-block;
    margin:20px 25px 25px;
    padding:12px 24px;
    background:var(--primary);
    color:var(--white);
    text-decoration:none;
    border-radius:30px;
    font-weight:600;
    text-align:center;
    transition:var(--transition);
    /* Push the button to the bottom of cards */
    margin-top:auto;
}
.profile-card .btn-primary:hover{
    background:var(--accent);
    transform:translateY(-2px);
}
/* ===========================
   TEAM PAGE
=========================== */
.team-section{
    background:var(--light);
}
/* ===========================
   BOARD PAGE
=========================== */
.board-section{
    background:var(--white);
}
/* ===========================
   COMMITTEE PAGE
=========================== */
.committee-section{
    background:var(--light);
}
/* ===========================
   PROFILE DETAILS
=========================== */
.profile-details{
    margin-top:20px;
    border-top:1px solid var(--border);
    padding-top:20px;
}
.profile-details p{
    margin-bottom:10px;
}
.profile-details strong{
    color:var(--primary);
}

/* ======================================

   TEAM TABS

====================================== */

.team-tabs {

    display: flex;

    justify-content: center;

    align-items: center;

    flex-wrap: wrap;

    gap: 10px;

    margin: 0 auto 40px;

    padding: 0 15px;

}

.team-tab {

    background: #6F4518;

    border: 1px solid #6F4518;

    color: #FFFFFF;

    padding: 12px 22px;

    border-radius: 4px;

    cursor: pointer;

    font-family: inherit;

    font-size: 15px;

    font-weight: 600;

    transition: all 0.3s ease;

}

.team-tab:hover {

    background: #F3D5B5;

    color: #6F4518;

    border-color: #F3D5B5;

}

.team-tab.active {

    background: #32CD32;

    color: #FFFFFF;

    border-color: #32CD32;

}

/* ======================================

   TEAM PANELS

====================================== */

.team-panel {

    display: none;

    animation: fadeIn 0.35s ease;

}

.team-panel.active {

    display: block;

}

@keyframes fadeIn {

    from {

        opacity: 0;

        transform: translateY(8px);

    }

    to {

        opacity: 1;

        transform: translateY(0);

    }

}

/* ======================================

   MOBILE TEAM TABS

====================================== */

@media (max-width: 768px) {

    .team-tabs {

        flex-direction: column;

        align-items: stretch;

        padding: 0 20px;

    }

    .team-tab {

        width: 100%;

        text-align: center;

    }

}
@media (max-width: 768px) {

    .team-intro {

        padding: 0 20px;

        margin-bottom: 35px;

    }

    .team-intro p {

        font-size: 17px;

        line-height: 1.6;

    }

    .team-highlight {

        margin: 0 20px 40px;

        padding: 30px 22px;

    }

    .team-highlight h2 {

        font-size: 24px;

    }

    .team-highlight p {

        font-size: 16px;

        line-height: 1.6;

    }

}

/* ======================================

   TEAM INTRODUCTION

====================================== */

.team-intro {

    max-width: 1000px;

    margin: 0 auto 45px;

    text-align: center;

}

.team-intro p {

    color: #6F4518;

    font-size: 20px;

    line-height: 1.7;

    margin: 20px auto 0;

}

/* ======================================

   TEAM HIGHLIGHT

====================================== */

.team-highlight {

    background: #6F4518;

    color: #FFFFFF;

    max-width: 1100px;

    margin: 0 auto 50px;

    padding: 45px 50px;

    text-align: center;

    border-radius: 4px;

}

.team-highlight h2 {

    color: #FFFFFF;

    margin-bottom: 25px;

    font-size: 30px;

}

.team-highlight p {

    color: #FFFFFF;

    font-size: 18px;

    line-height: 1.7;

    max-width: 950px;

    margin: 0 auto 20px;

}

.team-highlight p:last-child {

    margin-bottom: 0;

}

/* ======================================

   COMMITTEE MEMBERS

====================================== */

.committee-members-title {

    margin-bottom: 35px;

}


/* ===========================
   PROFILE SOCIALS
=========================== */
.profile-social{
    display:flex;
    justify-content:center;
    gap:12px;
    margin-top:25px;
}
.profile-social a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:var(--secondary);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--primary);
    transition:var(--transition);
}
.profile-social a:hover{
    background:var(--accent);
    color:var(--white);
}
/* ===========================
   HIGHLIGHT BOX
=========================== */
.highlight-box{
    background:var(--secondary);
    border-left:5px solid var(--primary);
    padding:24px;
    border-radius:var(--radius);
    margin:40px 0;
}
.highlight-box h3{
    margin-bottom:15px;
}
.highlight-box p:last-child{
    margin-bottom:0;
}
/* ==========================================================
   PART 4 - INSIGHTS, CAREERS, CONTACT & FOOTER
   ========================================================== */
/* ===========================
   INSIGHTS
=========================== */
.insights-section{
    background:var(--white);
}
.insight-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(340px,1fr));
    gap:35px;
}
.insight-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:var(--transition);
}
.insight-card:hover{
    transform:translateY(-8px);
}
.insight-image{
    height:220px;
    overflow:hidden;
}
.insight-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}
.insight-card:hover .insight-image img{
    transform:scale(1.08);
}
.insight-content{
    padding:24px;
}
.insight-date{
    display:inline-block;
    margin-bottom:15px;
    color:var(--accent);
    font-weight:600;
    font-size:.9rem;
}
.read-more{
    display:inline-block;
    margin-top:20px;
    color:var(--primary);
    font-weight:600;
}
.read-more:hover{
    color:var(--accent);
}
/* ===========================
   CAREERS
=========================== */
.careers-section{
    background:var(--light);
}
.job-list{
    display:flex;
    flex-direction:column;
    gap:30px;
}
.job-card{
    background:var(--white);
    border-radius:var(--radius-lg);
    padding:25px;
    box-shadow:var(--shadow);
    transition:var(--transition);
}
.job-card:hover{
    transform:translateY(-5px);
}
.job-meta{
    display:flex;
    flex-wrap:wrap;
    gap:15px;
    margin:20px 0;
}
.job-meta span{
    background:var(--secondary);
    color:var(--primary);
    padding:8px 16px;
    border-radius:30px;
    font-size:.9rem;
    font-weight:600;
}
.job-actions{
    margin-top:25px;
}
/* ===========================
   CONTACT
=========================== */
.contact-section{
    background:var(--white);
}
.contact-wrapper{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
}
/* ===========================
   CONTACT INFO
=========================== */
.contact-card{
    display:flex;
    align-items:flex-start;
    gap:20px;
    margin-bottom:30px;
    background:var(--light);
    padding:25px;
    border-radius:var(--radius);
}
.contact-icon{
    width:52px;
    height:52px;
    background:var(--primary);
    color:var(--white);
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
    font-size:1.2rem;
}
.contact-card h3{
    margin-bottom:8px;
}
.contact-card p{
    margin-bottom:0;
}
/* ===========================
   CONTACT FORM
=========================== */
.contact-form{
    background:var(--light);
    padding:40px;
    border-radius:var(--radius-lg);
    box-shadow:var(--shadow);
}
.form-group{
    margin-bottom:22px;
}
.form-group label{
    display:block;
    margin-bottom:8px;
    font-weight:600;
    color:var(--primary);
}
.form-control{
    width:100%;
    padding:15px;
    border:1px solid var(--border);
    border-radius:var(--radius);
    background:var(--white);
    transition:var(--transition);
}
.form-control:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(50,205,50,.15);
}
textarea.form-control{
    resize:vertical;
    min-height:160px;
}
/* ===========================
   MAP
=========================== */
.map{
    margin-top:60px;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:var(--shadow);
}
.map iframe{
    width:100%;
    height:450px;
    border:0;
}
/* ===========================
   FOOTER
=========================== */
.footer{
    background:var(--primary);
    color:var(--white);
    padding:70px 0 25px;
}
.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:50px;
    margin-bottom:50px;
}
.footer h3,
.footer h4{
    color:var(--white);
    margin-bottom:20px;
}
.footer p{
    color:rgba(255,255,255,.85);
}
.footer-links{
    display:flex;
    flex-direction:column;
    gap:12px;
}
.footer-links a{
    color:rgba(255,255,255,.85);
}
.footer-links a:hover{
    color:var(--accent);
}
/* ======================================

   FOOTER SOCIAL ICON

====================================== */

.footer-social {

    margin-top: 20px;

}

.footer-social a {

    width: 42px;

    height: 42px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    background: #FFFFFF;

    color: #6F4518;

    border-radius: 50%;

    text-decoration: none;

    font-size: 1.1rem;

    transition: all 0.3s ease;

}

.footer-social a:hover {

    background: #32CD32;

    color: #FFFFFF;

    transform: translateY(-2px);

}
.footer-bottom{
    border-top:1px solid rgba(255,255,255,.15);
    padding-top:25px;
    text-align:center;
}
.footer-bottom p{
    margin:0;
    color:rgba(255,255,255,.75);
}
/* ==========================================================
   PART 5 - RESPONSIVE DESIGN, UTILITIES & ANIMATIONS
   ========================================================== */
/* ===========================
   SCROLL TO TOP BUTTON
=========================== */
.scroll-top{
    position:fixed;
    right:25px;
    bottom:25px;
    width:50px;
    height:50px;
    border:none;
    border-radius:50%;
    background:var(--primary);
    color:var(--white);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:var(--shadow);
    opacity:0;
    visibility:hidden;
    transition:var(--transition);
    z-index:999;
}
.scroll-top.show{
    opacity:1;
    visibility:visible;
}
.scroll-top:hover{
    background:var(--accent);
}
/* ===========================
   ANIMATIONS
=========================== */
.fade-in{
    animation:fadeIn .8s ease forwards;
}
.slide-up{
    animation:slideUp .8s ease forwards;
}
@keyframes fadeIn{
    from{
        opacity:0;
    }
    to{
        opacity:1;
    }
}
@keyframes slideUp{
    from{
        opacity:0;
        transform:translateY(40px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}
/* ===========================
   UTILITY CLASSES
=========================== */
.w-100{
    width:100%;
}
.d-flex{
    display:flex;
}
.align-center{
    align-items:center;
}
.justify-between{
    justify-content:space-between;
}
.justify-center{
    justify-content:center;
}
.flex-column{
    flex-direction:column;
}
.gap-10{
    gap:10px;
}
.gap-20{
    gap:20px;
}
.gap-30{
    gap:30px;
}
.rounded{
    border-radius:var(--radius);
}
.rounded-lg{
    border-radius:var(--radius-lg);
}
.shadow{
    box-shadow:var(--shadow);
}
.text-primary{
    color:var(--primary);
}
.text-accent{
    color:var(--accent);
}
.bg-primary{
    background:var(--primary);
    color:var(--white);
}
.bg-secondary{
    background:var(--secondary);
}
.bg-light{
    background:var(--light);
}
/* ===========================
   TABLET
=========================== */
@media (max-width:992px){
    h1{
        font-size:2.6rem;
    }
    h2{
        font-size:1.6rem;
    }
    section{
        padding:70px 0;
    }
    .grid-4,
    .grid-3,
    .stats-grid,
    .footer-grid{
        grid-template-columns:repeat(2,1fr);
    }
    .home-about-content,
    .about-content,
    .contact-wrapper{
        grid-template-columns:1fr;
    }
    .hero{
        text-align:center;
    }
}
/* ===========================
   MOBILE
=========================== */
@media (max-width:768px){
    .navbar{
        height:75px;
    }
    .logo img{
        height:50px;
    }
    .menu-toggle{
        display:flex;
    }
    .nav-links{
        position:absolute;
        top:75px;
        left:0;
        width:100%;
        background:var(--primary);
        flex-direction:column;
        align-items:center;
        gap:0;
        max-height:0;
        overflow:hidden;
        transition:var(--transition);
    }
    .nav-links.active{
        max-height:500px;
        padding:20px 0;
    }
    .nav-links li{
        width:100%;
        text-align:center;
    }
    .nav-links a{
        display:block;
        padding:16px;
    }
    h1{
        font-size:2rem;
    }
    h2{
        font-size:1.3rem;
    }
    .grid-2,
    .grid-3,
    .grid-4,
    .stats-grid,
    .footer-grid,
    .profile-grid,
    .insight-grid{
        grid-template-columns:1fr;
    }
    .hero{
        min-height:85vh;
    }
    .hero-content{
        text-align:center;
    }
    .btn{
        width:100%;
        text-align:center;
    }
    .contact-form{
        padding:30px 20px;
    }
}

/* TEAM PROFILE GRID ON MOBILE */

.profile-grid {

    grid-template-columns: 1fr;

    gap: 25px;

}

.team-tabs {

    flex-direction: column;

    align-items: stretch;

    padding: 0 20px;

}

.team-tab {

    width: 100%;

    text-align: center;

}




/* ===========================
   SMALL MOBILE
=========================== */
@media (max-width:480px){
    .container{
        width:92%;
    }
    section{
        padding:60px 0;
    }
    .hero{
        padding-top:75px;
    }
    .page-hero{
        padding:140px 0 70px;
    }
    h1{
        font-size:1.8rem;
    }
    h2{
        font-size:1.35rem;
    }
    .card,
    .service-card,
    .value-card,
    .job-card,
    .contact-form{
        padding:25px;
    }
    .profile-image{
        height:280px;
    }
}
/* ===========================
   PRINT
=========================== */
@media print{
    header,
    .scroll-top,
    .footer,
    .menu-toggle{
        display:none;
    }
    body{
        background:#fff;
        color:#000;
    }
    section{
        padding:20px 0;
    }
}
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    margin-top:50px;
}
.contact-card{
    background:#fff;
    padding:25px;
    border-radius:12px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}
.contact-card h3{
    color:#6F4518;
    margin-bottom:25px;
}
.contact-card p{
    margin-bottom:20px;
    line-height:1.65;
}
.contact-card input,
.contact-card textarea{
    width:100%;
    padding:14px;
    margin-bottom:18px;
    border:1px solid #ddd;
    border-radius:8px;
    font-size:15px;
}
.contact-card textarea{
    min-height:170px;
    resize:vertical;
}
@media(max-width:900px){
.contact-grid{
    grid-template-columns:1fr;
}
}
.contact-list{
    list-style:none;
    padding:0;
    margin:0;
}
.contact-list li{
    display:flex;
    align-items:flex-start;
    gap:18px;
    margin-bottom:25px;
}
.contact-list i{
    color:#6F4518;
    font-size:20px;
    width:25px;
    margin-top:4px;
}
.contact-list strong{
    display:block;
    color:#6F4518;
    margin-bottom:5px;
}
.contact-list a{
    color:#32CD32;
    font-weight:600;
    text-decoration:none;
    transition:0.3s;
}
.contact-list a:hover{
    color:#6F4518;
    text-decoration:underline;
}


.about-gallery{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:25px;

    margin-top:30px;

}

.about-gallery .about-image{

    overflow:hidden;

    border-radius:var(--radius-lg);

    box-shadow:var(--shadow);

}

.about-gallery img{

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    display:block;

    transition:var(--transition);

}

.about-gallery img:hover{

    transform:scale(1.05);

}

/* ===========================
   LEFT ALIGN TEXT INSIDE CARDS
=========================== */
.service-card p,
.value-card p,
.insight-card p,
.contact-card p{
   text-align:left;
}

/* ===========================
   JUSTIFY LONG TEXT ONLY
=========================== */
.hero p,
.home-about p,
.profile-card p,
.highligh-box p{
   text-align:justify;
 text-justify:inter-word;
}
.more-text {

    display: none;

    margin-top: 15px;

}

.more-text.show {

    display: block;

}

.read-more-btn {

    margin-top: 15px;

    background: transparent;

    color: #0d6efd;

    border: none;

    cursor: pointer;

    font-weight: 600;

    padding: 0;

    font-size: 15px;

}

.read-more-btn:hover {

    text-decoration: underline;

}

/* ======================================

   TEAM DESCRIPTION

====================================== */

.team-description {

    max-width: 850px;

    margin: 20px auto 45px;

    color: #6F4518;

    font-size: 18px;

    line-height: 1.6;

    text-align: center;

}

@media (max-width: 768px) {

    .team-description {

        padding: 0 15px;

        font-size: 16px;

        line-height: 1.6;

        margin-bottom: 35px;

    }

}

/* ======================================

   FINAL TEAM PROFILE GRID

   4 PROFILES PER ROW ON DESKTOP

====================================== */

@media (min-width: 1025px) {

    .profile-grid {

        display: grid !important;

        grid-template-columns: repeat(4, 1fr) !important;

        gap: 25px !important;

        align-items: start !important;

    }

}

/* ======================================

   TABLET

====================================== */

@media (min-width: 769px) and (max-width: 1024px) {

    .profile-grid {

        display: grid !important;

        grid-template-columns: repeat(2, 1fr) !important;

        gap: 25px !important;

    }

}

/* ======================================

   MOBILE

====================================== */

@media (max-width: 768px) {

    .profile-grid {

        display: grid !important;

        grid-template-columns: 1fr !important;

        gap: 25px !important;

    }

}

/* ======================================

   FINAL TEAM TAB OVERRIDE

====================================== */

.team-tabs {

    display: flex !important;

    flex-direction: row !important;

    justify-content: center !important;

    align-items: center !important;

    flex-wrap: wrap !important;

    gap: 8px !important;

    width: 100% !important;

    max-width: 1200px !important;

    margin: 0 auto 35px !important;

    padding: 0 15px !important;

}

.team-tab {

    width: auto !important;

    flex: 0 0 auto !important;

    display: inline-block !important;

    background: #6F4518 !important;

    border: 1px solid #6F4518 !important;

    color: #FFFFFF !important;

    padding: 10px 14px !important;

    margin: 0 !important;

    border-radius: 4px !important;

    cursor: pointer;

    font-family: inherit;

    font-size: 13px;

    font-weight: 600;

    transition: all 0.25s ease;

}

.team-tab:hover {

    background: #F3D5B5 !important;

    color: #6F4518 !important;

    border-color: #F3D5B5 !important;

}

.team-tab.active {

    background: #32CD32 !important;

    color: #FFFFFF !important;

    border-color: #32CD32 !important;

}

/* ======================================

   MOBILE TEAM TABS

====================================== */

@media (max-width: 768px) {

    .team-tabs {

        display: grid !important;

        grid-template-columns: 1fr 1fr !important;

        flex-direction: initial !important;

        gap: 8px !important;

    }

    .team-tab {

        width: 100% !important;

        min-width: 0 !important;

        padding: 12px 8px !important;

        font-size: 13px !important;

    }

}

/* ======================================

   VERY SMALL PHONES

====================================== */

@media (max-width: 480px) {

    .team-tabs {

        grid-template-columns: 1fr !important;

    }

}


/* ======================================

   WE PRIDE OURSELVES ON

   3 BOXES PER ROW

====================================== */

.grid.grid-5 {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

    max-width: 1100px;

    margin: 0 auto;

}

.grid.grid-5 .value-card {

    padding: 28px 22px;

    min-height: 190px;

    display: flex;

    flex-direction: column;

    align-items: center;

    justify-content: center;

    text-align: center;

    box-sizing: border-box;

}

.grid.grid-5 .value-card i {

    font-size: 1.8rem;

    margin-bottom: 14px;

}

.grid.grid-5 .value-card h3 {

    font-size: 1.15rem;

    line-height: 1.3;

    margin: 0;

}

/* Tablet */

@media (max-width: 900px) {

    .grid.grid-5 {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }

}

/* Mobile */

@media (max-width: 600px) {

    .grid.grid-5 {

        grid-template-columns: 1fr;

        gap: 16px;

        padding: 0 18px;

    }

    .grid.grid-5 .value-card {

        min-height: 160px;

    }

}

/* ==========================================================
   FINAL CLEAN TYPOGRAPHY
   ========================================================== */

body {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #4A3A2E;
    background: #FFFFFF;
}

h1 {
    font-size: 2.45rem;
    line-height: 1.2;
    font-weight: 700;
    color: #6F4518;
}

h2 {
    font-size: 1.8rem;
    line-height: 1.25;
    font-weight: 600;
    color: #6F4518;
}

h3 {
    font-size: 1.15rem;
    line-height: 1.35;
    font-weight: 600;
    color: #6F4518;
}

h4 {
    font-size: 1rem;
    line-height: 1.4;
    font-weight: 600;
}

h5 {
    font-size: 0.82rem;
    line-height: 1.4;
    font-weight: 600;
    letter-spacing: 0;
}

p {
    font-size: 15px;
    line-height: 1.6;
    color: #4A3A2E;
}

/* Keep the existing logo independent of typography */
.main-logo {
    display: block;
    width: 340px;
    height: auto;
}

/* Compact card typography */
.card h3,
.service-card h3,
.value-card h3,
.insight-card h3,
.job-card h3,
.contact-card h3 {
    font-size: 1.1rem;
    font-weight: 600;
}

.card p,
.service-card p,
.value-card p,
.insight-card p,
.job-card p,
.contact-card p {
    font-size: 14px;
    line-height: 1.55;
}

/* Team profile typography only — no grid/layout changes */
.profile-card h3 {
    font-size: 1.15rem;
    font-weight: 600;
}

.profile-card h4 {
    font-size: 0.95rem;
    font-weight: 600;
}

.profile-card h5 {
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0;
}

.profile-card p,
.qualifications {
    font-size: 14px;
    line-height: 1.55;
}

/* Corporate link colour */
a {
    color: #6F4518;
}

a:hover {
    color: #32CD32;
}

/* Responsive typography */
@media (max-width: 768px) {
    h1,
    .page-hero h1 {
        font-size: 2rem;
    }

    h2 {
        font-size: 1.6rem;
    }

    h3 {
        font-size: 1.1rem;
    }

    p {
        font-size: 14.5px;
        line-height: 1.6;
    }

    .profile-card h3 {
        font-size: 1.1rem;
    }

    .profile-card p,
    .qualifications {
        font-size: 14px;
    }
}

@media (max-width: 480px) {
    h1,
    .page-hero h1 {
        font-size: 1.8rem;
    }

    h2 {
        font-size: 1.45rem;
    }
}



/* ==========================================================

   TYPOGRAPHY — LARGER & MORE CORPORATE

   ========================================================== */

body {

    font-family: 'Inter', sans-serif;

    font-size: 15.5px;

    line-height: 1.6;

}

/* Main page headings */

h1,

.page-hero h1 {

    font-size: 2.7rem;

    line-height: 1.18;

    font-weight: 700;

}

/* Section headings */

h2 {

    font-size: 2rem;

    line-height: 1.25;

    font-weight: 600;

}

/* Card / subsection headings */

h3 {

    font-size: 1.2rem;

    line-height: 1.3;

    font-weight: 600;

}

h4 {

    font-size: 1rem;

    line-height: 1.4;

    font-weight: 600;

}

h5 {

    font-size: 0.85rem;

    line-height: 1.4;

    font-weight: 600;

}

/* Main website text */

p {

    font-size: 15.5px;

    line-height: 1.65;

}

/* Page hero text */

.page-hero p {

    font-size: 16px;

    line-height: 1.65;

}

/* Cards */

.card h3,

.service-card h3,

.value-card h3,

.insight-card h3,

.job-card h3,

.contact-card h3 {

    font-size: 1.15rem;

}

.card p,

.service-card p,

.value-card p,

.insight-card p,

.job-card p,

.contact-card p {

    font-size: 15px;

    line-height: 1.6;

}

/* Team profiles */

.profile-card h3 {

    font-size: 1.2rem;

}

.profile-card h4 {

    font-size: 1rem;

}

.profile-card h5 {

    font-size: 0.85rem;

}

.profile-card p,

.qualifications {

    font-size: 14.5px;

    line-height: 1.6;

}

/* Team descriptions */

.team-description {

    font-size: 15.5px;

    line-height: 1.65;

}

/* Buttons and tabs */

.btn,

.team-tab,

.read-more-btn {

    font-size: 14px;

}

/* ==========================================================

   MOBILE

   ========================================================== */

@media (max-width: 768px) {

    h1,

    .page-hero h1 {

        font-size: 2.2rem;

    }

    h2 {

        font-size: 1.7rem;

    }

    h3 {

        font-size: 1.15rem;

    }

    p {

        font-size: 15px;

        line-height: 1.6;

    }

    .profile-card h3 {

        font-size: 1.15rem;

    }

    .profile-card p,

    .qualifications {

        font-size: 14px;

    }

}

/* ==========================================================

   TEAM DROPDOWN NAVIGATION

   ========================================================== */

.nav-dropdown {

    position: relative;

}

.nav-dropdown > a {

    display: flex;

    align-items: center;

    gap: 7px;

}

.nav-dropdown > a i {

    font-size: 10px;

    transition: transform 0.25s ease;

}

.dropdown-menu {

    position: absolute;

    top: 100%;

    left: 50%;

    transform: translateX(-50%) translateY(8px);

    min-width: 260px;

    background: #FFFFFF;

    border-radius: 6px;

    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12);

    padding: 8px 0;

    margin: 0;

    list-style: none;

    opacity: 0;

    visibility: hidden;

    pointer-events: none;

    transition: opacity 0.2s ease,

                transform 0.2s ease,

                visibility 0.2s ease;

    z-index: 9999;

}

.dropdown-menu li {

    margin: 0;

    padding: 0;

}

.dropdown-menu li a {

    display: block;

    padding: 10px 18px;

    color: #6F4518;

    background: #FFFFFF;

    font-size: 14px;

    font-weight: 500;

    text-decoration: none;

    white-space: nowrap;

    transition: background 0.2s ease,

                color 0.2s ease;

}

.dropdown-menu li a:hover {

    background: #F3D5B5;

    color: #6F4518;

}

/* Desktop hover */

@media (min-width: 769px) {

    .nav-dropdown:hover .dropdown-menu {

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        transform: translateX(-50%) translateY(0);

    }

    .nav-dropdown:hover > a i {

        transform: rotate(180deg);

    }

}

/* ==========================================================

   MOBILE TEAM DROPDOWN

   ========================================================== */

@media (max-width: 768px) {

    .nav-dropdown > a {

        justify-content: center;

    }

    .dropdown-menu {

        position: static;

        transform: none;

        width: 100%;

        min-width: 0;

        box-shadow: none;

        border-radius: 0;

        opacity: 1;

        visibility: visible;

        pointer-events: auto;

        display: none;

        padding: 0;

        margin-top: 5px;

    }

    .nav-dropdown.open .dropdown-menu {

        display: block;

    }

    .dropdown-menu li a {

        text-align: center;

        padding: 10px 15px;

        font-size: 14px;

    }

}

/* ==========================================================

   TEAM QUALIFICATION LIST

   ========================================================== */
qualifications {

    font-size: 14px;

    line-height: 1.55;

    color: var(--text);

}

.qualifications strong {

    font-weight: 600;

}

.qualifications span {

    color: rgb(50, 205, 50);

    font-weight: 700;

    margin: 0 6px;

}

/* ==========================================================

   HOME ABOUT PHOTO SLIDESHOW

========================================================== */

.about-home-slideshow {

    position: relative;

    width: 100%;

    height: 450px;

    overflow: hidden;

    border-radius: var(--radius-lg);

    box-shadow: var(--shadow);

}

.about-home-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transition: opacity 1.2s ease-in-out;

}

.about-home-slide.active {

    opacity: 1;

}

.about-home-slide img {

    width: 100%;

    height: 100%;

    object-fit: cover;

    display: block;

}

/* Slideshow dots */

.about-home-dots {

    position: absolute;

    z-index: 5;

    bottom: 20px;

    left: 50%;

    transform: translateX(-50%);

    display: flex;

    gap: 8px;

}

.about-home-dot {

    width: 11px;

    height: 11px;

    border-radius: 50%;

    background: rgba(255, 255, 255, 0.6);

    cursor: pointer;

    transition: 0.3s ease;

}

.about-home-dot.active {

    background: #ffffff;

    transform: scale(1.15);

}

/* Mobile */

@media (max-width: 768px) {

    .about-home-slideshow {

        height: 320px;

    }

}


* ==========================================================

   MMATHARI PARTNERS

   HOMEPAGE HERO — BACKGROUND SLIDESHOW

========================================================== */

.mp-home-hero {

    position: relative;

    width: 100%;

    min-height: 650px;

    overflow: hidden;

    display: flex;

    align-items: center;

    background: #f3d5b5;

}

/* ==========================================================

   BACKGROUND SLIDESHOW

========================================================== */

.mp-home-slideshow {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    overflow: hidden;

    z-index: 1;

}

/* Individual background photographs */

.mp-home-slide {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    /*

       Full hero photograph.

       Position is slightly higher to reduce

       cropping of people's heads.

    */

    background-size: cover;

    background-position: center 25%;

    background-repeat: no-repeat;

    opacity: 0;

    transition: opacity 1.5s ease-in-out;

    pointer-events: none;

}

/* Active photograph */

.mp-home-slide-active {

    opacity: 1;

}

/* ==========================================================

   VERY LIGHT CORPORATE OVERLAY

========================================================== */

.mp-home-overlay {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    z-index: 2;

    /*

       Keep the photographs clear.

       This is intentionally very light.

    */

    background: rgba(243, 213, 181, 0.10);

    pointer-events: none;

}

/* ==========================================================

   HOMEPAGE TEXT CONTENT

========================================================== */

.mp-home-content {

    position: relative;

    z-index: 2;

    width: 32%;

    max-width: 520px;

    margin-left: 4%;
margin-bottom:55px;

    padding: 32px 36px;

    /*

       Translucent corporate-colour backdrop

       keeps the text readable without

       covering the photograph completely.

    */

    background: rgba(243, 213, 181, 0.82);

    color: #4d3727;

    border-radius: 4px;

    box-sizing: border-box;

}

/* ==========================================================

   MAIN TITLE

========================================================== */

.mp-home-content h1 {

    margin: 0 0 22px;

    color: #6f4518;

    font-size: 52px;

    line-height: 1.1;

    font-weight: 700;

}

/* ==========================================================

   LEAD / TAGLINE

========================================================== */

.mp-home-lead {

    margin: 0 0 18px;

    color: #4d3727;

    font-size: 24px;

    line-height: 1.45;

}

/* ==========================================================

   DESCRIPTION

========================================================== */

.mp-home-description {

    margin: 25px 0 30px;

    color: #4d3727;

    font-size: 17px;

    line-height: 1.7;

}

/* ==========================================================

   LEARN MORE BUTTON

========================================================== */

.mp-home-button {

    display: inline-block;

    padding: 15px 32px;

    background: #6f4518;

    color: #ffffff;

    border-radius: 30px;

    text-decoration: none;

    font-size: 16px;

    font-weight: 600;

    transition:

        background 0.3s ease,

        transform 0.3s ease;

}

.mp-home-button:hover {

    background: #4d3012;

    transform: translateY(-2px);

}

/* ==========================================================

   TABLET / MOBILE

========================================================== */

@media (max-width: 900px) {

    .mp-home-hero {

        min-height: 700px;

    }

    .mp-home-slide {

        background-position: center 20%;

    }

    .mp-home-content {

        width: auto;

        max-width: none;

        margin: 0 25px;

        padding: 30px;

    }

    .mp-home-content h1 {

        font-size: 40px;

    }

    .mp-home-lead {

        font-size: 21px;

    }

    .mp-home-description {

        font-size: 16px;

    }

}

/* ==========================================================

   SMALL MOBILE

========================================================== */

@media (max-width: 600px) {

    .mp-home-hero {

        min-height: 720px;

    }

    .mp-home-content {

        margin: 0 15px;

        padding: 25px;

    }

    .mp-home-content h1 {

        font-size: 34px;

    }

    .mp-home-lead {

        font-size: 19px;

    }

    .mp-home-description {

        font-size: 15px;

        line-height: 1.6;

    }

    .mp-home-button {

        padding: 13px 26px;

    }

}
/* ==========================================================

   ABOUT US - WHO WE ARE

   TEAM & COLLABORATION SLIDESHOW

========================================================== */

.about-section {

    position: relative;

    background: #ffffff;

    overflow: hidden;

    min-height: 500px;

}

/* Photo area on the right */

.about-team-slideshow {

    position: absolute;

    top: 0;

    right: 0;

    width: 50%;

    height: 100%;

    overflow: hidden;

}

/* Individual photos */

.about-team-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transition: opacity 1.5s ease-in-out;

}

.about-team-slide.active {

    opacity: 1;

}

.about-team-slide img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;

}

/* Keep text on the left */

.about-section .container {

    position: relative;

    z-index: 2;

    width: 50%;

    margin-right: auto;

    margin-left: 0;

    padding: 60px 40px;

}

/* ==========================================================

   OUR PORTFOLIO SLIDESHOW

========================================================== */

.portfolio-slideshow-section {

    width: 100%;

    padding: 50px 0;

    background: #ffffff;

}

.portfolio-slideshow {

    position: relative;

    width: 100%;

    max-width: 1200px;

    height: 550px;

    margin: 0 auto;

    overflow: hidden;

}

.portfolio-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transition: opacity 1.5s ease-in-out;

    display: flex;

    align-items: center;

    justify-content: center;

}

.portfolio-slide.active {

    opacity: 1;

}

.portfolio-slide img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;

    display: block;

}

/* Mobile */

@media (max-width: 768px) {

    .portfolio-slideshow {

        height: 350px;

    }

}
/* ==========================================================

   CAREERS PHOTO SLIDESHOW

========================================================== */

.careers-slideshow {

    position: relative;

    width: 100%;

    height: 500px;

    overflow: hidden;

    background: #ffffff;

}

.careers-slide {

    position: absolute;

    inset: 0;

    opacity: 0;

    transition: opacity 1.2s ease-in-out;

    display: flex;

    align-items: center;

    justify-content: center;

}

.careers-slide.active {

    opacity: 1;

}

.careers-slide img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    display: block;

}

/* Mobile */

@media (max-width: 768px) {

    .careers-slideshow {

        height: 350px;

    }

}
/* ==========================================================

   CONTACT PAGE PHOTO

========================================================== */

.contact-photo-section {

    width: 100%;

    padding: 40px 0;

    background: #ffffff;

}

.contact-photo {

    width: 100%;

    max-width: 1200px;

    height: 450px;

    margin: 0 auto;

    overflow: hidden;

}

.contact-photo img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    object-position: center;

    display: block;

}

/* Mobile */

@media (max-width: 768px) {

    .contact-photo {

        height: 300px;

    }

}

/* ==========================================================

   TEAM PAGE HERO

========================================================== */
/* =========================

   TEAM HERO

   ========================= */

.team-page-hero {

    width: 100%;

    margin: 0;

    padding: 0;

    background: #ffffff;

    text-align: center;

}

.team-page-hero-image {

    position: relative;

    width: 100%;

    margin: 0;

    padding: 0;

    text-align: center;

    overflow: hidden;

}

.team-page-hero-image img {

    display: block;

    width: 100%;

    height: auto;

    margin: 0 auto;

    object-fit: contain;

}

/* Our Team title */

.team-page-hero-image h1 {

    position: absolute;

    left: 50%;

    bottom: 35px;

    transform: translateX(-50%);

    margin: 0;

    padding: 12px 30px;

    color: #6F4518;

    background: rgba(255, 255, 255, 0.90);

    border-radius: 4px;

    font-size: 46px;

    font-weight: 700;

    line-height: 1.2;

    text-shadow: none;

    white-space: nowrap;

}

/* Description BELOW photograph */

.team-page-intro {

    width: 100%;

    margin: 0;

    padding: 35px 20px 45px;

    background: #ffffff;

    text-align: center;

    box-sizing: border-box;

}

.team-page-intro p {

    max-width: 900px;

    margin: 0 auto;

    color: #6F4518;

    font-size: 18px;

    font-weight: 500;

    line-height: 1.8;

    text-shadow: none;

}

/* ==========================================================

   TEAM PAGE HERO — CENTER THE TEAM PHOTO

========================================================== */

.team-page-hero-image {

    width: 100%;

    margin: 0 auto;

    padding: 0;

    text-align: center;

    overflow: hidden;

}

.team-page-hero-image img {

    display: block;

    width: 100%;

    max-width: 100%;

    height: auto;

    margin: 0 auto;

    object-fit: contain;

    object-position: center center;

}

/* ==========================================================

   TEAM HERO — REMOVE LEFT CONTAINER INDENT

========================================================== */

.team-page-hero {

    width: 100%;

    max-width: none;

    margin: 0;

    padding: 0;

}

.team-page-hero-image {

    width: 100vw;

    max-width: 100vw;

    margin-left: calc(50% - 50vw);

    margin-right: 0;

    padding: 0;

    text-align: center;

    overflow: hidden;

}

.team-page-hero-image img {

    display: block;

    width: 100%;

    max-width: none;

    height: auto;

    margin: 0;

    object-fit: contain;

    object-position: center center;

}

/* ==========================================================

   TEAM PAGE HERO — PHOTO POSITION FIX

   ========================================================== */

.team-page-hero {

    width: 100%;

    margin: 0;

    padding: 0;

    display: block;

}

.team-page-hero .team-hero-image {

    width: 100%;

    max-width: 1200px;

    margin: 0 auto;

    padding: 0;

    position: relative;

    text-align: center;

    box-sizing: border-box;

}

.team-page-hero .team-hero-image img {

    display: block;

    width: 100%;

    height: auto;

    margin: 0 auto;

    padding: 0;

    object-fit: contain;

}

.team-page-hero .team-hero-image h1 {

    margin: 0;

    padding: 20px 0 30px;

    text-align: center;

}

/* ==========================================================

   TABLET

   ========================================================== */

@media (max-width: 900px) {

    .team-page-hero .team-hero-image {

        width: 100%;

        max-width: 100%;

    }

    .team-page-hero .team-hero-image img {

        width: 100%;

        height: auto;

    }

}

/* ==========================================================

   MOBILE

   ========================================================== */

@media (max-width: 600px) {

    .team-page-hero .team-hero-image {

        width: 100%;

        margin: 0;

    }

    .team-page-hero .team-hero-image img {

        width: 100%;

        height: auto;

    }

    .team-page-hero .team-hero-image h1 {

        font-size: 36px;

        padding: 15px 0 25px;

    }

}

/* ==========================================================

   HOMEPAGE HERO — FINAL POSITIONING FIX

   ========================================================== */

/* Keep header and logo above homepage hero */

.header {

    position: relative;

    z-index: 100;

}

.navbar {

    position: relative;

    z-index: 100;

}

/* Homepage hero */

.mp-home-hero {

    position: relative;

    width: 100%;

    min-height: 650px;

    overflow: hidden;

    display: flex;

    align-items: center;

box-sizing: border-box;

}

/* Background slideshow stays behind everything */

.mp-home-slideshow {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    z-index: 0;

    overflow: hidden;

}

/* Individual photographs */

.mp-home-slide {

    position: absolute;

    inset: 0;

    width: 100%;

    height: 100%;

    background-size: cover;

    background-position: center center;

    background-repeat: no-repeat;

    opacity: 0;

    transition: opacity 1.2s ease-in-out;

}

/* Active photograph */

.mp-home-slide-active {

    opacity: 1;

}

/* Keep overlay behind text */

.mp-home-overlay {

    position: absolute;

    inset: 0;

    z-index: 1;

    background: rgba(243, 213, 181, 0.18);

    pointer-events: none;

}

/* Wider homepage text panel */

.mp-home-content {

    position: relative;

    z-index: 2;

    width: 48%;

    max-width: 700px;

    margin-left: 5%;

    margin-top: 0;

    padding: 40px;

    box-sizing: border-box;

    background: rgba(243, 213, 181, 0.88);

    color: #4d3727;

    border-radius: 4px;
transform: translateY(80px);

}

/* Homepage heading */

.mp-home-content h1 {

    margin: 0 0 20px;

    color: #6f4518;

    font-size: 52px;

    line-height: 1.1;

}

/* Homepage taglines */

.mp-home-content .mp-home-lead {

    margin: 0 0 20px;

    color: #4d3727;

    font-size: 23px;

    line-height: 1.45;

}

/* Homepage description */

.mp-home-content .mp-home-description {

    margin: 0 0 30px;

    color: #4d3727;

    font-size: 17px;

    line-height: 1.7;

}

/* Learn More */

.mp-home-button {

    display: inline-block;

    background: #6f4518;

    color: #ffffff;

    padding: 15px 32px;

    border-radius: 30px;

    text-decoration: none;

    font-weight: 600;

}

.mp-home-button:hover {

    background: #4d3012;

}

/* ==========================================================

   TABLET

   ========================================================== */

@media (max-width: 900px) {

    .mp-home-hero {

        min-height: 700px;

    }

    .mp-home-content {

        width: auto;

        max-width: none;

        margin: 0 25px;

        padding: 35px;

    }

    .mp-home-content h1 {

        font-size: 40px;

    }

    .mp-home-content .mp-home-lead {

        font-size: 21px;

    }

}

/* ==========================================================

   MOBILE

   ========================================================== */

@media (max-width: 600px) {

    .mp-home-hero {

        min-height: 720px;

    }

    .mp-home-content {

        margin: 0 15px;

        padding: 25px;

    }

    .mp-home-content h1 {

        font-size: 34px;

    }

    .mp-home-content .mp-home-lead {

        font-size: 19px;

    }

    .mp-home-content .mp-home-description {

        font-size: 15px;

        line-height: 1.6;

    }

}

/* ==========================================================



   HOMEPAGE HERO — MOVE TEXT PANEL LOWER



   ========================================================== */



.hero {



    position: relative;



    min-height: 650px;



    overflow: hidden;



    display: flex;



    align-items: flex-end;



}



/* Keep slideshow behind everything */



.home-bg-slides {



    z-index: 0;



}



.home-bg-overlay {



    z-index: 1;



}



/* Move homepage text panel toward the bottom */



.hero > .container {



    position: relative;



    z-index: 2;



    width: 100%;



    box-sizing: border-box;



    padding-bottom: 45px;



}



.hero-content {



    max-width: 900px;



    margin: 0;



    text-align: left;



}

/* ==========================================================

   HOMEPAGE TEXT PANEL — MOVE DOWN

   ========================================================== */

.mp-home-hero .mp-home-content {

    position: relative;

    top: 70px;

}

/* ==========================================================

   HOMEPAGE — KEEP PEOPLE'S HEADS VISIBLE

   ========================================================== */

.mp-home-hero .mp-home-slide {

    background-position: center top;

}

/* ==========================================================



   HOMEPAGE HERO — KEEP PEOPLE VISIBLE



   ========================================================== */



.mp-home-hero {



    align-items: flex-end;



}



.mp-home-hero .mp-home-slide {



    background-position: center top;



}

/* ==========================================================

   HOMEPAGE TEXT PANEL — LOWER WITHOUT CLIPPING

   ========================================================== */

.hero > .container {

    position: relative;

    z-index: 2;

    width: 100%;

}

.hero .hero-content {

    transform: translateY(80px);

}

/* ==========================================================

   HOMEPAGE HERO TEXT BOX — SMALLER RECTANGLE

   ========================================================== */

.hero .container {

    position: relative;

    z-index: 2;

}

.hero .hero-content {

    width: 42%;

    max-width: 560px;

    padding: 24px 30px;

    margin-left: 4%;

    margin-right: auto;

    box-sizing: border-box;

    transform: translateY(45px);

}

/* Keep the text compact */

.hero .hero-content h1 {

    margin-bottom: 16px;

}

.hero .hero-content p {

    margin-bottom: 16px;

}

/* Button stays inside the box */

.hero .hero-content .btn {

    display: inline-block;

}


/* ==========================================================

   HOMEPAGE HERO TEXT BOX — SMALLER RECTANGLE

   ========================================================== */

.hero-content {

    width: 42%;

    max-width: 560px;

    padding: 28px 32px;

    box-sizing: border-box;

    position: absolute;

    left: 5%;

    top: 58%;

    transform: translateY(-50%);

    border-radius: 6px;

}

/* Keep the heading compact */

.hero-content h1 {

    margin: 0 0 14px;

    font-size: 42px;

    line-height: 1.1;

}

/* Headings underneath */

.hero-content h2,

.hero-content h3 {

    margin: 10px 0;

    line-height: 1.25;

}

/* Paragraph */

.hero-content p {

    margin: 12px 0 18px;

    line-height: 1.5;

}

/* Learn More button */

.hero-content a,

.hero-content button {

    margin-top: 8px;

}

/* ==========================================================

   TABLET

   ========================================================== */

@media (max-width: 900px) {

    .hero-content {

        width: 48%;

        padding: 24px 28px;

        left: 4%;

        top: 58%;

    }

    .hero-content h1 {

        font-size: 34px;

    }

}

/* ==========================================================

   MOBILE

   ========================================================== */

@media (max-width: 600px) {

    .hero-content {

        width: 88%;

        max-width: none;

        left: 6%;

        top: 60%;

        padding: 20px 22px;

    }

    .hero-content h1 {

        font-size: 28px;

    }

}

/* =========================================================

   MOBILE FIX — SAFE VERSION

   DO NOT CHANGE DESKTOP

   ========================================================= */

@media (max-width: 768px) {

    /* -----------------------------------------------------

       GENERAL MOBILE

       ----------------------------------------------------- */

    html,

    body {

        width: 100%;

        max-width: 100%;

        overflow-x: hidden;

    }

    *,

    *::before,

    *::after {

        box-sizing: border-box;

    }

    .container {

        width: 92%;

        max-width: 100%;

        margin-left: auto;

        margin-right: auto;

    }

    img {

        max-width: 100%;

    }

    /* -----------------------------------------------------

       MOBILE NAVIGATION

       ----------------------------------------------------- */

    .navbar {

        height: 70px;

        min-height: 70px;

    }

    .logo img {

        max-height: 50px;

        width: auto;

    }

    .menu-toggle {

        display: flex;

        align-items: center;

        justify-content: center;

    }

    .nav-links {

        top: 70px;

        width: 100%;

        max-height: 0;

        overflow: hidden;

    }

    .nav-links.active {

        max-height: 600px;

    }

    /* -----------------------------------------------------

       HOMEPAGE SLIDESHOW

       IMPORTANT: keep a real height

       ----------------------------------------------------- */

    .mp-home-hero {

        min-height: 650px;

        height: 650px;

        overflow: hidden;

    }

    .mp-home-slide {

        position: absolute;

        inset: 0;

        width: 100%;

        height: 100%;

        background-size: cover;

        background-position: center center;

        background-repeat: no-repeat;

    }

    .mp-home-content {

        width: calc(100% - 30px);

        margin-left: 15px;

        margin-right: 15px;

        transform: none;

        position: relative;

        z-index: 3;

    }

    /* -----------------------------------------------------

       ABOUT HOMEPAGE SLIDESHOW

       ----------------------------------------------------- */

    .about-home-slideshow {

        position: relative;

        width: 100%;

        height: 320px;

        min-height: 320px;

        overflow: hidden;

    }

    .about-home-slide {

        position: absolute;

        inset: 0;

        width: 100%;

        height: 100%;

    }

    .about-home-slide img {

        width: 100%;

        height: 100%;

        object-fit: contain;

        object-position: center;

        display: block;

    }

    /* -----------------------------------------------------

       PORTFOLIO SLIDESHOW

       ----------------------------------------------------- */

    .portfolio-slideshow {

        position: relative;

        width: 100%;

        height: 350px;

        min-height: 350px;

        overflow: hidden;

    }

    .portfolio-slide {

        position: absolute;

        inset: 0;

        width: 100%;

        height: 100%;

    }

    .portfolio-slide img {

        width: 100%;

        height: 100%;

        object-fit: contain;

        object-position: center;

        display: block;

    }

    /* -----------------------------------------------------

       CAREERS SLIDESHOW

       ----------------------------------------------------- */

    .careers-slideshow {

        position: relative;

        width: 100%;

        height: 350px;

        min-height: 350px;

        overflow: hidden;

    }

    .careers-slide {

        position: absolute;

        inset: 0;

        width: 100%;

        height: 100%;

    }

    .careers-slide img {

        width: 100%;

        height: 100%;

        object-fit: contain;

        object-position: center;

        display: block;

    }

    /* -----------------------------------------------------

       CONTACT PHOTO

       ----------------------------------------------------- */

    .contact-photo {

        width: 100%;

        height: 300px;

        min-height: 300px;

        overflow: hidden;

    }

    .contact-photo img {

        width: 100%;

        height: 100%;

        object-fit: contain;

        object-position: center;

        display: block;

    }

    /* -----------------------------------------------------

       ABOUT TEAM SLIDESHOW

       Keep slideshow height so it cannot collapse

       ----------------------------------------------------- */

    .about-team-slideshow {

        position: relative;

        width: 100%;

        height: 320px;

        min-height: 320px;

        overflow: hidden;

    }

    .about-team-slide {

        position: absolute;

        inset: 0;

        width: 100%;

        height: 100%;

    }

    .about-team-slide img {

        width: 100%;

        height: 100%;

        object-fit: contain;

        object-position: center;

        display: block;

    }

    /* -----------------------------------------------------

       TEAM HERO

       Keep the working Team image

       ----------------------------------------------------- */

    .team-page-hero {

        width: 100%;

        margin: 0;

        padding: 0;

    }

    .team-page-hero .team-hero-image {

        width: 100%;

        max-width: 100%;

        margin: 0;

        padding: 0;

        overflow: hidden;

    }

    .team-page-hero .team-hero-image img {

        display: block;

        width: 100%;

        height: auto;

        max-width: 100%;

        object-fit: contain;

        object-position: center;

    }

    .team-hero-title {

        width: 100%;

        text-align: center;

        padding: 15px;

    }

    .team-hero-title h1 {

        margin: 0;

        font-size: 2rem;

        line-height: 1.2;

    }

    .team-page-intro {

        width: 92%;

        margin: 0 auto;

        padding: 10px 0 30px;

        text-align: center;

    }

    /* -----------------------------------------------------

       TEAM PORTRAITS

       Do not crop people's heads

       ----------------------------------------------------- */



    /* -----------------------------------------------------

       MOBILE GRIDS

       ----------------------------------------------------- */

    .grid-2,

    .grid-3,

    .grid-4,

    .stats-grid,

    .profile-grid,

    .insight-grid {

        grid-template-columns: 1fr;

    }

    /* -----------------------------------------------------

       CONTACT INFORMATION

       Prevent email from running off screen

       ----------------------------------------------------- */

    .contact-info a,

    .contact-item a {

        overflow-wrap: anywhere;

        word-break: break-word;

    }

}

/* =========================================================

   SMALL PHONES

   ========================================================= */

@media (max-width: 480px) {

    .container {

        width: 94%;

    }

    /* Keep slides visible */

    .about-home-slideshow {

        height: 280px;

        min-height: 280px;

    }

    .portfolio-slideshow {

        height: 300px;

        min-height: 300px;

    }

    .careers-slideshow {

        height: 300px;

        min-height: 300px;

    }

    .about-team-slideshow {

        height: 280px;

        min-height: 280px;

    }

    .contact-photo {

        height: 280px;

        min-height: 280px;

    }

    .mp-home-hero {

        min-height: 620px;

        height: 620px;

    }

    .mp-home-content {

        width: calc(100% - 24px);

        margin-left: 12px;

        margin-right: 12px;

    }

    .team-hero-title h1 {

        font-size: 1.75rem;

    }

}




/* ==========================================================
   TEAM HERO — 5 PHOTO SLIDESHOW
   FINAL TEAM-ONLY OVERRIDE
   ========================================================== */

.team-hero-slideshow {
    position: relative !important;
    width: 100% !important;
    height: 600px !important;
    overflow: hidden !important;
    isolation: isolate;
}

.team-hero-slideshow .hero-slide {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: opacity 1.2s ease-in-out;
}

.team-hero-slideshow .hero-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 1 !important;
}

.team-hero-slideshow .hero-slide img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #f5f5f5;
}

.team-hero-slideshow .hero-slide-dots {
    position: absolute !important;
    left: 50% !important;
    bottom: 20px !important;
    transform: translateX(-50%) !important;
    z-index: 10 !important;
    display: flex !important;
    gap: 8px !important;
    padding: 7px 10px !important;
    border-radius: 20px !important;
    background: rgba(0, 0, 0, 0.30);
    backdrop-filter: blur(4px);
}

.team-hero-slideshow .hero-dot {
    width: 10px !important;
    height: 10px !important;
    min-width: 10px !important;
    min-height: 10px !important;
    padding: 0 !important;
    border: 1px solid #ffffff !important;
    border-radius: 50% !important;
    background: transparent !important;
    cursor: pointer;
}

.team-hero-slideshow .hero-dot.active {
    background: #ffffff !important;
    transform: scale(1.15);
}

@media (max-width: 768px) {
    .team-hero-slideshow {
        height: 420px !important;
    }
}

@media (max-width: 480px) {
    .team-hero-slideshow {
        height: 350px !important;
    }
}

/* ==========================================================
   HOMEPAGE SLIDESHOW — SHOW FULL PHOTOGRAPH
   TEAM FIX DOES NOT AFFECT HOMEPAGE
   ========================================================== */

.mp-home-hero .mp-home-slide {
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #f3d5b5;
}
