:root{
  --accent:#C0342B; --accent-dark:#9E2A22; --dark:#1E2A44; --dark-2:#17203a;
  --accent-pale:#E9938C; --accent-soft:#fbecea;
  /* type scale - ten deliberate steps */
  --fs-label:12px; --fs-xs:13px;  --fs-sm:14px;  --fs-base:16px; --fs-md:18px;
  --fs-lg:20px;    --fs-xl:26px;  --fs-2xl:32px; --fs-3xl:38px;  --fs-4xl:46px;
  --ink:#1E3A5F; --slate:#5b6670; --line:#e7eaec; --bg:#ffffff; --bg-soft:#f6f7f8;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:#334155;line-height:1.65;background:var(--bg)}
body.loading{overflow:hidden}
h1,h2,h3,h4,h5{color:var(--ink);font-weight:700;line-height:1.2;letter-spacing:-.01em}
h1,.hero h1,.banner h1,.section-head h2,.split h2,.cta h2{letter-spacing:-.022em}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.eyebrow{font-size:var(--fs-label);letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:600}
.btn{display:inline-block;background:var(--accent);color:#fff;font-size:var(--fs-sm);font-weight:600;padding:13px 26px;border-radius:8px;transition:.2s;border:none;cursor:pointer}
.btn:hover{background:var(--accent-dark)}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.1)}
.btn-outline{background:transparent;border:1px solid var(--accent);color:var(--accent)}
.btn-outline:hover{background:var(--accent);color:#fff}
.section{padding:80px 0}
.center{text-align:center}
.section-head{max-width:660px;margin:0 auto 46px}
.section-head h2{font-size:var(--fs-2xl);margin:10px 0}
.section-head p{color:var(--slate);font-size:var(--fs-base)}
.lead{color:var(--slate)}

/* PRELOADER */
#preloader{position:fixed;inset:0;z-index:9999;background:var(--dark);display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility .6s ease}
#preloader.hide{opacity:0;visibility:hidden}
.pl-box{display:flex;flex-direction:column;align-items:center;gap:24px}
.pl-spin{position:relative;width:118px;height:118px;display:flex;align-items:center;justify-content:center}
.pl-ring{position:absolute;inset:0;border:3px solid rgba(255,255,255,.12);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:plspin .9s linear infinite}
.pl-mono{background:#fff;padding:11px 15px;border-radius:11px;font-weight:800;font-size:var(--fs-md);letter-spacing:1px;color:var(--dark);animation:plpulse 1.5s ease-in-out infinite}
.pl-mono span{color:var(--accent)}
.pl-word{color:#cfd6dd;font-size:var(--fs-label);letter-spacing:4px;text-transform:uppercase}
.pl-bar{width:210px;height:4px;background:rgba(255,255,255,.14);border-radius:4px;overflow:hidden}
.pl-bar i{display:block;height:100%;width:42%;background:var(--accent);border-radius:4px;animation:plbar 1.15s cubic-bezier(.65,.05,.35,1) infinite}
@keyframes plspin{to{transform:rotate(360deg)}}
@keyframes plpulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
@keyframes plbar{0%{transform:translateX(-130%)}100%{transform:translateX(360%)}}

/* NAV */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.logo{display:flex;align-items:center;gap:10px;font-weight:800;font-size:var(--fs-lg);letter-spacing:.5px}
.logo img{height:38px;width:auto}
.logo .mk{color:var(--accent)}.logo .tech{color:var(--ink)}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-links a{font-size:var(--fs-sm);color:var(--slate);font-weight:500;transition:.2s}
.nav-links a:hover,.nav-links a.active{color:var(--accent)}
.menu-btn{display:none;background:none;border:none;font-size:var(--fs-xl);color:var(--ink);cursor:pointer}

/* HERO (home) */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--dark)}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.28}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(30,42,68,.96) 0%,rgba(30,42,68,.82) 55%,rgba(192,52,43,.55) 130%)}
.hero-inner{position:relative;padding:110px 0 90px}
.hero h1{color:#fff;font-size:var(--fs-4xl);max-width:720px;margin:16px 0 18px}
.hero p{font-size:var(--fs-md);color:#d3d9df;max-width:600px;margin-bottom:30px}
.hero .eyebrow{color:#E9938C}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.stats{display:flex;gap:44px;margin-top:52px;flex-wrap:wrap}
.stat .num{font-size:var(--fs-2xl);font-weight:800;color:#E9938C}
.stat .lbl{font-size:var(--fs-xs);color:#aab2b8;letter-spacing:.3px}

/* PAGE BANNER (subpages) */
.banner{position:relative;color:#fff;background:var(--dark);overflow:hidden}
.banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.22}
.banner-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(30,42,68,.95),rgba(192,52,43,.5) 140%)}
.banner-inner{position:relative;padding:64px 0}
.banner h1{color:#fff;font-size:var(--fs-3xl);margin:8px 0 6px}
.banner p{color:#c9d0d7;max-width:620px}
.crumbs{font-size:var(--fs-xs);color:#9aa3ac}
.crumbs a:hover{color:#fff}

/* GRID + CARDS */
.grid{display:grid;gap:22px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:28px 26px;transition:.22s}
.card:hover{transform:translateY(-4px);box-shadow:0 16px 34px -18px rgba(30,42,68,.35);border-left-color:var(--dark)}
.card .ic{width:50px;height:50px;border-radius:12px;background:#fbecea;display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.card .ic svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:2}
.card h3{font-size:var(--fs-lg);margin-bottom:8px}
.card p{font-size:var(--fs-base);color:var(--slate)}
.card ul{list-style:none;margin-top:6px}
.card ul li{font-size:var(--fs-base);color:var(--slate);padding:4px 0 4px 20px;position:relative}
.card ul li:before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--accent);border-radius:50%}

.soft{background:var(--bg-soft)}

/* FEATURE ROWS */
.feat{display:flex;gap:14px;margin-bottom:16px}
.feat .fic{flex:none;width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.feat .fic svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2}
.feat h4{font-size:var(--fs-base);margin-bottom:2px}
.feat p{font-size:var(--fs-base);color:var(--slate)}

/* SPLIT */
.split{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;align-items:center}
.split h2{font-size:var(--fs-2xl);margin:10px 0 14px}
.media img{border-radius:16px;width:100%;height:420px;object-fit:cover}
.media{position:relative}
.media-badge{position:absolute;left:-18px;bottom:-18px;background:var(--accent);color:#fff;padding:18px 22px;border-radius:14px;box-shadow:0 18px 40px -16px rgba(192,52,43,.6)}
.media-badge .b1{font-size:var(--fs-xl);font-weight:800}
.media-badge .b2{font-size:var(--fs-label);opacity:.9}

/* STAT CARDS */
.statcards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.statcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;padding:24px 16px;text-align:center}
.statcard .n{font-size:var(--fs-2xl);font-weight:800;color:var(--accent)}
.statcard .l{font-size:var(--fs-xs);color:var(--slate);margin-top:4px}

/* VISION/MISSION */
.vm{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vmcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:28px}
.vmcard .h{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.vmcard .h svg{width:24px;height:24px;stroke:var(--accent);fill:none;stroke-width:2}
.vmcard h3{font-size:var(--fs-lg);color:var(--accent)}
.vmcard p{font-size:var(--fs-base);color:var(--slate)}
.values{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:22px}
.value{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px}
.value .vn{font-size:var(--fs-xl);font-weight:800;color:var(--accent);line-height:1}
.value h4{margin:8px 0 4px;font-size:var(--fs-base)}
.value p{font-size:var(--fs-xs);color:var(--slate)}

/* METHOD */
.method{background:var(--dark);color:#fff}
.method .section-head h2{color:#fff}
.method .section-head p{color:#aab2b8}
.method .eyebrow{color:#E9938C}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.step{position:relative;padding-top:12px}
.step .n{font-size:var(--fs-3xl);font-weight:800;color:rgba(233,147,140,.9);line-height:1}
.step h4{color:#fff;font-size:var(--fs-md);margin:10px 0 8px}
.step p{font-size:var(--fs-sm);color:#aab2b8}
.step:not(:last-child):after{content:"";position:absolute;top:20px;right:-14px;width:28px;height:2px;background:rgba(255,255,255,.15)}

/* INDUSTRIES */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ind{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 16px;text-align:center;transition:.2s}
.ind:hover{border-color:var(--accent);background:#fdf6f5;transform:translateY(-3px)}
.ind .iic{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:#fbecea;display:flex;align-items:center;justify-content:center}
.ind .iic svg{width:26px;height:26px;stroke:var(--accent);fill:none;stroke-width:2}
.ind span{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}
.ind small{display:block;color:var(--slate);font-size:var(--fs-sm);margin-top:6px;font-weight:400;line-height:1.45}

/* PARTNERS */
.partners{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
.partners span{border:1px solid var(--line);border-radius:10px;padding:14px 28px;background:#fff;transition:.2s;display:flex;align-items:center}
.partners span:hover{border-color:var(--accent);transform:translateY(-2px)}
.partners span img{height:30px;width:auto;display:block}
.pcards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;text-align:center;transition:.2s}
.pcard:hover{border-color:var(--accent);box-shadow:0 16px 34px -20px rgba(30,42,68,.3)}
.pcard img{height:38px;width:auto;margin:0 auto 16px;object-fit:contain}
.pcard p{font-size:var(--fs-xs);color:var(--slate);font-style:italic}

/* CLIENTS */
.client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.client{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;min-height:120px;padding:20px;transition:.2s}
.client img{height:56px;width:auto;max-width:100%;object-fit:contain;filter:grayscale(100%);opacity:.72;transition:.25s}
.client:hover img{filter:none;opacity:1}
.client:hover{border-color:var(--accent)}
.quote{max-width:760px;margin:40px auto 0;text-align:center;font-size:var(--fs-lg);color:var(--ink);font-style:italic;line-height:1.5}
.quote cite{display:block;margin-top:12px;font-size:var(--fs-sm);color:var(--accent);font-style:normal;font-weight:600}

/* TABLE */
.ref-table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.ref-table th{background:var(--accent);color:#fff;text-align:left;font-size:var(--fs-xs);font-weight:600;padding:12px 16px}
.ref-table td{padding:12px 16px;font-size:var(--fs-sm);border-bottom:1px solid var(--line);color:var(--slate)}
.ref-table td:first-child{color:var(--ink);font-weight:600}
.ref-table tr:nth-child(even) td{background:#fafafa}

/* CTA BAND */
.cta{position:relative;color:#fff;overflow:hidden;background:var(--dark);text-align:center}
.cta-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.18}
.cta-overlay{position:absolute;inset:0;background:linear-gradient(120deg,rgba(30,42,68,.94),rgba(192,52,43,.6) 140%)}
.cta-inner{position:relative;padding:64px 24px}
.cta h2{color:#fff;font-size:var(--fs-2xl);margin-bottom:10px}
.cta p{color:#cdd4db;max-width:520px;margin:0 auto 22px}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}
.cinfo{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start}
.cinfo .cic{flex:none;width:44px;height:44px;border-radius:10px;background:#fbecea;display:flex;align-items:center;justify-content:center}
.cinfo .cic svg{width:20px;height:20px;stroke:var(--accent);fill:none;stroke-width:2}
.cinfo b{color:var(--ink);font-size:var(--fs-base)}
.cinfo p{font-size:var(--fs-sm);color:var(--slate)}
form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px}
.field{margin-bottom:16px}
.field label{display:block;font-size:var(--fs-xs);font-weight:600;color:var(--ink);margin-bottom:6px}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-family:inherit;font-size:var(--fs-sm);color:#334155;transition:.2s;background:#fff}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(192,52,43,.12)}
.field textarea{resize:vertical;min-height:96px}

/* FOOTER */
footer{background:var(--dark-2);color:#c1c8cd;padding:56px 0 26px}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.2fr;gap:34px;margin-bottom:36px}
.foot h5{color:#fff;font-size:var(--fs-base);margin-bottom:14px;font-weight:600}
.foot p,.foot a{font-size:var(--fs-sm);color:#aab2b8;line-height:1.9}
.foot a:hover{color:#fff}
.foot .brand{font-size:var(--fs-lg);font-weight:800;margin-bottom:12px}
.foot .brand .mk{color:var(--accent)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:var(--fs-xs);color:#8b939b}
.wa{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px -8px rgba(37,211,102,.7);z-index:60}
.wa svg{width:30px;height:30px;fill:#fff}

.reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.2,.7,.3,1)}
.reveal.on{opacity:1;transform:none}

@media(max-width:920px){
  .g3,.g4,.ind-grid,.client-grid,.statcards,.values,.pcards{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .split,.vm,.contact-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .media img{height:320px}
  .step:after{display:none}
  .hero h1{font-size:var(--fs-3xl)}
  .nav-links{position:absolute;top:70px;left:0;right:0;background:#fff;flex-direction:column;gap:0;border-bottom:1px solid var(--line);max-height:0;overflow:hidden;transition:.3s}
  .nav-links.open{max-height:520px}
  .nav-links a{padding:14px 24px;width:100%;border-bottom:1px solid var(--line)}
  .nav-links .btn{margin:14px 24px}
  .menu-btn{display:block}
}
@media(max-width:560px){
  .g3,.g4,.ind-grid,.client-grid,.statcards,.values,.pcards,.steps,.g2{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .hero h1{font-size:var(--fs-2xl)}.section{padding:56px 0}.stats{gap:28px}
}

/* ---- top info bar ---- */
.topbar{background:var(--dark-2);color:#aab2b8;font-size:var(--fs-xs)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;height:38px}
.tb-left{display:flex;gap:20px;align-items:center}
.tb-left a,.tb-hours{display:inline-flex;align-items:center;gap:6px;color:#c1c8cd}
.tb-left a:hover{color:#fff}
.tb-left svg{width:14px;height:14px;stroke:var(--accent);fill:none;stroke-width:2}
.tb-right{display:flex;gap:10px;align-items:center}
.tb-right a:hover{color:#fff}
@media(max-width:760px){.tb-hours,.tb-right{display:none}.tb-left{gap:14px}.topbar-in{justify-content:center}}
@media(max-width:420px){.tb-left a span,.tb-left a{font-size:var(--fs-label)}}
/* ---- map ---- */
.map-sec{line-height:0}
.map-sec iframe{width:100%;height:380px;border:0;filter:grayscale(.15)}

/* ==================================================================
   WORDPRESS + ELEMENTOR ADDITIONS (v2.0)
   ================================================================== */

/* --- accessibility --- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;left:16px;top:16px;z-index:10000;width:auto;height:auto;clip:auto;background:var(--accent);color:#fff;padding:12px 20px;border-radius:8px;font-weight:600}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}

/* --- prose: normal WordPress editor content --- */
.mk-prose{max-width:780px;margin:0 auto;font-size:var(--fs-base);color:#334155}
.mk-prose > * + *{margin-top:20px}
.mk-prose h2{font-size:var(--fs-xl);margin-top:38px}
.mk-prose h3{font-size:var(--fs-lg);margin-top:30px}
.mk-prose ul,.mk-prose ol{padding-left:22px}
.mk-prose li{margin:6px 0}
.mk-prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.mk-prose img,.mk-prose iframe{border-radius:12px}
.mk-prose blockquote{border-left:4px solid var(--accent);padding:6px 0 6px 22px;font-style:italic;color:var(--ink)}
.mk-prose table{width:100%;border-collapse:collapse;font-size:var(--fs-base)}
.mk-prose th{background:var(--accent);color:#fff;text-align:left;padding:11px 15px}
.mk-prose td{padding:11px 15px;border-bottom:1px solid var(--line)}
.mk-prose code{background:var(--bg-soft);padding:2px 6px;border-radius:5px;font-size:var(--fs-sm)}
.mk-prose pre{background:var(--dark-2);color:#e6ebf1;padding:18px 20px;border-radius:12px;overflow:auto;font-size:var(--fs-sm)}
.mk-prose pre code{background:none;padding:0;color:inherit}

/* --- blog cards --- */
.mk-posts .mk-post-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border-radius:0 12px 12px 0}
.mk-post-thumb{display:block;overflow:hidden}
.mk-post-thumb img{width:100%;height:190px;object-fit:cover;transition:.3s}
.mk-post-card:hover .mk-post-thumb img{transform:scale(1.05)}
.mk-post-meta{font-size:var(--fs-label);letter-spacing:1.2px;text-transform:uppercase;color:var(--accent);font-weight:600;padding:22px 24px 0}
.mk-post-card h3{font-size:var(--fs-lg);padding:8px 24px 0;line-height:1.35}
.mk-post-card h3 a:hover{color:var(--accent)}
.mk-post-card > p{font-size:var(--fs-sm);color:var(--slate);padding:10px 24px 0;flex:1}
.mk-more{display:inline-block;padding:16px 24px 24px;font-size:var(--fs-sm);font-weight:600;color:var(--accent)}
.mk-more:hover{gap:8px;opacity:.8}

/* --- pagination --- */
.mk-pagination{margin-top:44px;text-align:center}
.mk-pagination .page-numbers{display:inline-block;min-width:42px;padding:10px 14px;margin:0 4px;border:1px solid var(--line);border-radius:9px;font-size:var(--fs-sm);font-weight:600;color:var(--slate);background:#fff;transition:.2s}
.mk-pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent)}
.mk-pagination .page-numbers.current{background:var(--accent);border-color:var(--accent);color:#fff}
.mk-pagination .screen-reader-text{display:none}

/* --- post navigation + tags --- */
.mk-postnav{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;max-width:780px;margin:44px auto 0;padding-top:26px;border-top:1px solid var(--line);font-size:var(--fs-sm);font-weight:600}
.mk-postnav a{color:var(--slate)}
.mk-postnav a:hover{color:var(--accent)}
.mk-tags{max-width:780px;margin:30px auto 0;font-size:var(--fs-xs);color:var(--slate)}
.mk-tags a{display:inline-block;background:var(--bg-soft);border:1px solid var(--line);border-radius:20px;padding:5px 13px;margin:0 6px 6px 0;color:var(--slate)}
.mk-tags a:hover{border-color:var(--accent);color:var(--accent)}

/* --- empty states + search --- */
.mk-empty{text-align:center;max-width:820px;margin:0 auto}
.mk-empty h2{font-size:var(--fs-xl);margin-bottom:10px}
.mk-search{display:flex;gap:10px;max-width:460px;margin:0 auto}
.mk-search input{flex:1;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-family:inherit;font-size:var(--fs-sm)}
.mk-search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(192,52,43,.12)}

/* --- built-in contact form --- */
.mk-form{background:#fff;border:1px solid var(--line);border-radius:16px;padding:30px}
.mk-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mk-msg{font-size:var(--fs-sm);font-weight:600;padding:13px 16px;border-radius:10px;margin-bottom:20px}
.mk-ok{background:#e8f7ef;color:#12734a;border:1px solid #b6e6cd}
.mk-err{background:#fdecea;color:#a32820;border:1px solid #f3c3bf}

/* --- comments --- */
.comment-list{list-style:none;max-width:780px;margin:40px auto 0}
.comment-list li{border-top:1px solid var(--line);padding:22px 0}
.comment-list .comment-author{font-weight:600;color:var(--ink);font-size:var(--fs-base)}
.comment-list .comment-meta{font-size:var(--fs-xs);color:var(--slate);margin-bottom:8px}
.comment-respond{max-width:780px;margin:40px auto 0}
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 14px;font-family:inherit;font-size:var(--fs-sm);margin-bottom:14px}
.comment-respond .submit{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:13px 26px;font-weight:600;font-size:var(--fs-sm);cursor:pointer}

/* ==================================================================
   ELEMENTOR HELPERS
   Add these class names in any Elementor widget's Advanced > CSS Classes
   box to pick up the matching MKTech styling.
   ================================================================== */

/* mk-iconbox : service / feature card with the red left edge */
.mk-iconbox{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:28px 26px;height:100%;transition:.22s}
.mk-iconbox:hover{transform:translateY(-4px);box-shadow:0 16px 34px -18px rgba(30,42,68,.35);border-left-color:var(--dark)}
.mk-iconbox .elementor-icon-box-title{font-size:var(--fs-lg);margin-bottom:8px}
.mk-iconbox .elementor-icon-box-description{font-size:var(--fs-sm);color:var(--slate)}
.mk-iconbox .elementor-icon{font-size:var(--fs-xl)}

/* mk-tile : centred tile used on the Industries grid */
.mk-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 16px;text-align:center;height:100%;transition:.2s}
.mk-tile:hover{border-color:var(--accent);background:var(--accent-soft,#fdf6f5);transform:translateY(-3px)}

/* mk-statcard : number card with the red top edge */
.mk-statcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;padding:24px 16px;text-align:center;height:100%}

/* mk-vmcard : vision / mission panel */
.mk-vmcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:28px;height:100%}

/* mk-logos : greyscale client / vendor logo grid that colours on hover */
.mk-logos .gallery-item,.mk-logos figure{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;min-height:120px;padding:18px;transition:.2s;margin:0}
.mk-logos img{max-height:56px;width:auto!important;object-fit:contain;filter:grayscale(100%);opacity:.72;transition:.25s}
.mk-logos .gallery-item:hover,.mk-logos figure:hover{border-color:var(--accent)}
.mk-logos .gallery-item:hover img,.mk-logos figure:hover img{filter:none;opacity:1}

/* mk-quote : centred testimonial */
.mk-quote{max-width:760px;margin:0 auto;text-align:center;font-size:var(--fs-lg);color:var(--ink);font-style:italic;line-height:1.5}
.mk-quote cite{display:block;margin-top:12px;font-size:var(--fs-sm);color:var(--accent);font-style:normal;font-weight:600}

/* mk-step : numbered methodology step on a dark section */
.mk-step .n{font-size:var(--fs-3xl);font-weight:800;color:var(--accent-pale,#E9938C);line-height:1}
.mk-step h4{color:#fff;font-size:var(--fs-md);margin:10px 0 8px}
.mk-step p{font-size:var(--fs-sm);color:#aab2b8}

/* mk-dark : force light text inside a dark Elementor section */
.mk-dark,.mk-dark h1,.mk-dark h2,.mk-dark h3,.mk-dark h4{color:#fff}
.mk-dark p,.mk-dark li{color:#aab2b8}

/* Elementor sections should sit flush with the theme header/footer */
.elementor-section.mk-flush{margin:0}

/* --- Elementor widget classes used by the imported page templates --- */
.mk-eyebrow{font-size:var(--fs-label);letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-weight:600}

.mk-card{background:#fff;border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:26px 24px;height:100%;transition:.22s}
.mk-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px -18px rgba(30,42,68,.35);border-left-color:var(--dark)}
.mk-card h3{font-size:var(--fs-lg);margin-bottom:8px;color:var(--ink)}
.mk-card p{font-size:var(--fs-base);color:var(--slate)}
.mk-card ul{list-style:none;margin:6px 0 0;padding:0}
.mk-card ul li{font-size:var(--fs-base);color:var(--slate);padding:4px 0 4px 20px;position:relative}
.mk-card ul li:before{content:"";position:absolute;left:0;top:11px;width:7px;height:7px;background:var(--accent);border-radius:50%}

.mk-statcard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:10px;padding:24px 16px;text-align:center;height:100%}
.mk-statcard .n{font-size:var(--fs-2xl);font-weight:800;color:var(--accent);line-height:1.1}
.mk-statcard .l{font-size:var(--fs-xs);color:var(--slate);margin-top:4px}

.mk-value{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px;height:100%}
.mk-value .vn{font-size:var(--fs-xl);font-weight:800;color:var(--accent);line-height:1}
.mk-value h4{margin:8px 0 4px;font-size:var(--fs-base);color:var(--ink)}
.mk-value p{font-size:var(--fs-xs);color:var(--slate)}

.mk-vmcard{background:#fff;border:1px solid var(--line);border-top:4px solid var(--accent);border-radius:12px;padding:28px;height:100%}
.mk-vmcard h3{font-size:var(--fs-lg);color:var(--accent);margin-bottom:10px}
.mk-vmcard p{font-size:var(--fs-base);color:var(--slate)}

.mk-step .n{font-size:var(--fs-3xl);font-weight:800;color:var(--accent-pale,#E9938C);line-height:1}
.mk-step h4{color:#fff;font-size:var(--fs-md);margin:10px 0 8px}
.mk-step p{font-size:var(--fs-sm);color:#aab2b8}

.mk-tile.elementor-widget-icon-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 16px;height:100%;transition:.2s}
.mk-tile.elementor-widget-icon-box:hover{border-color:var(--accent);transform:translateY(-3px)}
.mk-tile .elementor-icon-box-title{font-size:var(--fs-base);color:var(--ink)}
.mk-tile .elementor-icon-box-description{font-size:var(--fs-xs);color:var(--slate);margin-top:4px}

.mk-logo-item .elementor-widget-container{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;justify-content:center;min-height:118px;padding:18px;transition:.2s}
.mk-logo-item img{max-height:56px;width:auto!important;object-fit:contain;filter:grayscale(100%);opacity:.72;transition:.25s}
.mk-logo-item:hover .elementor-widget-container{border-color:var(--accent)}
.mk-logo-item:hover img{filter:none;opacity:1}

.mk-pcard .elementor-widget-container{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;text-align:center;height:100%;transition:.2s}
.mk-pcard:hover .elementor-widget-container{border-color:var(--accent);box-shadow:0 16px 34px -20px rgba(30,42,68,.3)}
.mk-pcard img{max-height:38px;width:auto!important;margin:0 auto 16px;object-fit:contain}
.mk-pcard .elementor-image-box-description{font-size:var(--fs-xs);color:var(--slate);font-style:italic}

.mk-cinfo .elementor-icon-box-title{font-size:var(--fs-base);color:var(--ink);margin-bottom:2px}
.mk-cinfo .elementor-icon-box-description{font-size:var(--fs-sm);color:var(--slate)}
.mk-cinfo .elementor-icon{font-size:var(--fs-lg)}

.mk-table table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mk-table th{background:var(--accent);color:#fff;text-align:left;font-size:var(--fs-xs);font-weight:600;padding:12px 16px}
.mk-table td{padding:12px 16px;font-size:var(--fs-sm);border-bottom:1px solid var(--line);color:var(--slate)}
.mk-table td:first-child{color:var(--ink);font-weight:600}
.mk-table tr:nth-child(even) td{background:#fafafa}
.mk-table{overflow-x:auto}

.mk-quote{max-width:760px;margin:0 auto;text-align:center;font-size:var(--fs-lg);color:var(--ink);font-style:italic;line-height:1.5}
.mk-quote cite{display:block;margin-top:12px;font-size:var(--fs-sm);color:var(--accent);font-style:normal;font-weight:600}

/* keep cards in a row the same height */
.elementor-column .elementor-widget-wrap{align-content:flex-start}
.mk-card,.mk-statcard,.mk-value,.mk-vmcard{display:block}

/* mk-feature : compact icon + text row used in the "Why MKTech" block */
.mk-feature .elementor-icon-box-wrapper{align-items:flex-start}
.mk-feature .elementor-icon-box-icon{margin-right:14px}
.mk-feature .elementor-icon{width:40px;height:40px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:var(--fs-md)}
.mk-feature .elementor-icon-box-title{font-size:var(--fs-base);color:var(--ink);margin-bottom:2px}
.mk-feature .elementor-icon-box-description{font-size:var(--fs-sm);color:var(--slate)}
.mk-feature{margin-bottom:2px}

/* --- Client login link (top bar) --- */
.tb-login{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,255,255,.22);border-radius:6px;padding:4px 11px;color:#e4e9ee!important;font-weight:600;transition:.2s}
.tb-login:hover{background:var(--accent);border-color:var(--accent);color:#fff!important}
.tb-login svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2}
.tb-right{gap:12px}

/* the login link repeats inside the mobile menu, where the top bar is hidden */
.nav-login{display:none}
@media(max-width:920px){
  .nav-login{display:block;font-weight:600;color:var(--accent)!important}
}

/* --- Elementor accordion (mk-acc) -----------------------------------
   Used instead of a long run of identical cards. Elementor keeps the
   collapsed copy in the DOM, so it stays indexable. */
.mk-acc .elementor-accordion-item{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.mk-acc .elementor-accordion-item + .elementor-accordion-item{margin-top:14px}
.mk-acc .elementor-tab-title{padding:20px 24px;font-weight:600;font-size:var(--fs-lg,20px);
  color:var(--ink);transition:.2s;border:0}
.mk-acc .elementor-tab-title:hover{background:var(--bg-soft)}
.mk-acc .elementor-tab-title.elementor-active{border-bottom:1px solid var(--line)}
.mk-acc .elementor-tab-content{padding:22px 24px 26px;border:0}
.mk-acc .acc-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 34px}
.mk-acc .acc-item h4{font-size:var(--fs-base,16px);color:var(--ink);margin-bottom:5px}
.mk-acc .acc-item p{font-size:var(--fs-base,16px);color:var(--slate);line-height:1.6;margin:0}
@media(max-width:760px){.mk-acc .acc-grid{grid-template-columns:1fr}}

/* --- Compact partner strip ------------------------------------------ */
.mk-pstrip .elementor-widget-container{border:1px solid var(--line);border-radius:10px;padding:12px 24px;
  background:#fff;display:flex;align-items:center;justify-content:center;transition:.2s}
.mk-pstrip img{max-height:26px;width:auto!important;filter:grayscale(100%);opacity:.7;transition:.25s}
.mk-pstrip:hover .elementor-widget-container{border-color:var(--accent)}
.mk-pstrip:hover img{filter:none;opacity:1}

/* --- Response-time note beside the enquiry form ---------------------- */
.mk-resp .elementor-widget-container{background:var(--bg-soft);border:1px solid var(--line);
  border-radius:10px;padding:13px 16px;font-size:var(--fs-sm,14px);color:var(--slate)}
.mk-resp b{color:var(--ink)}
