/* ==========================================================
 * JMD Group Global - Main stylesheet
 * Inspired by magnumcargo.com layout, branded for JMD.
 * ========================================================== */

:root{
    --jmd-primary:        #1E3A8A;     /* deep navy from logo */
    --jmd-primary-dark:   #15296b;
    --jmd-primary-light:  #294098;
    --jmd-accent:         #E94E1B;     /* orange elephant */
    --jmd-accent-dark:    #c43d12;
    --jmd-text:           #2a2a2a;
    --jmd-muted:          #6b7280;
    --jmd-light:          #f5f7fb;
    --jmd-border:         #e5e7ef;
    --jmd-white:          #ffffff;
    --jmd-radius:         10px;
    --jmd-shadow:         0 10px 30px rgba(20, 30, 80, .08);
    --jmd-shadow-lg:      0 20px 60px rgba(20, 30, 80, .15);
    --jmd-trans:          .35s cubic-bezier(.4,.0,.2,1);
    --jmd-font-body:      'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --jmd-font-heading:   'Montserrat', 'Poppins', sans-serif;
}

/* ===== Base ===== */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body{
    margin:0;
    font-family: var(--jmd-font-body);
    font-size:16px;
    line-height:1.65;
    color:var(--jmd-text);
    background:#fff;
    -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--jmd-primary); text-decoration:none; transition:color var(--jmd-trans); overflow-wrap:break-word; }
a:hover{ color:var(--jmd-accent); }

/* Prevent any accidental horizontal scroll on narrow phones */
html, body{ max-width:100%; overflow-x:hidden; }

h1,h2,h3,h4,h5,h6{
    font-family: var(--jmd-font-heading);
    color: var(--jmd-primary);
    line-height:1.25;
    margin:0 0 .6em;
    font-weight:700;
}
h1{ font-size:clamp(1.9rem, 4vw, 3rem); }
h2{ font-size:clamp(1.6rem, 3vw, 2.4rem); }
h3{ font-size:clamp(1.2rem, 2vw, 1.5rem); }
p{ margin:0 0 1em; }

button{ font-family:inherit; cursor:pointer; }

.screen-reader-text{
    border:0; clip:rect(1px,1px,1px,1px); -webkit-clip-path:inset(50%);
    clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden;
    padding:0; position:absolute; width:1px; word-wrap:normal!important;
}

.skip-link{
    position:absolute; left:-9999px; top:auto; background:var(--jmd-primary);
    color:#fff; padding:.6rem 1rem; z-index:9999;
}
.skip-link:focus{ left:1rem; top:1rem; }

.jmd-container{
    width:100%; max-width:1240px; margin:0 auto; padding:0 24px;
}

/* ===== Buttons ===== */
.jmd-btn{
    display:inline-flex; align-items:center; gap:.55rem;
    padding:.85rem 1.6rem;
    font-family:var(--jmd-font-heading);
    font-weight:700;
    font-size:.92rem;
    letter-spacing:.04em;
    text-transform:uppercase;
    border-radius:var(--jmd-radius);
    border:2px solid transparent;
    transition: all var(--jmd-trans);
    cursor:pointer;
    text-decoration:none!important;
}
.jmd-btn i{ font-size:.85em; }
.jmd-btn--primary{ background:var(--jmd-primary); color:#fff; }
.jmd-btn--primary:hover{ background:var(--jmd-primary-dark); color:#fff; transform:translateY(-2px); box-shadow:var(--jmd-shadow); }
.jmd-btn--accent{ background:var(--jmd-accent); color:#fff; }
.jmd-btn--accent:hover{ background:var(--jmd-accent-dark); color:#fff; transform:translateY(-2px); box-shadow:var(--jmd-shadow); }
.jmd-btn--outline-light{ background:transparent; color:#fff; border-color:rgba(255,255,255,.4); }
.jmd-btn--outline-light:hover{ background:#fff; color:var(--jmd-primary); }

/* ===== Section helpers ===== */
.jmd-eyebrow{
    display:inline-block;
    font-family:var(--jmd-font-heading);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.78rem;
    font-weight:700;
    color:var(--jmd-accent);
    margin-bottom:.7rem;
    padding-left:38px;
    position:relative;
}
.jmd-eyebrow::before{
    content:""; position:absolute; left:0; top:50%;
    width:28px; height:2px; background:var(--jmd-accent);
}
.jmd-section-title{ margin-bottom:.8rem; }
.jmd-lead{ font-size:1.05rem; color:var(--jmd-muted); max-width:720px; }
.jmd-section-head--center{ text-align:center; margin: 0 auto 3rem; }
.jmd-section-head--center .jmd-eyebrow{ padding:0 38px; }
.jmd-section-head--center .jmd-eyebrow::before{ display:none; }
.jmd-section-head--center .jmd-lead{ margin-left:auto; margin-right:auto; }

/* ===== Topbar ===== */
.jmd-topbar{
    background:var(--jmd-primary);
    color:#dfe6f7;
    font-size:.86rem;
    padding:.55rem 0;
}
.jmd-topbar .jmd-container{
    display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.jmd-topbar__info{ display:flex; align-items:center; gap:1.5rem; flex-wrap:wrap; }
.jmd-topbar__info a, .jmd-topbar__info span{ color:#dfe6f7; display:inline-flex; align-items:center; gap:.4rem; }
.jmd-topbar__info a:hover{ color:#fff; }
.jmd-topbar__info i{ color:var(--jmd-accent); }
.jmd-topbar__social{ display:flex; gap:.4rem; }
.jmd-topbar__social a{
    width:30px; height:30px; border-radius:50%;
    background:rgba(255,255,255,.08); color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:.85rem;
}
.jmd-topbar__social a:hover{ background:var(--jmd-accent); color:#fff; }

/* ===== Header ===== */
.site-header{
    background:#fff;
    box-shadow: 0 2px 14px rgba(20,30,80,.06);
    position:sticky; top:0; z-index:100;
}
.site-header__inner{
    display:flex; align-items:center; justify-content:space-between;
    padding:1rem 24px;
    gap:1.5rem;
}
.site-branding{ display:flex; align-items:center; gap:.75rem; }
.site-logo-link img,
.custom-logo-link img{
    max-height:64px; width:auto;
}
.site-branding__text .site-title{ margin:0; font-size:1.2rem; }
.site-branding__text .site-title a{ color:var(--jmd-primary); font-family:var(--jmd-font-heading); font-weight:800;}
.site-branding__text .site-description{ margin:0; font-size:.78rem; color:var(--jmd-muted); }

/* Primary nav */
.main-navigation{ display:flex; align-items:center; gap:1.4rem; }
#primary-menu{
    list-style:none; margin:0; padding:0;
    display:flex; gap:.4rem; align-items:center;
}
#primary-menu > li{ position:relative; }
#primary-menu a{
    display:inline-flex; align-items:center; gap:.4rem;
    padding:.7rem 1rem;
    font-family:var(--jmd-font-heading);
    font-weight:600;
    font-size:.92rem;
    color:var(--jmd-primary);
    border-radius:6px;
    transition:all var(--jmd-trans);
}
#primary-menu a:hover,
#primary-menu .current-menu-item > a,
#primary-menu .current_page_item > a{
    color:var(--jmd-accent);
    background:rgba(233,78,27,.06);
}
#primary-menu .sub-menu{
    list-style:none; margin:0; padding:.5rem 0;
    position:absolute; top:100%; left:0;
    background:#fff; min-width:240px;
    box-shadow:var(--jmd-shadow-lg);
    border-radius:8px;
    opacity:0; visibility:hidden;
    transform:translateY(8px);
    transition: all var(--jmd-trans);
    z-index:50;
}
#primary-menu li:hover > .sub-menu{ opacity:1; visibility:visible; transform:translateY(0); }
#primary-menu .sub-menu a{
    display:block; padding:.6rem 1.2rem; font-size:.88rem; border-radius:0;
}
#primary-menu .sub-menu a:hover{ background:var(--jmd-light); }
.jmd-submenu-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    margin-left:.3rem; color:inherit; font-size:.7em; vertical-align:middle;
}
/* Two-column layout for long submenus (e.g. Services) — desktop dropdown only.
   Scoped to min-width so it never forces an oversized submenu inside the
   narrow mobile slide-out drawer. */
@media (min-width: 881px){
    #primary-menu .sub-menu.jmd-submenu--twocol{
        min-width:480px;
        column-count:2;
        column-gap:0;
        padding:.5rem 0;
    }
    #primary-menu .sub-menu.jmd-submenu--twocol li{
        break-inside:avoid;
        -webkit-column-break-inside:avoid;
    }
}

.jmd-header-cta{
    display:inline-flex; align-items:center; gap:.6rem;
    padding:.65rem 1.1rem;
    background:var(--jmd-accent);
    color:#fff!important;
    border-radius:6px;
    font-family:var(--jmd-font-heading);
    font-weight:700;
    font-size:.88rem;
}
.jmd-header-cta:hover{ background:var(--jmd-accent-dark); transform:translateY(-1px); }

.menu-toggle{
    display:none;
    background:none; border:none;
    width:42px; height:42px;
    flex-direction:column; justify-content:center; align-items:center; gap:5px;
    padding:0;
}
.menu-toggle__bar{
    display:block; width:24px; height:3px; background:var(--jmd-primary);
    border-radius:2px; transition:transform var(--jmd-trans), opacity var(--jmd-trans);
}
.menu-toggle.is-open .menu-toggle__bar:nth-child(1){ transform: translateY(8px) rotate(45deg); }
.menu-toggle.is-open .menu-toggle__bar:nth-child(2){ opacity:0; }
.menu-toggle.is-open .menu-toggle__bar:nth-child(3){ transform: translateY(-8px) rotate(-45deg); }


/* ===== HERO SLIDER ===== */
.jmd-hero{
    position:relative;
    overflow:hidden;
    height: clamp(440px, 75vh, 720px);
}
.jmd-hero__slides{ height:100%; position:relative; }
.jmd-hero__slide{
    position:absolute; inset:0;
    background-size:cover; background-position:center;
    display:flex; align-items:center;
    opacity:0; visibility:hidden;
    transition: opacity 1s ease, visibility 1s ease;
}
.jmd-hero__slide.is-active{ opacity:1; visibility:visible; z-index:2; }
.jmd-hero__overlay{
    position:absolute; inset:0;
    background: linear-gradient(120deg, rgba(20,30,80,.85) 0%, rgba(20,30,80,.55) 60%, rgba(233,78,27,.25) 100%);
}
.jmd-hero__inner{ position:relative; z-index:3; color:#fff; max-width:760px; }
.jmd-hero__small{
    display:inline-block; font-family:var(--jmd-font-heading);
    text-transform:uppercase; letter-spacing:.2em; font-size:.85rem;
    color:#fff; margin-bottom:1rem; font-weight:700;
}
.jmd-hero__title{
    font-size:clamp(1.9rem, 5vw, 3.6rem);
    line-height:1.15; color:#fff;
    margin-bottom:1.6rem; font-weight:800;
    text-shadow: 0 2px 30px rgba(0,0,0,.25);
}
.jmd-hero__nav{
    position:absolute; top:50%; transform:translateY(-50%);
    width:48px; height:48px; border-radius:50%;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.3);
    color:#fff;
    display:flex; align-items:center; justify-content:center;
    z-index:5;
    transition: all var(--jmd-trans);
    backdrop-filter: blur(6px);
}
.jmd-hero__nav:hover{ background:var(--jmd-accent); border-color:var(--jmd-accent); }
.jmd-hero__nav--prev{ left:24px; }
.jmd-hero__nav--next{ right:24px; }
.jmd-hero__dots{
    position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
    display:flex; gap:.6rem; z-index:5;
}
.jmd-hero__dot{
    width:10px; height:10px; border-radius:50%;
    background:rgba(255,255,255,.45);
    border:none; cursor:pointer; padding:0;
    transition: all var(--jmd-trans);
}
.jmd-hero__dot.is-active{ background:var(--jmd-accent); width:30px; border-radius:6px; }


/* ===== ABOUT US PAGE EXTRAS ===== */
.jmd-mvv{ padding:5rem 0; background:var(--jmd-light); }
.jmd-mvv__grid{ display:grid; grid-template-columns: repeat(3, 1fr); gap:2rem; }
.jmd-mvv__card{ background:#fff; padding:2.5rem 2rem; border-radius:var(--jmd-radius); text-align:center; box-shadow:var(--jmd-shadow); transition:transform var(--jmd-trans); }
.jmd-mvv__card:hover{ transform:translateY(-5px); box-shadow:var(--jmd-shadow-lg); }
.jmd-mvv__icon{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; background:rgba(30,58,138,.08); color:var(--jmd-primary); border-radius:50%; font-size:1.6rem; margin-bottom:1.5rem; }
.jmd-mvv__card h3{ color:var(--jmd-primary); margin-bottom:.8rem; }

.jmd-subbrands{ padding:6rem 0; background:#fff; }
.jmd-subbrands__grid{ display:grid; grid-template-columns: repeat(4, 1fr); gap:2rem; }
.jmd-subbrand{ text-align:center; padding:1.5rem; border:1px solid var(--jmd-border); border-radius:var(--jmd-radius); transition:all var(--jmd-trans); }
.jmd-subbrand:hover{ border-color:var(--jmd-accent); box-shadow:var(--jmd-shadow); transform:translateY(-3px); }
.jmd-subbrand__icon{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; background:var(--jmd-accent); color:#fff; border-radius:12px; font-size:1.4rem; margin-bottom:1.2rem; }
.jmd-subbrand h3{ font-size:1.1rem; color:var(--jmd-primary); margin-bottom:.6rem; }
.jmd-subbrand p{ font-size:.92rem; color:var(--jmd-muted); margin:0; }

/* ===== ABOUT ===== */
.jmd-about{ padding:6rem 0; background:#fff; }
.jmd-about__grid{
    display:grid; grid-template-columns: 1fr 1.1fr; gap:4rem; align-items:center;
}
.jmd-about__images{ position:relative; }
.jmd-about__img{
    border-radius:var(--jmd-radius); overflow:hidden; background:var(--jmd-light);
}
.jmd-about__img--1{
    aspect-ratio: 4/5;
    box-shadow: var(--jmd-shadow-lg);
}
.jmd-about__img--2{
    position:absolute; right:-8%; bottom:-8%;
    width:55%; aspect-ratio: 1/1;
    border:8px solid #fff;
    box-shadow: var(--jmd-shadow-lg);
}
.jmd-about__img img{ width:100%; height:100%; object-fit:cover; }
.jmd-about__placeholder{
    width:100%; height:100%;
    background: linear-gradient(135deg, var(--jmd-primary), var(--jmd-primary-light));
    color:#fff; font-size:5rem;
    display:flex; align-items:center; justify-content:center;
}
.jmd-about__img--2 .jmd-about__placeholder{
    background: linear-gradient(135deg, var(--jmd-accent), #f57e3f);
}
.jmd-about__years{
    position:absolute; left:-3%; top:42%;
    background:var(--jmd-accent); color:#fff;
    padding:1.2rem 1.4rem; border-radius:var(--jmd-radius);
    box-shadow:var(--jmd-shadow-lg);
    text-align:center; min-width:110px;
}
.jmd-about__years strong{ display:block; font-size:1.9rem; font-family:var(--jmd-font-heading); line-height:1; }
.jmd-about__years span{ font-size:.82rem; opacity:.92; }

.jmd-about__features{
    display:grid; grid-template-columns: 1fr 1fr; gap:1.5rem;
    margin: 2rem 0;
}
.jmd-about__feature h4{ margin:.5rem 0 .3rem; color:var(--jmd-primary); }
.jmd-about__feature p{ font-size:.92rem; color:var(--jmd-muted); margin:0; }
.jmd-about__feature-icon{
    width:48px; height:48px; border-radius:10px;
    background: rgba(30, 58, 138, .1); color: var(--jmd-primary);
    display:inline-flex; align-items:center; justify-content:center;
    font-size:1.15rem;
}


/* ===== SERVICES ===== */
.jmd-services{ padding:6rem 0; background:var(--jmd-light); }
.jmd-services__grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap:2rem;
}
/* Services archive page: generous spacing around the grid so the last row
   doesn't crowd the footer CTA band. */
.jmd-services-archive{
    padding-top: 3.5rem;
    padding-bottom: 6rem;
}
.jmd-services-archive .jmd-services__grid{
    margin-bottom: 1rem;
}
@media (max-width: 768px){
    .jmd-services-archive{ padding-top: 2.5rem; padding-bottom: 4rem; }
}
.jmd-service-card{
    background:#fff;
    border-radius:var(--jmd-radius);
    overflow:hidden;
    text-decoration:none;
    color:var(--jmd-text);
    box-shadow: var(--jmd-shadow);
    transition: all var(--jmd-trans);
    display:flex; flex-direction:column;
    border:1px solid var(--jmd-border);
    position:relative;
}
.jmd-service-card:hover{
    transform:translateY(-8px);
    box-shadow: var(--jmd-shadow-lg);
    color: var(--jmd-text);
}
.jmd-service-card__media{
    position:relative; aspect-ratio: 4/3; overflow:hidden;
    background: linear-gradient(135deg, var(--jmd-primary), var(--jmd-primary-light));
}
.jmd-service-card__media img{
    width:100%; height:100%; object-fit:cover;
    transition: transform .8s ease;
}
.jmd-service-card:hover .jmd-service-card__media img{ transform:scale(1.08); }
.jmd-service-card__placeholder{
    width:100%; height:100%;
    display:flex; align-items:center; justify-content:center;
    color:#fff; font-size:3.5rem; opacity:.85;
}
.jmd-service-card__num{
    position:absolute; top:12px; left:12px;
    background:var(--jmd-accent); color:#fff;
    padding:.3rem .7rem;
    font-family:var(--jmd-font-heading);
    font-size:.74rem; font-weight:700;
    text-transform:uppercase; letter-spacing:.08em;
    border-radius:4px;
}
.jmd-service-card__body{
    padding:1.5rem 1.5rem 1.7rem;
    position:relative;
    flex:1; display:flex; flex-direction:column;
}
.jmd-service-card__icon{
    position:absolute; top:-26px; right:1.5rem;
    width:52px; height:52px;
    background:var(--jmd-accent); color:#fff;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.2rem;
    box-shadow: 0 8px 18px rgba(233, 78, 27, .35);
    transition: all var(--jmd-trans);
}
.jmd-service-card:hover .jmd-service-card__icon{
    background:var(--jmd-primary); color:#fff;
    transform: rotate(-10deg) scale(1.05);
}
.jmd-service-card__body h3{
    color:var(--jmd-primary);
    margin:.4rem 0 .6rem;
    transition:color var(--jmd-trans);
}
.jmd-service-card:hover h3{ color:var(--jmd-accent); }
.jmd-service-card__body p{ color:var(--jmd-muted); font-size:.93rem; margin-bottom:1rem; }
.jmd-service-card__cta{
    margin-top:auto;
    color:var(--jmd-accent); font-weight:700;
    font-family:var(--jmd-font-heading); font-size:.85rem;
    text-transform:uppercase; letter-spacing:.08em;
    display:inline-flex; align-items:center; gap:.5rem;
}
.jmd-service-card__cta i{ transition: transform var(--jmd-trans); }
.jmd-service-card:hover .jmd-service-card__cta i{ transform:translateX(4px); }
.jmd-services__more{ text-align:center; margin-top:3rem; }
.jmd-empty{
    grid-column: 1/-1; text-align:center; padding:4rem 1rem;
    background:#fff; border:2px dashed var(--jmd-border); border-radius:var(--jmd-radius);
}


/* ===== WHY US ===== */
.jmd-why{
    padding:6rem 0;
    background: var(--jmd-primary) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath fill='%23ffffff' fill-opacity='0.04' d='M20 20l10-10v20zM10 10v20l10-10z'/%3E%3C/svg%3E");
    color:#dfe6f7;
}
.jmd-why .jmd-section-title{ color:#fff; }
.jmd-why .jmd-eyebrow{ color:var(--jmd-accent); }
.jmd-why__grid{
    display:grid; grid-template-columns: 1.2fr 1fr; gap:4rem; align-items:center;
}
.jmd-why__list{ list-style:none; margin:1.5rem 0 0; padding:0; }
.jmd-why__list li{
    display:flex; gap:1rem; align-items:flex-start;
    padding:1rem 0; border-bottom:1px solid rgba(255,255,255,.1);
}
.jmd-why__list li:last-child{ border-bottom:none; }
.jmd-why__list i{
    color:var(--jmd-accent); font-size:1.4rem; flex-shrink:0; margin-top:.15rem;
}
.jmd-why__list span{ color:#dfe6f7; font-size:1rem; line-height:1.6; }
.jmd-why__media{
    aspect-ratio: 4/3;
    background: rgba(255,255,255,.05);
    border-radius:var(--jmd-radius);
    overflow:hidden;
    border: 8px solid rgba(255,255,255,.08);
}
.jmd-why__media img{ width:100%; height:100%; object-fit:cover; }
.jmd-why__placeholder{
    width:100%; height:100%;
    display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,.4); font-size:6rem;
}


/* ===== STATS ===== */
.jmd-stats{
    background:var(--jmd-accent);
    padding:3.5rem 0;
}
.jmd-stats__grid{
    display:grid; grid-template-columns: repeat(4, 1fr); gap:1rem;
    text-align:center;
}
.jmd-stats__item strong{
    display:block;
    font-family:var(--jmd-font-heading);
    font-size:clamp(2rem, 4vw, 3.4rem);
    font-weight:800; color:#fff; line-height:1;
}
.jmd-stats__item span{
    color:rgba(255,255,255,.95);
    font-size:.95rem; font-weight:500;
    display:block; margin-top:.5rem;
}
.jmd-stats__item{
    border-right:1px solid rgba(255,255,255,.2);
    padding: .5rem 1rem;
}
.jmd-stats__item:last-child{ border-right:none; }


/* ===== CLIENTS ===== */
.jmd-clients{ padding:5rem 0; background:#fff; }
.jmd-clients__title{
    text-align:center; color:var(--jmd-primary); margin-bottom:2rem;
}
.jmd-clients__grid{
    display:grid; grid-template-columns: repeat(6, 1fr); gap:2rem; align-items:center;
}
.jmd-clients__item{
    padding:1rem; opacity:.7; transition: opacity var(--jmd-trans);
    text-align:center;
}
.jmd-clients__item:hover{ opacity:1; }
.jmd-clients__item img{
    max-height:60px; width:auto; margin:0 auto; filter:grayscale(100%);
    transition:filter var(--jmd-trans);
}
.jmd-clients__item:hover img{ filter:grayscale(0); }


/* ===== TESTIMONIALS ===== */
.jmd-testimonials{ padding:6rem 0; background:var(--jmd-light); }
.jmd-testimonials__grid{
    display:grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap:2rem;
}
.jmd-testimonial{
    background:#fff; padding:2rem;
    border-radius:var(--jmd-radius);
    box-shadow:var(--jmd-shadow);
    position:relative;
}
.jmd-testimonial__quote{
    color:var(--jmd-accent); font-size:2rem; opacity:.5; margin-bottom:1rem;
}
.jmd-testimonial__text{ font-style:italic; color:var(--jmd-text); margin-bottom:1.2rem; }
.jmd-testimonial__author{ display:flex; align-items:center; gap:.8rem; }
.jmd-testimonial__author img{ width:48px; height:48px; border-radius:50%; object-fit:cover; }
.jmd-testimonial__author strong{ display:block; color:var(--jmd-primary); }
.jmd-testimonial__author span{ font-size:.85rem; color:var(--jmd-muted); }


/* ===== CTA STRIP ===== */
.jmd-cta-strip{
    background: linear-gradient(120deg, var(--jmd-primary), var(--jmd-primary-light));
    padding:3.5rem 0; color:#fff;
    position:relative; overflow:hidden;
}
.jmd-cta-strip::before{
    content:""; position:absolute; right:-100px; top:50%; transform:translateY(-50%);
    width:400px; height:400px; border-radius:50%;
    background:rgba(233,78,27,.15);
}
.jmd-cta-strip .jmd-container{
    display:flex; align-items:center; justify-content:space-between; gap:2rem;
    flex-wrap:wrap; position:relative;
}
.jmd-cta-strip__text small{
    text-transform:uppercase; letter-spacing:.18em; font-size:.78rem;
    color:var(--jmd-accent); display:block; margin-bottom:.5rem; font-weight:700;
}
.jmd-cta-strip__text h2{ color:#fff; margin:0; font-size:clamp(1.4rem,2.5vw,2rem); }


/* ===== FOOTER ===== */
.site-footer{ background:#0c1740; color:#cbd2e8; }
.site-footer__contact{
    background:rgba(255,255,255,.04);
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:2.5rem 0;
}
.site-footer__contact-grid{
    display:grid; grid-template-columns: repeat(3, 1fr); gap:2rem;
}
.contact-block{ display:flex; gap:1rem; align-items:flex-start; }
.contact-block__icon{
    width:48px; height:48px; flex-shrink:0;
    background:var(--jmd-accent); color:#fff;
    border-radius:10px;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:1.1rem;
}
.contact-block__body h4{ color:#fff; margin:0 0 .35rem; font-size:.85rem; text-transform:uppercase; letter-spacing:.12em; }
.contact-block__body, .contact-block__body a{ color:#cbd2e8; }
.contact-block__body a:hover{ color:var(--jmd-accent); }

.site-footer__main{ padding:4rem 0 2.5rem; }
.site-footer__grid{
    display:grid; grid-template-columns: 1.4fr 1fr 1.2fr 1fr; gap:2.5rem;
}
.site-footer__col h3{ color:#fff; font-size:1.1rem; margin-bottom:1.2rem; }
.site-footer__col ul{ list-style:none; margin:0; padding:0; }
.site-footer__col ul li{ margin-bottom:.6rem; }
.site-footer__col ul a{
    color:#cbd2e8; font-size:.93rem;
    display:inline-flex; align-items:center; gap:.4rem;
}
.site-footer__col ul a::before{
    content:"›"; color:var(--jmd-accent); font-weight:700;
}
.site-footer__col ul a:hover{ color:var(--jmd-accent); }
.site-footer__col--brand img{ max-height:60px; margin-bottom:1.2rem; background:#fff; padding:.4rem .6rem; border-radius:6px; }
.site-footer__col--brand p{ color:#cbd2e8; font-size:.92rem; margin-bottom:1.2rem; }
.site-footer__social{ display:flex; gap:.6rem; flex-wrap:wrap; }
.site-footer__social a{
    width:38px; height:38px; border-radius:50%;
    background:rgba(255,255,255,.08); color:#fff;
    display:inline-flex; align-items:center; justify-content:center;
    font-size:.9rem; transition:all var(--jmd-trans);
}
.site-footer__social a:hover{ background:var(--jmd-accent); transform:translateY(-3px); }

.site-footer__bottom{
    border-top:1px solid rgba(255,255,255,.08);
    padding:1.2rem 0; text-align:center;
    font-size:.86rem; color:#9099b8;
}


/* ===== Inner pages ===== */
.jmd-page-banner{
    background: linear-gradient(120deg, var(--jmd-primary), var(--jmd-primary-light));
    color:#fff; padding:4rem 0 3.5rem; text-align:center; position:relative;
}
.jmd-page-banner h1{ color:#fff; margin-bottom:.7rem; }
.jmd-breadcrumb{ font-size:.92rem; color:rgba(255,255,255,.85); margin:0; }
.jmd-breadcrumb a{ color:#fff; }
.jmd-breadcrumb a:hover{ color:var(--jmd-accent); }
.jmd-breadcrumb span{ margin:0 .4rem; opacity:.5; }
.jmd-page-banner--service .jmd-page-banner__icon{
    display:inline-flex; align-items:center; justify-content:center;
    width:80px; height:80px; border-radius:50%;
    background:rgba(255,255,255,.12); margin-bottom:1rem;
    font-size:2rem; color:#fff;
}

.jmd-page{ padding:5rem 0; }
.jmd-page__grid{ display:grid; grid-template-columns: 2fr 1fr; gap:3rem; }
.jmd-page__thumb{ margin-bottom:2rem; border-radius:var(--jmd-radius); overflow:hidden; }
.jmd-page__body{ font-size:1.02rem; line-height:1.75; }
.jmd-page__body h2{ margin-top:2.2rem; }
.jmd-page__body img{ border-radius:var(--jmd-radius); }
.jmd-page__body ul, .jmd-page__body ol{ margin:1rem 0 1.5rem 1.2rem; }
.jmd-page__body blockquote{
    border-left:4px solid var(--jmd-accent);
    background:var(--jmd-light); padding:1.5rem; margin:2rem 0;
    border-radius:var(--jmd-radius);
}

/* ---------- Thank You page ---------- */
.jmd-thankyou{ padding:5rem 0; }
.jmd-thankyou__inner{ max-width:640px; margin:0 auto; text-align:center; }
.jmd-thankyou__icon{
    display:inline-flex; align-items:center; justify-content:center;
    width:90px; height:90px; border-radius:50%;
    background:rgba(233,78,27,.1); color:var(--jmd-accent);
    font-size:2.5rem; margin-bottom:1.5rem;
}
.jmd-thankyou__inner .jmd-lead{ margin-bottom:2rem; }
.jmd-thankyou__inner .jmd-page__body{ text-align:left; margin-bottom:2rem; }


.jmd-page__sidebar .widget,
.jmd-widget{
    background:#fff; padding:1.5rem;
    border:1px solid var(--jmd-border); border-radius:var(--jmd-radius);
    margin-bottom:1.5rem;
}
.widget-title{
    color:var(--jmd-primary); font-size:1.1rem; margin-bottom:1rem;
    padding-bottom:.7rem; border-bottom:2px solid var(--jmd-accent);
    display:inline-block;
}
.jmd-side-services{ list-style:none; margin:0; padding:0; }
.jmd-side-services li{ margin-bottom:.4rem; }
.jmd-side-services a{
    display:flex; align-items:center; gap:.7rem;
    padding:.75rem 1rem; background:var(--jmd-light);
    border-radius:6px; color:var(--jmd-primary); font-size:.92rem; font-weight:500;
}
.jmd-side-services a:hover,
.jmd-side-services .is-active a{ background:var(--jmd-primary); color:#fff; }
.jmd-side-services .is-active a{ background:var(--jmd-accent); }
.jmd-side-services__arrow{ margin-left:auto; opacity:.6; }

.jmd-service-cta{
    margin-top:2.5rem;
    background: linear-gradient(120deg, var(--jmd-primary), var(--jmd-primary-light));
    color:#fff; padding:2.5rem; border-radius:var(--jmd-radius); text-align:center;
}
.jmd-service-cta h3{ color:#fff; }
.jmd-service-cta__btns{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; margin-top:1.2rem; }


/* Contact page */
.jmd-contact-info{ padding:4rem 0 1rem; }
.jmd-contact-info__grid{ display:grid; grid-template-columns: repeat(3,1fr); gap:1.5rem; }
.jmd-contact-card{
    background:#fff; padding:2rem; text-align:center;
    border-radius:var(--jmd-radius); box-shadow:var(--jmd-shadow);
    border-top:4px solid var(--jmd-accent);
}
.jmd-contact-card__icon{
    width:64px; height:64px; border-radius:50%;
    background: rgba(233,78,27,.12); color:var(--jmd-accent);
    display:inline-flex; align-items:center; justify-content:center;
    font-size:1.5rem; margin-bottom:1rem;
}
.jmd-contact-form-wrap{ padding:4rem 0 6rem; }
.jmd-contact-form-wrap__grid{ display:grid; grid-template-columns: 1fr 1fr; gap:3rem; }
.jmd-contact-map{ border-radius:var(--jmd-radius); overflow:hidden; box-shadow:var(--jmd-shadow); }


/* 404 */
.jmd-404{ padding:6rem 0; text-align:center; }
.jmd-404__num{
    display:block; font-size:clamp(6rem, 18vw, 12rem);
    font-family:var(--jmd-font-heading); color:var(--jmd-accent);
    line-height:1; font-weight:800; opacity:.18;
}
.jmd-404 h1{ margin-top:-2rem; }


/* Floating WhatsApp */
.jmd-whatsapp-float{
    position:fixed; bottom:24px; right:24px;
    width:56px; height:56px; border-radius:50%;
    background:#25d366; color:#fff!important;
    display:flex; align-items:center; justify-content:center;
    font-size:1.7rem; z-index:999;
    box-shadow:0 8px 30px rgba(37, 211, 102, .45);
    animation: jmd-pulse 2s infinite;
}
.jmd-whatsapp-float:hover{ transform:scale(1.08); }
@keyframes jmd-pulse{
    0%,100%{ box-shadow:0 8px 30px rgba(37, 211, 102, .45); }
    50%{ box-shadow:0 8px 36px rgba(37, 211, 102, .85); }
}


/* ==========================================================
 * RESPONSIVE
 * ========================================================== */

@media (max-width: 1024px){
    .jmd-services__grid{ grid-template-columns: repeat(2, 1fr); }
    .jmd-clients__grid{ grid-template-columns: repeat(4, 1fr); }
    .site-footer__grid{ grid-template-columns: repeat(2, 1fr); }
    .site-footer__contact-grid{ grid-template-columns: 1fr; }
    .jmd-stats__grid{ grid-template-columns: repeat(2, 1fr); }
    .jmd-stats__item{ border-right:none; border-bottom:1px solid rgba(255,255,255,.2); padding-bottom:1.5rem; }
    .jmd-stats__item:nth-child(2n){ border-right:none; }
    .jmd-stats__item:nth-last-child(-n+2){ border-bottom:none; }
    .jmd-subbrands__grid{ grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 880px){
    .menu-toggle{ display:inline-flex; }
    .main-navigation{
        position:fixed; top:0; right:-100%;
        width:300px; max-width:80%; height:100vh;
        background:#fff;
        flex-direction:column;
        align-items:flex-start;
        padding:5rem 1.5rem 2rem;
        box-shadow:-10px 0 30px rgba(0,0,0,.15);
        transition: right var(--jmd-trans);
        z-index:200;
        overflow-x:hidden;
        overflow-y:auto;
    }
    .main-navigation.is-open{ right:0; }
    #primary-menu{ flex-direction:column; align-items:flex-start; gap:0; width:100%; }
    #primary-menu > li{ width:100%; border-bottom:1px solid var(--jmd-border); }
    #primary-menu a{ width:100%; padding:.9rem 0; }
    #primary-menu .sub-menu{
        position:static; opacity:1; visibility:visible;
        transform:none; box-shadow:none; padding:0 0 .5rem 1rem;
        background:transparent;
        display:none;
        min-width:0; width:100%;
    }
    .menu-item-has-children.submenu-open > .sub-menu{ display:block; }
    /* Two-column layout for long submenus (e.g. Services) on mobile too */
    .menu-item-has-children.submenu-open > .sub-menu.jmd-submenu--twocol{
        min-width:0;
        column-count:2;
        column-gap:1rem;
    }
    #primary-menu .sub-menu.jmd-submenu--twocol li{
        break-inside:avoid;
        -webkit-column-break-inside:avoid;
    }
    #primary-menu > li{ position:relative; display:flex; flex-direction:column; }
    .jmd-submenu-toggle{
        position:absolute; top:0; right:0;
        display:flex; align-items:center; justify-content:center;
        width:48px; height:48px;
        cursor:pointer;
    }
    .jmd-submenu-toggle i{ transition:transform var(--jmd-trans); }
    .menu-item-has-children.submenu-open > .jmd-submenu-toggle i{ transform:rotate(180deg); }
    .jmd-header-cta{ margin-top:1rem; width:100%; justify-content:center; }
    .menu-toggle{ z-index:300; position:relative; }
    body.jmd-menu-open{ overflow:hidden; }
    body.jmd-menu-open::after{
        content:""; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:150;
    }
    .jmd-about__grid,
    .jmd-why__grid,
    .jmd-contact-form-wrap__grid,
    .jmd-page__grid,
    .jmd-mvv__grid{
        grid-template-columns:1fr; gap:2rem;
    }
    .jmd-about__years{ left:auto; right:0; top:auto; bottom:-20px; }
    .jmd-about__img--2{ width:48%; }
    .jmd-contact-info__grid{ grid-template-columns:1fr; }
    .jmd-page__sidebar{ order:2; }
}

@media (max-width: 600px){
    .jmd-topbar__info{ font-size:.78rem; gap:.8rem; }
    .jmd-topbar__info span:first-child{ display:none; }
    .jmd-services__grid{ grid-template-columns: 1fr; }
    .jmd-clients__grid{ grid-template-columns: repeat(2, 1fr); gap:1rem; }
    .site-footer__grid{ grid-template-columns:1fr; }
    .jmd-stats__grid{ grid-template-columns:1fr; }
    .jmd-stats__item{ border:none!important; padding-bottom:.5rem; }
    .jmd-about{ padding:4rem 0; }
    .jmd-services{ padding:4rem 0; }
    .jmd-why{ padding:4rem 0; }
    .jmd-about__features{ grid-template-columns:1fr; }
    .jmd-cta-strip .jmd-container{ flex-direction:column; text-align:center; }
    .jmd-hero__nav{ display:none; }
    .site-header__inner{ padding:.7rem 24px; }
    .site-logo-link img, .custom-logo-link img{ max-height:48px; }
    .jmd-subbrands__grid{ grid-template-columns: 1fr; }
}

/* ===========================================================
 * Single Service page enhancements (magnumcargo-style sections)
 * =========================================================== */

/* How We Work — 4-step approach grid */
.jmd-service-approach{
    margin-top: 3rem;
    padding: 2.5rem;
    background: #f8fafc;
    border-radius: var(--jmd-radius);
    border: 1px solid #e5e7eb;
}
.jmd-service-approach__heading{
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    color: var(--jmd-primary);
    position: relative;
    padding-left: 18px;
}
.jmd-service-approach__heading::before{
    content:"";
    position:absolute;
    left:0; top:8px; bottom:8px;
    width:5px;
    background: var(--jmd-accent);
    border-radius: 3px;
}
.jmd-approach-grid{
    display:grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}
.jmd-approach-step{
    background:#fff;
    padding: 1.5rem 1.5rem;
    border-radius: var(--jmd-radius);
    border:1px solid #e5e7eb;
    position:relative;
    transition: var(--jmd-transition);
    display: flex;
    align-items: flex-start;
    gap: 1.25rem;
}
.jmd-approach-step:hover{
    transform: translateX(3px);
    box-shadow: var(--jmd-shadow-lg);
    border-color: var(--jmd-accent);
}
.jmd-approach-step__num{
    flex: 0 0 auto;
    display:flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 12px;
    background: rgba(233, 78, 27, 0.1);
    font-family: 'Montserrat', sans-serif;
    font-size: 1.4rem;
    font-weight: 800;
    color: var(--jmd-accent);
    line-height: 1;
    margin-bottom: 0;
    opacity: 1;
}
.jmd-approach-step__body{
    flex: 1 1 auto;
}
.jmd-approach-step h4{
    margin: 0 0 .35rem;
    font-size: 1.05rem;
    color: var(--jmd-primary);
}
.jmd-approach-step p{
    margin: 0;
    font-size: .9rem;
    color: #4b5563;
    line-height: 1.55;
}

/* Related services cards */
.jmd-service-related{
    margin-top: 3rem;
}
.jmd-service-related__heading{
    margin: 0 0 1.5rem;
    font-size: 1.5rem;
    color: var(--jmd-primary);
    position:relative;
    padding-left: 18px;
}
.jmd-service-related__heading::before{
    content:"";
    position:absolute;
    left:0; top:8px; bottom:8px;
    width:5px;
    background: var(--jmd-accent);
    border-radius: 3px;
}
.jmd-service-related__grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}
.jmd-service-related__card{
    display:block;
    padding: 1.75rem 1.5rem;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius: var(--jmd-radius);
    text-decoration:none;
    color: inherit;
    transition: var(--jmd-transition);
    position:relative;
}
.jmd-service-related__card:hover{
    transform: translateY(-4px);
    box-shadow: var(--jmd-shadow-lg);
    border-color: var(--jmd-accent);
}
.jmd-service-related__icon{
    display:inline-flex;
    width: 52px;
    height: 52px;
    align-items:center;
    justify-content:center;
    background: linear-gradient(135deg, var(--jmd-accent), #f97316);
    color:#fff;
    border-radius: 50%;
    font-size: 1.2rem;
    margin-bottom: .85rem;
}
.jmd-service-related__card h4{
    margin: 0 0 .5rem;
    color: var(--jmd-primary);
    font-size: 1.05rem;
}
.jmd-service-related__card p{
    margin: 0 0 .9rem;
    font-size: .88rem;
    color: #4b5563;
    line-height: 1.55;
}
.jmd-service-related__more{
    display:inline-flex;
    align-items:center;
    gap: .4rem;
    color: var(--jmd-accent);
    font-size: .85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.jmd-service-related__more i{ transition: transform .2s; }
.jmd-service-related__card:hover .jmd-service-related__more i{ transform: translateX(4px); }

/* Quote CTA additional button (whatsapp variant + full-width) */
.jmd-service-cta__btns{
    display:flex;
    flex-wrap:wrap;
    gap: .75rem;
}
.jmd-btn--full{ width:100%; justify-content:center; }
.jmd-btn--outline-light{
    background:transparent;
    border: 2px solid #fff;
    color:#fff;
}
.jmd-btn--outline-light:hover{
    background:#fff;
    color: var(--jmd-primary);
}

/* Brochure widget in service sidebar */
.jmd-widget--brochure{
    background: linear-gradient(135deg, var(--jmd-primary), #2c4ba8);
    color:#fff;
    border-radius: var(--jmd-radius);
    padding: 1.5rem;
}
.jmd-widget--brochure .widget-title{ color:#fff; margin-top:0; }
.jmd-widget--brochure p{ color: rgba(255,255,255,.85); font-size:.9rem; margin-bottom: 1rem; }

/* Responsive — Single service page */
@media (max-width: 1024px){
    .jmd-service-related__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
    .jmd-service-related__grid{ grid-template-columns: 1fr; }
    .jmd-service-approach{ padding: 1.5rem; }
}

/* ===========================================================
 * About Us page
 * =========================================================== */

.jmd-about-intro{
    padding: 5rem 0;
    background: #fff;
}
.jmd-about-intro__grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
}
.jmd-about-intro__images{
    position: relative;
    min-height: 480px;
}
.jmd-about-intro__img{
    background-size: cover;
    background-position: center;
    background-color: #f3f4f6;
    border-radius: var(--jmd-radius);
    box-shadow: var(--jmd-shadow-lg);
}
.jmd-about-intro__img--lg{
    width: 85%;
    height: 460px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-color: var(--jmd-primary);
}
.jmd-about-intro__years{
    position: absolute;
    bottom: 30px;
    right: 0;
    background: var(--jmd-accent);
    color: #fff;
    padding: 1.5rem 2rem;
    border-radius: var(--jmd-radius);
    box-shadow: var(--jmd-shadow-lg);
    text-align: center;
}
.jmd-about-intro__years strong{
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 800;
}
.jmd-about-intro__years span{
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-top: .35rem;
    display: block;
}
.jmd-about-intro__content h2{
    font-size: 2.25rem;
    color: var(--jmd-primary);
    margin: 0 0 1rem;
    line-height: 1.2;
}
.jmd-about-intro__content .jmd-lead{
    font-size: 1.1rem;
    color: #4b5563;
    line-height: 1.65;
    margin-bottom: 1.25rem;
}
.jmd-about-intro__content p{
    margin-bottom: 1rem;
    line-height: 1.7;
    color: #4b5563;
}

/* Mission / Vision / Values */
.jmd-mvv{
    padding: 5rem 0;
    background: #f8fafc;
}
.jmd-mvv__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.jmd-mvv__card{
    background: #fff;
    padding: 2.25rem 2rem;
    border-radius: var(--jmd-radius);
    box-shadow: var(--jmd-shadow);
    border-top: 4px solid var(--jmd-accent);
    transition: var(--jmd-transition);
    text-align: center;
}
.jmd-mvv__card:hover{
    transform: translateY(-6px);
    box-shadow: var(--jmd-shadow-lg);
}
.jmd-mvv__icon{
    display: inline-flex;
    width: 72px;
    height: 72px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--jmd-primary), #2c4ba8);
    color: #fff;
    border-radius: 50%;
    font-size: 1.6rem;
    margin-bottom: 1.25rem;
}
.jmd-mvv__card h3{
    margin: 0 0 .75rem;
    color: var(--jmd-primary);
    font-size: 1.3rem;
}
.jmd-mvv__card p{
    margin: 0;
    color: #4b5563;
    line-height: 1.65;
    font-size: .95rem;
}

/* Sub-brands */
.jmd-subbrands{
    padding: 5rem 0;
    background: #fff;
}
.jmd-section-head{
    margin-bottom: 3rem;
}
.jmd-section-head--center{
    text-align: center;
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}
.jmd-section-head h2{
    font-size: 2.25rem;
    color: var(--jmd-primary);
    margin: .5rem 0 .75rem;
    line-height: 1.2;
}
.jmd-section-head p{
    color: #4b5563;
    font-size: 1.05rem;
    margin: 0;
}
.jmd-subbrands__grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
}
.jmd-subbrand{
    padding: 2.25rem 1.5rem;
    text-align: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: var(--jmd-radius);
    transition: var(--jmd-transition);
    position: relative;
    overflow: hidden;
}
.jmd-subbrand::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: linear-gradient(90deg, var(--jmd-primary), var(--jmd-accent));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s;
}
.jmd-subbrand:hover{
    transform: translateY(-5px);
    box-shadow: var(--jmd-shadow-lg);
    border-color: transparent;
}
.jmd-subbrand:hover::before{ transform: scaleX(1); }
.jmd-subbrand__icon{
    display: inline-flex;
    width: 64px;
    height: 64px;
    align-items: center;
    justify-content: center;
    background: rgba(233, 78, 27, 0.1);
    color: var(--jmd-accent);
    border-radius: 50%;
    font-size: 1.5rem;
    margin-bottom: 1rem;
    transition: var(--jmd-transition);
}
.jmd-subbrand:hover .jmd-subbrand__icon{
    background: var(--jmd-accent);
    color: #fff;
    transform: rotateY(180deg);
}
.jmd-subbrand h3{
    margin: 0 0 .5rem;
    color: var(--jmd-primary);
    font-size: 1.05rem;
    line-height: 1.3;
}
.jmd-subbrand p{
    margin: 0;
    color: #4b5563;
    font-size: .88rem;
    line-height: 1.55;
}

/* Stats plus sign for About page */
.jmd-stats__plus{
    color: var(--jmd-accent);
    font-family: 'Montserrat', sans-serif;
    font-size: 2rem;
    font-weight: 800;
    margin-left: 4px;
}

/* Big CTA button variant */
.jmd-btn--lg{
    padding: 1rem 2rem;
    font-size: 1rem;
}

/* Responsive — About */
@media (max-width: 1024px){
    .jmd-about-intro__grid{ grid-template-columns: 1fr; gap: 2.5rem; }
    .jmd-about-intro__images{ min-height: 360px; }
    .jmd-about-intro__img--lg{ width: 100%; height: 360px; }
    .jmd-mvv__grid{ grid-template-columns: 1fr; }
    .jmd-subbrands__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
    .jmd-about-intro{ padding: 3rem 0; }
    .jmd-mvv{ padding: 3rem 0; }
    .jmd-subbrands{ padding: 3rem 0; }
    .jmd-subbrands__grid{ grid-template-columns: 1fr; }
    .jmd-about-intro__content h2{ font-size: 1.75rem; }
    .jmd-section-head h2{ font-size: 1.75rem; }
    .jmd-about-intro__years{ padding: 1rem 1.25rem; }
    .jmd-about-intro__years strong{ font-size: 2rem; }
}

/* ===========================================================
 * Contact Page Form
 * =========================================================== */

.jmd-form{
    margin-top: 1rem;
}
.jmd-form__row{
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}
.jmd-form__row--two{
    grid-template-columns: 1fr 1fr;
}
.jmd-form__field{
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}
.jmd-form__field label{
    font-weight: 600;
    font-size: .9rem;
    color: var(--jmd-primary);
    margin-bottom: .35rem;
}
.jmd-form__field label span{
    color: var(--jmd-accent);
}
.jmd-form__field input,
.jmd-form__field select,
.jmd-form__field textarea{
    width: 100%;
    padding: .8rem 1rem;
    border: 1px solid #d1d5db;
    border-radius: 6px;
    font-size: .95rem;
    font-family: inherit;
    background: #fff;
    color: #1f2937;
    transition: border-color .2s, box-shadow .2s;
}
.jmd-form__field input:focus,
.jmd-form__field select:focus,
.jmd-form__field textarea:focus{
    outline: none;
    border-color: var(--jmd-accent);
    box-shadow: 0 0 0 3px rgba(233, 78, 27, 0.15);
}
.jmd-form__field textarea{
    resize: vertical;
    min-height: 130px;
}

/* Honeypot — must be visually hidden but accessible to bots */
.jmd-form__hp{
    position: absolute !important;
    left: -10000px !important;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Form messages */
.jmd-form-msg{
    padding: 1rem 1.25rem;
    border-radius: 6px;
    margin-bottom: 1.5rem;
    font-size: .95rem;
    display: flex;
    align-items: center;
    gap: .6rem;
}
.jmd-form-msg i{ font-size: 1.25rem; }
.jmd-form-msg--success{
    background: #ecfdf5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}
.jmd-form-msg--error{
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* Responsive form */
@media (max-width: 600px){
    .jmd-form__row--two{ grid-template-columns: 1fr; }
}

/* ===========================================================
 * Polish layer — enhanced form, banner, button, and animation styles
 * =========================================================== */

/* ---------- Page banners with image background ---------- */
.jmd-page-banner{
    position: relative;
    background: linear-gradient(135deg, rgba(15, 30, 70, 0.97), rgba(30, 58, 138, 0.95));
    color: #fff;
    padding: 5rem 0 4rem;
    text-align: center;
    overflow: hidden;
}
.jmd-page-banner::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 80% 50%, rgba(233, 78, 27, 0.25), transparent 60%),
        radial-gradient(circle at 20% 80%, rgba(255, 255, 255, 0.05), transparent 50%);
    pointer-events: none;
}
.jmd-page-banner > .jmd-container{
    position: relative;
    z-index: 1;
}
.jmd-page-banner h1{
    font-size: 2.75rem;
    margin: 0 0 .5rem;
    color: #fff;
    text-shadow: 0 2px 12px rgba(0, 0, 0, 0.3);
    line-height: 1.15;
}
.jmd-breadcrumb{
    color: rgba(255, 255, 255, 0.85);
    font-size: .95rem;
    margin: 0;
    letter-spacing: .02em;
}
.jmd-breadcrumb a{
    color: #fff;
    text-decoration: none;
    transition: color .2s;
}
.jmd-breadcrumb a:hover{ color: var(--jmd-accent); }
.jmd-breadcrumb span{
    margin: 0 .5rem;
    opacity: .6;
}
.jmd-page-banner__icon{
    display: inline-flex;
    width: 84px;
    height: 84px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.12);
    border: 2px solid rgba(255, 255, 255, 0.2);
    color: var(--jmd-accent);
    border-radius: 50%;
    font-size: 2rem;
    margin-bottom: 1.25rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* ---------- Hero slide text overlay ---------- */
.jmd-hero__overlay{
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
        rgba(15, 30, 70, 0.78) 0%,
        rgba(15, 30, 70, 0.55) 35%,
        rgba(15, 30, 70, 0.15) 65%,
        rgba(15, 30, 70, 0.05) 100%);
    pointer-events: none;
}
.jmd-hero__title{
    text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
    font-weight: 700;
    letter-spacing: -0.01em;
}
.jmd-hero__small{
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.4);
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    font-size: .9rem;
}

/* ---------- Form polish ---------- */
.jmd-contact-form{
    background: #fff;
    padding: 2.5rem;
    border-radius: var(--jmd-radius);
    box-shadow: 0 10px 40px rgba(15, 30, 70, 0.08);
    border: 1px solid #f1f5f9;
}
.jmd-form__field input,
.jmd-form__field select,
.jmd-form__field textarea{
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    transition: all .25s ease;
    font-weight: 400;
}
.jmd-form__field input:hover,
.jmd-form__field select:hover,
.jmd-form__field textarea:hover{
    border-color: #cbd5e1;
    background: #fff;
}
.jmd-form__field input:focus,
.jmd-form__field select:focus,
.jmd-form__field textarea:focus{
    background: #fff;
    border-color: var(--jmd-accent);
    box-shadow: 0 0 0 4px rgba(233, 78, 27, 0.12);
    transform: translateY(-1px);
}
.jmd-form__field label{
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: .78rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: .5rem;
}
.jmd-form__field label span{
    color: var(--jmd-accent);
    margin-left: 2px;
}
.jmd-form__field select{
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-color: #f8fafc;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='8'%20viewBox='0%200%2012%208'%3E%3Cpath%20fill='%23475569'%20d='M6%208L0%200h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 12px 8px;
    padding-right: 2.5rem;
}
.jmd-form__field select:hover,
.jmd-form__field select:focus{
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='12'%20height='8'%20viewBox='0%200%2012%208'%3E%3Cpath%20fill='%23E94E1B'%20d='M6%208L0%200h12z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 12px 8px;
}

/* Polished submit button */
.jmd-form .jmd-btn{
    margin-top: 1rem;
    box-shadow: 0 6px 20px rgba(233, 78, 27, 0.3);
    transition: all .3s ease;
    font-weight: 700;
    letter-spacing: 0.03em;
}
.jmd-form .jmd-btn:hover{
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(233, 78, 27, 0.4);
}
.jmd-form .jmd-btn:active{ transform: translateY(0); }

/* Form messages with slide-in */
.jmd-form-msg{
    animation: jmdSlideDown .4s ease-out;
}
@keyframes jmdSlideDown{
    from{ opacity: 0; transform: translateY(-10px); }
    to{ opacity: 1; transform: translateY(0); }
}

/* ---------- Button polish ---------- */
.jmd-btn{
    transition: all .25s cubic-bezier(.4, 0, .2, 1);
    position: relative;
    overflow: hidden;
}
.jmd-btn::after{
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    transform: translate(-50%, -50%);
    transition: width .5s, height .5s;
    pointer-events: none;
}
.jmd-btn:hover::after{
    width: 300px;
    height: 300px;
}
.jmd-btn--primary:hover{
    background: var(--jmd-primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(30, 58, 138, 0.35);
}
.jmd-btn--accent:hover{
    background: var(--jmd-accent);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(233, 78, 27, 0.4);
}

/* ---------- Service card polish (homepage grid) ---------- */
.jmd-service-card{
    transition: all .35s cubic-bezier(.4, 0, .2, 1);
    overflow: hidden;
    position: relative;
}
.jmd-service-card__image{
    overflow: hidden;
}
.jmd-service-card__image img{
    transition: transform .6s cubic-bezier(.4, 0, .2, 1);
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.jmd-service-card:hover .jmd-service-card__image img{
    transform: scale(1.08);
}
.jmd-service-card:hover{
    transform: translateY(-6px);
    box-shadow: 0 20px 40px rgba(15, 30, 70, 0.15);
}

/* ---------- Section animations ---------- */
.jmd-section-fade{
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .8s ease, transform .8s ease;
}
.jmd-section-fade.is-visible{
    opacity: 1;
    transform: translateY(0);
}

/* ---------- Smooth scrollbar (webkit) ---------- */
::-webkit-scrollbar{ width: 10px; }
::-webkit-scrollbar-track{ background: #f1f5f9; }
::-webkit-scrollbar-thumb{
    background: linear-gradient(180deg, var(--jmd-primary), #142861);
    border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover{
    background: var(--jmd-accent);
}

/* ---------- Selection color ---------- */
::selection{
    background: var(--jmd-accent);
    color: #fff;
}
::-moz-selection{
    background: var(--jmd-accent);
    color: #fff;
}

/* ---------- Lead text styling ---------- */
.jmd-lead{
    font-size: 1.15rem;
    line-height: 1.7;
    color: #4b5563;
    font-weight: 400;
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    background: linear-gradient(90deg, rgba(233, 78, 27, 0.08), transparent);
    border-left: 4px solid var(--jmd-accent);
    border-radius: 4px;
}

/* ---------- Image float for content ---------- */
.jmd-page__thumb{
    margin-bottom: 2rem;
    border-radius: var(--jmd-radius);
    overflow: hidden;
    box-shadow: 0 10px 30px rgba(15, 30, 70, 0.12);
}
.jmd-page__thumb img{
    width: 100%;
    height: auto;
    display: block;
}

/* ---------- Sidebar polish (single service) ---------- */
.jmd-page__sidebar .jmd-widget{
    background: #fff;
    border-radius: var(--jmd-radius);
    padding: 1.75rem;
    margin-bottom: 1.5rem;
    box-shadow: 0 4px 20px rgba(15, 30, 70, 0.06);
    border: 1px solid #f1f5f9;
}
.jmd-page__sidebar .widget-title{
    font-size: 1.1rem;
    color: var(--jmd-primary);
    margin: 0 0 1rem;
    padding-bottom: .75rem;
    border-bottom: 2px solid #f1f5f9;
    position: relative;
}
.jmd-page__sidebar .widget-title::after{
    content: "";
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 40px;
    height: 2px;
    background: var(--jmd-accent);
}
.jmd-side-services li{
    list-style: none;
    margin-bottom: .35rem;
}
.jmd-side-services a{
    display: flex;
    align-items: center;
    padding: .7rem .9rem;
    background: #f8fafc;
    border-radius: 6px;
    text-decoration: none;
    color: #334155;
    font-size: .9rem;
    transition: all .25s;
    gap: .6rem;
}
.jmd-side-services a:hover{
    background: var(--jmd-primary);
    color: #fff;
    transform: translateX(4px);
}
.jmd-side-services a:hover .jmd-side-services__arrow{ color: #fff; }
.jmd-side-services li.is-active a{
    background: var(--jmd-primary);
    color: #fff;
}
.jmd-side-services__arrow{
    margin-left: auto;
    color: #94a3b8;
    font-size: .8rem;
    transition: transform .2s;
}
.jmd-side-services a:hover .jmd-side-services__arrow{
    transform: translateX(4px);
}

.jmd-widget--contact p{
    display: flex;
    align-items: flex-start;
    gap: .6rem;
    margin: 0 0 .8rem;
    font-size: .9rem;
    line-height: 1.55;
}
.jmd-widget--contact p i{
    color: var(--jmd-accent);
    margin-top: 4px;
    width: 18px;
}
.jmd-widget--contact a{
    color: #475569;
    text-decoration: none;
}
.jmd-widget--contact a:hover{ color: var(--jmd-accent); }

/* ---------- Section title polish ---------- */
.jmd-section-title{
    font-size: 1.75rem;
    color: var(--jmd-primary);
    margin: 0 0 .5rem;
    line-height: 1.25;
}

/* ---------- Contact map polish ---------- */
.jmd-contact-map{
    border-radius: var(--jmd-radius);
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(15, 30, 70, 0.1);
    min-height: 420px;
}

/* ---------- Responsive form polish ---------- */
@media (max-width: 880px){
    .jmd-page-banner{ padding: 3.5rem 0 2.75rem; }
    .jmd-page-banner h1{ font-size: 2rem; }
    .jmd-contact-form{ padding: 1.75rem; }
}
@media (max-width: 600px){
    .jmd-page-banner h1{ font-size: 1.75rem; }
    .jmd-contact-form{ padding: 1.25rem; }
    .jmd-page-banner__icon{ width: 64px; height: 64px; font-size: 1.5rem; }
}

/* ===========================================================
 * Process — homepage methodology section
 * =========================================================== */
.jmd-process{
    padding: 5rem 0;
    background:
        linear-gradient(135deg, rgba(248, 250, 252, 1), rgba(241, 245, 249, 1)),
        url('../images/about-hero.jpg') center/cover no-repeat;
    background-blend-mode: multiply;
    position: relative;
}
.jmd-process::before{
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 5% 5%, rgba(233, 78, 27, 0.04), transparent 35%),
        radial-gradient(circle at 95% 95%, rgba(30, 58, 138, 0.04), transparent 35%);
    pointer-events: none;
}
.jmd-process > .jmd-container{ position: relative; z-index: 1; }

.jmd-process__grid{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5rem;
    margin-top: 1rem;
    counter-reset: process-step;
}
.jmd-process__step{
    background: #fff;
    padding: 2.25rem 1.75rem 2rem;
    border-radius: var(--jmd-radius);
    box-shadow: 0 6px 24px rgba(15, 30, 70, 0.06);
    border: 1px solid #f1f5f9;
    text-align: center;
    position: relative;
    transition: all .35s cubic-bezier(.4, 0, .2, 1);
    overflow: hidden;
}
.jmd-process__step::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--jmd-primary), var(--jmd-accent));
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .4s ease;
}
.jmd-process__step:hover{
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(15, 30, 70, 0.14);
}
.jmd-process__step:hover::before{ transform: scaleX(1); }
.jmd-process__num{
    position: absolute;
    top: 14px;
    right: 18px;
    font-family: 'Montserrat', sans-serif;
    font-size: 3rem;
    font-weight: 800;
    color: rgba(30, 58, 138, 0.07);
    line-height: 1;
    letter-spacing: -0.02em;
    transition: color .3s;
}
.jmd-process__step:hover .jmd-process__num{
    color: rgba(233, 78, 27, 0.12);
}
.jmd-process__icon{
    display: inline-flex;
    width: 70px;
    height: 70px;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--jmd-primary), #2c4ba8);
    color: #fff;
    border-radius: 50%;
    font-size: 1.4rem;
    margin-bottom: 1.25rem;
    transition: all .35s;
    box-shadow: 0 6px 18px rgba(30, 58, 138, 0.25);
}
.jmd-process__step:hover .jmd-process__icon{
    background: linear-gradient(135deg, var(--jmd-accent), #f97316);
    box-shadow: 0 8px 22px rgba(233, 78, 27, 0.35);
    transform: scale(1.05);
}
.jmd-process__step h3{
    margin: 0 0 .65rem;
    font-size: 1.15rem;
    color: var(--jmd-primary);
}
.jmd-process__step p{
    margin: 0;
    color: #4b5563;
    font-size: .9rem;
    line-height: 1.6;
}

/* Connecting dots between steps (desktop only) */
@media (min-width: 1025px){
    .jmd-process__grid{ position: relative; }
    .jmd-process__step:not(:last-child)::after{
        content: "";
        position: absolute;
        top: 56px;
        right: -12px;
        width: 24px;
        height: 2px;
        background: repeating-linear-gradient(90deg,
            var(--jmd-accent) 0 4px, transparent 4px 8px);
        opacity: .4;
        z-index: 0;
    }
}

@media (max-width: 1024px){
    .jmd-process__grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px){
    .jmd-process__grid{ grid-template-columns: 1fr; gap: 1rem; }
    .jmd-process{ padding: 3.5rem 0; }
}
