/* Mexemai homepage: spacious, editorial engineering identity. */
.mex-redesign { --paper:#f7f8f4; --surface:#fff; --ink:#122723; --muted:#5a6865; --line:#dce4dd; --blue:#007cba; --lime:#cce87b; background:var(--paper); color:var(--ink); font-family:'Open Sans',Arial,sans-serif; font-weight:400; }
.mex-redesign.mex-theme-dark { --paper:#0d191b; --surface:#152427; --ink:#f0f4ec; --muted:#b0c1ba; --line:#304247; }
.mex-redesign .container { width: min(1280px, 100%); padding-inline:40px; }
.mex-redesign :is(h1,h2,h3,h4,.alt-font) { font-family:Arial,'Open Sans',sans-serif; letter-spacing:-.045em; }
.mex-redesign p { font-weight:400; line-height:1.75; }
.mex-redesign main > section:not(#home) { padding-block:110px !important; margin-bottom:0 !important; background:var(--paper); }
.mex-redesign :is(.text-dark-gray,.text-extra-dark-gray,.text-black) { color:var(--ink) !important; }
.mex-redesign .text-blue { color:var(--blue) !important; }
.mex-redesign .text-red { color:var(--ink) !important; }
.mex-redesign .btn { border-radius:6px; padding:15px 24px; font-size:14px; font-weight:600; letter-spacing:0; text-transform:none; min-height:50px; box-shadow:none; }
.mex-redesign .btn-blue { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.mex-redesign .btn-blue:hover { background:var(--blue); color:#fff; border-color:var(--blue); }
.mex-redesign .btn-white { color:var(--ink); background:transparent; border:1px solid var(--line); }
.mex-redesign .btn-white:hover { border-color:var(--ink); background:var(--surface); }
.mex-redesign header nav.navbar { background:#102329 !important; border:0; }
.mex-redesign header.header-appear nav.navbar.navbar-default { background:#102329 !important; box-shadow:0 5px 30px #00000015; }
.mex-redesign header nav .mex-header-row { min-height:84px; }
.mex-redesign header.header-appear nav.navbar.navbar-default ul.nav > li > a { color:#fff !important; }
.mex-redesign header.header-appear nav .logo .logo-dark { display:none !important; }
.mex-redesign header.header-appear nav .logo .logo-light { display:block !important; opacity:1 !important; visibility:visible !important; width:170px !important; }
.mex-redesign header nav .navbar-nav > li > a { font-size:11px; letter-spacing:.04em; }
.mex-redesign header .mex-header-quote { background:var(--lime); color:#142723 !important; border:0; box-shadow:none; border-radius:5px; }
.mex-redesign header .mex-header-quote:before { display:none; }
.mex-redesign header .mex-header-whatsapp { border-color:#ffffff40; }
.mex-redesign header :is(.mex-lang-switch,.mex-theme-toggle) { color:#fff !important; }
.mex-redesign:not(.mex-theme-dark) header.header-appear nav .logo .logo-dark { display:none !important; }
.mex-redesign:not(.mex-theme-dark) header.header-appear nav .logo .logo-light { display:block !important; opacity:1 !important; visibility:visible !important; width:170px !important; }
.mex-redesign header.header-appear .mex-lang-switch { background:#ffffff08; border-color:#ffffff30; }
.mex-redesign header .mex-lang-switch button { color:#fff !important; }
.mex-redesign header .mex-lang-switch button.active { color:#102329 !important; background:#fff; }
.mex-redesign .wow { visibility:visible !important; animation:none !important; opacity:1 !important; }
.mex-redesign header .showMenuButton-two.white-version .hamburger,
.mex-redesign header .showMenuButton-two.white-version .hamburger:before,
.mex-redesign header .showMenuButton-two.white-version .hamburger:after { background:#fff !important; }
.mex-redesign #home { padding-top:84px !important; }
.mex-redesign .mex-home-hero { min-height:0; padding:85px 0 94px; background:var(--paper); overflow:hidden; }
.mex-redesign .mex-home-hero:before { display:none; }
.mex-redesign .mex-hero-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:70px; align-items:center; }
.mex-redesign .mex-hero-layout:before,.mex-redesign .mex-hero-layout:after,
.mex-redesign #features > .container > .row:before,.mex-redesign #features > .container > .row:after,
.mex-redesign #contact > .container > .row:first-child:before,.mex-redesign #contact > .container > .row:first-child:after { display:none; }
.mex-redesign .mex-hero-copy { max-width:100%; color:var(--ink); }
.mex-redesign .mex-hero-copy .mex-hero-eyebrow { display:flex; align-items:center; gap:10px; color:var(--muted); font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; margin:0 0 30px; }
.mex-redesign .mex-hero-eyebrow:before { content:''; height:7px; width:7px; flex-shrink:0; background:var(--blue); border-radius:50%; }
.mex-redesign .mex-hero-copy h1 { font-size:clamp(42px,5.1vw,74px); font-weight:500; line-height:1.05; color:var(--ink); margin:0 0 28px; letter-spacing:-.055em; }
.mex-redesign .mex-hero-copy > p:not(.mex-hero-eyebrow) { color:var(--muted); font-size:16px; line-height:1.85; max-width:440px; margin:0 0 32px; }
.mex-redesign .mex-hero-actions { gap:12px; }
.mex-hero-visual { position:relative; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); box-shadow:0 28px 65px #1729250c; min-width:0; }
.mex-visual-top { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:9px; letter-spacing:.08em; font-weight:700; margin-bottom:18px; color:var(--muted); }
.mex-visual-top > span:first-child { display:flex; align-items:center; gap:7px; }
.mex-live-dot { display:inline-block; width:6px; height:6px; border-radius:50%; background:#309568; box-shadow:0 0 0 3px #30956818; }
.mex-visual-image { border-radius:6px; overflow:hidden; aspect-ratio:1.12; background:#071b2b; }
.mex-visual-image img { width:100%; height:100%; object-fit:cover; display:block; }
.mex-visual-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; padding-top:18px; font-size:14px; font-weight:600; }
.mex-visual-caption a { display:grid; place-items:center; border:1px solid var(--line); width:34px; height:34px; border-radius:50%; font-size:22px; color:var(--ink); }
.mex-visual-label { position:absolute; inset:auto auto 85px -28px; display:flex; align-items:center; gap:10px; background:var(--lime); padding:13px 18px; font-size:11px; color:#172b25; font-weight:700; border-radius:5px; box-shadow:0 8px 20px #00000015; }
.mex-visual-label svg { width:18px; height:18px; }
.mex-capability-strip { border-block:1px solid var(--line); background:var(--surface); }
.mex-capability-strip .container { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:80px; font-size:12px; font-weight:600; }
.mex-capability-strip i { font-style:normal; color:#7e9587; font-size:20px; }
.mex-redesign #features { border-bottom:1px solid var(--line); }
.mex-redesign #features > .container > .row { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin:0; }
.mex-redesign #features .row > div { width:auto; float:none; padding:0; }
.mex-feature-visual { display:flex; flex-direction:column; align-items:flex-start; min-height:360px; padding:38px; border-radius:8px; background:#e9efe7; color:#203d32; position:relative; overflow:hidden; }
.mex-feature-visual:after { content:'✳'; position:absolute; right:20px; bottom:35px; color:#cadaab; font-size:200px; line-height:1; }
.mex-section-label { font-size:10px; letter-spacing:.15em; font-weight:700; }
.mex-feature-type { font:500 clamp(38px,4vw,60px)/1.02 Arial,sans-serif; letter-spacing:-.05em; margin:38px 0 30px; position:relative; z-index:1; }
.mex-feature-type em { font-family:Georgia,serif; font-weight:400; }
.mex-feature-foot { display:flex; align-items:center; gap:12px; font-size:11px; position:relative; z-index:1; }
.mex-feature-foot svg { width:18px; height:18px; }
.mex-redesign .area-title { font-size:clamp(30px,3.4vw,46px); line-height:1.12; font-weight:500; text-transform:none; }
.mex-redesign .seperator { display:none; }
.mex-redesign .area-heading { margin-bottom:52px !important; }
.mex-redesign .area-heading > .text-medium { color:var(--blue); font-size:10px; letter-spacing:.13em; font-weight:700; text-transform:uppercase; margin-bottom:15px; }
.mex-redesign .area-heading p { color:var(--muted); max-width:600px; font-size:15px; font-weight:400; }
.mex-redesign .feature-quote { margin:0 !important; }
.mex-redesign .feature-quote p { color:var(--muted); font-size:15px; }
.mex-redesign .feature-quote .btn { margin-top:24px !important; }
.mex-redesign :is(.mex-product-grid,.mex-team-grid,.mex-services-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:0; }
.mex-redesign :is(.mex-product-grid,.mex-team-grid,.mex-services-grid):before,
.mex-redesign :is(.mex-product-grid,.mex-team-grid,.mex-services-grid):after { display:none; }
.mex-redesign :is(.mex-product-grid,.mex-team-grid,.mex-services-grid) > div { width:auto; padding:0; margin:0 !important; float:none; }
.mex-redesign .mex-product-card { background:var(--surface); border:1px solid var(--line); border-radius:8px; box-shadow:none; }
.mex-redesign .mex-product-card:hover { transform:translateY(-4px); box-shadow:0 15px 35px #1327200a; border-color:#96aca0; }
.mex-redesign .mex-product-card-top { display:grid; grid-template-columns:45% 55%; min-height:220px; background:#e9eee9; box-shadow:none; }
.mex-redesign .mex-product-card-top:after { display:none; }
.mex-redesign .mex-product-card-top > div:first-child { padding:18px; display:flex; align-items:center; }
.mex-redesign .mex-product-card-top img { display:block; width:100%; height:auto; border-radius:5px; }
.mex-redesign .mex-product-heading { position:relative; inset:auto; padding:45px 22px 24px 8px; align-items:flex-start; justify-content:center; text-align:start; }
.mex-redesign .mex-product-heading h3 { font-size:25px; line-height:1.15; margin:12px 0 0; font-weight:500; color:#17352d; }
.mex-redesign .mex-product-kicker { color:#50665b; font-size:9px; line-height:1.6; letter-spacing:.07em; }
.mex-redesign .mex-product-icon { width:28px; height:28px; top:14px; right:14px; box-shadow:none; border-radius:0; background:transparent; color:#17352d; }
.mex-redesign .mex-product-icon svg { width:20px; }
.mex-redesign .mex-product-card-body { padding:28px; background:var(--surface); }
.mex-redesign .mex-product-card-body p { color:var(--muted); font-size:14px; min-height:74px; }
.mex-redesign .mex-product-fit { border:0; background:var(--paper); border-radius:4px; padding:14px; color:var(--ink); font-size:12px; }
.mex-redesign .mex-product-fit span { font-weight:500; }
.mex-redesign .mex-product-card-body li { font-size:12px; color:var(--muted); padding-inline-start:18px; }
.mex-redesign .mex-product-card-body li:before { width:5px; height:5px; border-radius:50%; box-shadow:none; background:#699b81; }
.mex-redesign .mex-card-actions { border-top:1px solid var(--line); margin-top:22px; padding-top:18px; font-size:12px; }
.mex-redesign .mex-card-link { color:var(--ink); }
.mex-redesign .mex-card-link:after { content:' ↗'; margin-inline-start:8px; }
.mex-redesign .mex-quote-link { background:transparent; color:var(--ink); border-color:var(--line); border-radius:4px; }
.mex-redesign .mex-quote-link:hover { background:var(--ink); color:var(--paper); }
.mex-redesign main > section#services { background:#122b2b; color:#ecf3eb; }
.mex-redesign #services :is(.area-title,.area-heading p) { color:#ecf3eb !important; }
.mex-redesign #services .area-heading .text-medium { color:#cce87b !important; }
.mex-redesign .mex-services-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border:1px solid #ffffff24; background:#ffffff24; }
.mex-redesign #services .mex-service-card { background:#122b2b; border:0; border-radius:0; padding:30px 26px; box-shadow:none; height:100%; text-align:start; }
.mex-redesign #services .mex-service-card:hover { background:#183635; transform:none; box-shadow:none; }
.mex-redesign .mex-service-card:before,.mex-redesign .mex-service-card:after { display:none; }
.mex-redesign .mex-service-head { margin-bottom:24px; align-items:center; }
.mex-redesign .service-container { background:transparent; box-shadow:none; border:1px solid #ffffff26; border-radius:50%; width:50px; height:50px; display:grid; place-items:center; margin:0; }
.mex-redesign .service-container .service-icon { color:var(--lime); width:23px; height:23px; }
.mex-redesign .mex-service-index { color:#a2b9ad; font-size:10px; background:none; border:0; }
.mex-redesign .mex-service-title { font-size:23px; line-height:1.25; font-weight:500; color:#fff; min-height:58px; }
.mex-redesign .services-hr { width:100%; background:#ffffff24; margin:20px 0; }
.mex-redesign .mex-service-copy { color:#b7cac1; font-size:13px; min-height:95px; }
.mex-redesign .mex-service-points { padding-inline-start:16px; color:#d2dfd7; font-size:12px; }
.mex-redesign .mex-service-points li { color:inherit; margin-bottom:8px; }
.mex-redesign .mex-service-tags { margin-top:20px; gap:6px; }
.mex-redesign .mex-service-tags span { background:#ffffff09; color:#d2dfd7; border:1px solid #ffffff26; border-radius:3px; font-size:9px; }
.mex-redesign #about .about-team { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.mex-redesign #about .about-team > div { width:auto; padding:0; }
.mex-redesign .mex-about-copy p { color:var(--muted); font-size:14px; }
.mex-redesign .mex-about-insight { margin-top:28px; }
.mex-redesign .mex-about-insight > div { box-shadow:none; background:transparent; border:0; border-bottom:1px solid var(--line); border-radius:0; padding:16px 0; }
.mex-redesign .mex-about-focus span { background:var(--surface); color:var(--ink); border-color:var(--line); border-radius:4px; font-size:10px; }
.mex-redesign .mex-about-panel { background:var(--surface); border:1px solid var(--line); padding:32px; border-radius:8px; box-shadow:none; }
.mex-redesign .mex-about-stat-row { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.mex-redesign .mex-about-stat { background:transparent; border:0; border-radius:0; padding:12px 0; box-shadow:none; }
.mex-redesign .mex-about-stat > span { color:var(--ink); font-size:34px; font-weight:500; }
.mex-redesign .mex-about-stat p { color:var(--muted); font-size:10px; }
.mex-redesign .mex-about-step { background:var(--paper); color:var(--ink); border:0; border-radius:4px; box-shadow:none; padding:18px; }
.mex-redesign .mex-about-step strong { color:var(--ink); font-size:14px; }
.mex-redesign .mex-about-step p { color:var(--muted); font-size:12px; }
.mex-redesign .mex-about-assurance span { color:var(--muted); font-size:10px; }
.mex-redesign .mex-team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.mex-redesign .mex-team-card { border:0; border-radius:0; box-shadow:none; background:transparent; }
.mex-redesign .mex-team-card:hover { transform:none; box-shadow:none; }
.mex-redesign .mex-team-media { border-radius:6px; min-height:0; height:auto; aspect-ratio:1.13; background:#e7eee7; align-items:center; }
.mex-redesign .mex-team-media:after { display:none; }
.mex-redesign .mex-team-media img { width:100%; max-width:100%; height:100%; max-height:none; object-fit:cover; filter:none; transform:none; }
.mex-redesign .mex-team-card:hover .mex-team-media img { filter:none; transform:scale(1.03); }
.mex-redesign .mex-team-role-tag { background:#fff; color:#17352d; border:0; border-radius:3px; font-size:10px; bottom:16px; left:16px; }
.mex-redesign .mex-team-body { padding:22px 0 0; }
.mex-redesign .mex-team-heading h3 { color:var(--ink); font-size:24px; font-weight:500; line-height:1.2; margin:0; }
.mex-redesign .mex-team-heading h3 span { color:inherit; }
.mex-redesign .mex-team-body p { color:var(--muted); font-size:13px; min-height:0; }
.mex-redesign .mex-team-skills span { background:transparent; border:1px solid var(--line); color:var(--muted); border-radius:3px; font-size:9px; }
.mex-redesign #clients { background:var(--surface); border-block:1px solid var(--line); padding-block:70px !important; }
.mex-redesign #clients .area-heading { margin-bottom:35px !important; }
.mex-redesign #clients .area-title { font-size:32px; }
.mex-client-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); align-items:center; gap:36px; padding-inline:30px; }
.mex-redesign .mex-client-grid .client { width:auto; height:auto; margin:0; padding:0; display:grid; place-items:center; }
.mex-redesign .mex-client-grid img { width:100%; height:100px; object-fit:contain; filter:grayscale(1) !important; opacity:.7; transition:opacity .2s; }
.mex-redesign .mex-client-grid img:hover { opacity:1; }
.mex-redesign #contact > .container > .row:first-child { display:grid; grid-template-columns:1.1fr 1fr; gap:72px; margin:0; }
.mex-redesign #contact > .container > .row:first-child > div { width:auto; padding:0; }
.mex-redesign #contact .area-heading { text-align:start; margin-bottom:32px !important; }
.mex-redesign #contact .area-title { max-width:400px; font-size:52px; }
.mex-redesign #contact .address { background:var(--surface) !important; border:1px solid var(--line); border-radius:6px; margin:0 !important; padding:36px !important; }
.mex-redesign #contact .address address { color:var(--muted) !important; }
.mex-redesign #contact .address a { color:var(--ink) !important; }
.mex-redesign #contact-form label { color:var(--ink); font-size:11px; margin-bottom:9px; }
.mex-redesign #contact-form :is(input,select,textarea) { border:1px solid var(--line); background:var(--surface); color:var(--ink); border-radius:4px !important; box-shadow:none; margin-bottom:20px !important; padding:14px 16px !important; height:auto; min-height:50px; }
.mex-redesign #contact-form ::placeholder { color:var(--muted); opacity:.8; }
.mex-redesign #contact-form textarea { min-height:125px; }
.mex-redesign #contact-form button { background:var(--ink); color:var(--paper); border:0; border-radius:4px !important; }
.mex-redesign #contact .map-wrapper { margin-top:48px; border:1px solid var(--line); border-radius:6px; overflow:hidden; }
.mex-redesign footer { background:#102329 !important; padding:60px 0 32px; }
.mex-footer-head { display:flex; align-items:center; justify-content:space-between; gap:35px; border-bottom:1px solid #ffffff25; padding-bottom:48px; margin-bottom:30px; }
.mex-footer-head > a:first-child { width:190px; flex-shrink:0; }
.mex-footer-head p { color:#b7c8bf; font-size:14px; margin:0; }
.mex-footer-cta { color:#e6f4cf; font-size:22px; letter-spacing:-.03em; }
.mex-footer-cta span { margin-inline-start:18px; }
.mex-redesign .footer-nav { display:flex; gap:18px; justify-content:flex-end; flex-wrap:wrap; }
.mex-redesign .footer-nav .verticle-line { display:none; }
.mex-redesign footer .text-small { font-size:10px; color:#b7c8bf !important; }
.mex-redesign footer > .container > .row { display:flex; justify-content:space-between; gap:20px; }
.mex-redesign footer .row:before,.mex-redesign footer .row:after { display:none; }
.mex-redesign footer .row > div { width:auto; float:none; }
.mex-redesign .scroll-top-arrow { border-radius:4px; background:#173c36; }
.mex-redesign.is-rtl .mex-hero-copy { text-align:right; }
.mex-redesign.is-rtl .mex-product-heading { padding:45px 8px 24px 22px; }
.mex-redesign.is-rtl .mex-visual-label { inset:auto -28px 85px auto; }
.mex-redesign.mex-theme-dark .mex-product-card-top { background:#dce7dd; }
.mex-redesign.mex-theme-dark .mex-client-grid img { background:#fff; border-radius:4px; }
/* The intro is shown only when splash.js enables it; JS failures auto-dismiss. */
.mex-splash-pending { overflow:hidden; }
.mex-splash { font-family:Arial,sans-serif; }
.mex-redesign #loader.mex-splash { align-items:stretch; }
.mex-redesign #loader.mex-splash:not([hidden]) { display:flex !important; position:fixed; inset:0; width:100%; height:100vh; height:100dvh; z-index:100000; background:#0a2227; color:#fff; overflow:hidden; flex-direction:column; justify-content:space-between; padding:36px 5vw; opacity:1; transition:opacity .45s ease,visibility .45s; }
.mex-redesign #loader.mex-splash.mex-splash-leaving { opacity:0; visibility:hidden; pointer-events:none; }
.mex-splash-grid { position:absolute; inset:0; background-image:linear-gradient(#b8d9c808 1px,transparent 1px),linear-gradient(90deg,#b8d9c808 1px,transparent 1px); background-size:70px 70px; mask-image:radial-gradient(ellipse,#000,transparent 75%); }
.mex-splash-top,.mex-splash-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; position:relative; z-index:2; font-size:9px; letter-spacing:.16em; font-weight:500; color:#b5c9c2; }
.mex-splash-top { border-bottom:1px solid #ffffff20; padding-bottom:22px; }
.mex-splash-center { position:relative; z-index:2; text-align:center; margin:auto; padding:35px 0; }
.mex-splash-kicker { color:#bed2c6; font-size:9px; letter-spacing:.18em; display:block; margin-bottom:28px; }
.mex-splash-logo { display:block; width:min(430px,70vw); height:auto; margin:0 auto 26px; }
.mex-splash-center h2 { color:#fff; font-size:clamp(42px,6.5vw,92px); line-height:.98; letter-spacing:-.055em; font-weight:400; margin:0; }
.mex-splash-center h2 em { font-family:Georgia,serif; color:var(--lime); font-weight:400; }
.mex-splash-center p { color:#a8c0b5; font-size:12px; margin:20px 0 0; }
.mex-splash-line { width:180px; height:1px; background:#ffffff25; margin:30px auto 0; overflow:hidden; }
.mex-splash-line span { display:block; width:60px; height:100%; background:#cce87b; animation:mex-splash-travel 1.8s ease-in-out infinite; }
.mex-splash-bottom button { color:#fff; background:#ffffff08; border:1px solid #ffffff40; border-radius:4px; font-size:12px; padding:13px 20px; letter-spacing:0; }
.mex-splash-bottom button span { margin-inline-start:18px; }
.mex-splash-orbit { position:absolute; width:min(620px,85vw); aspect-ratio:1; top:50%; left:50%; transform:translate(-50%,-50%); }
.mex-splash-orbit > span { position:absolute; inset:0; border:1px solid #cce87b12; border-radius:50%; }
.mex-splash-orbit > span:nth-child(2) { inset:-70px; border-style:dashed; animation:mex-orbit 40s linear infinite; }
.mex-splash-orbit > span:nth-child(3) { inset:70px; }
.mex-splash-orbit > span:first-child:after { content:''; position:absolute; width:8px; height:8px; top:15%; left:15%; border-radius:50%; background:#cce87b; box-shadow:0 0 25px #cce87b70; }
@keyframes mex-splash-travel { 0%{transform:translateX(-60px)}100%{transform:translateX(180px)} }
@keyframes mex-orbit { to{transform:rotate(360deg)} }
@media(min-width:1200px) { .mex-redesign .mex-logo-col { width:17%; }.mex-redesign .mex-nav-col { width:47%; }.mex-redesign .mex-actions-col { width:36%; } }
@media(max-width:1199px) {
    .mex-redesign .container { padding-inline:32px; }
    .mex-redesign #showMenu { top:18px !important; }
    .mex-redesign .mex-hero-layout { gap:36px; }
    .mex-redesign .mex-hero-copy h1 { font-size:56px; }
    .mex-redesign .mex-home-hero { padding-block:65px; }
    .mex-redesign #features > .container > .row { gap:40px; }
    .mex-redesign #about .about-team { gap:32px; }
    .mex-redesign #contact > .container > .row:first-child { gap:36px; }
    .mex-redesign .mex-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
    .mex-redesign .container { padding-inline:22px; }
    .mex-redesign main > section:not(#home) { padding-block:64px !important; }
    .mex-redesign .mex-hero-layout { grid-template-columns:minmax(0,1fr); gap:36px; }
    .mex-redesign .mex-home-hero { padding:50px 0 46px; }
    .mex-redesign .mex-hero-copy h1 { font-size:clamp(42px,9.6vw,64px); max-width:580px; }
    .mex-redesign .mex-hero-copy .mex-hero-eyebrow { font-size:9px; letter-spacing:.07em; margin-bottom:25px; }
    .mex-redesign .mex-hero-copy > p:not(.mex-hero-eyebrow) { font-size:14px; }
    .mex-redesign .mex-hero-actions { flex-direction:row; }
    .mex-redesign .mex-hero-actions a { flex:1; padding-inline:12px; font-size:12px; }
    .mex-hero-visual { padding:14px; max-width:520px; width:100%; margin:auto; }
    .mex-visual-label { inset:auto auto 75px -8px; font-size:10px; padding:10px 12px; }
    .mex-redesign.is-rtl .mex-visual-label { inset:auto -8px 75px auto; }
    .mex-capability-strip .container { flex-wrap:wrap; justify-content:center; gap:10px 20px; padding-block:20px; font-size:10px; min-height:0; }
    .mex-capability-strip i { font-size:14px; }
    .mex-capability-strip i:nth-of-type(2),.mex-capability-strip i:nth-of-type(4) { display:none; }
    .mex-redesign #features > .container > .row { grid-template-columns:minmax(0,1fr); gap:30px; }
    .mex-redesign #features .hidden-xs { display:block !important; }
    .mex-feature-visual { min-height:0; padding:28px; }
    .mex-feature-type { margin:28px 0; font-size:48px; }
    .mex-redesign .feature-quote { text-align:start; }
    .mex-redesign .area-heading { margin-bottom:32px !important; }
    .mex-redesign .area-heading p { width:100% !important; font-size:14px; }
    .mex-redesign .mex-product-grid,.mex-redesign .mex-services-grid,.mex-redesign .mex-team-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    .mex-redesign .mex-product-card-top { grid-template-columns:43% 57%; min-height:180px; display:grid; }
    .mex-redesign .mex-product-card-top > div:first-child { padding:12px; }
    .mex-redesign .mex-product-heading { padding:34px 16px 22px 4px; inset:auto; }
    .mex-redesign.is-rtl .mex-product-heading { padding:34px 4px 22px 16px; }
    .mex-redesign .mex-product-heading h3 { font-size:22px; }
    .mex-redesign .mex-product-card-body { padding:22px; }
    .mex-redesign .mex-product-card-body p { min-height:0; }
    .mex-redesign .mex-services-grid { gap:1px; }
    .mex-redesign .mex-service-title,.mex-redesign .mex-service-copy { min-height:0; }
    .mex-redesign #about .about-team { grid-template-columns:minmax(0,1fr); gap:30px; text-align:start; }
    .mex-redesign .mex-about-copy { margin:0 !important; }
    .mex-redesign .mex-about-panel { padding:22px; }
    .mex-redesign .mex-about-stat > span { font-size:29px; }
    .mex-redesign #about > .container > .row:first-child { margin-bottom:45px !important; }
    .mex-redesign .mex-team-grid { gap:35px; }
    .mex-redesign .mex-team-media { aspect-ratio:1.2; }
    .mex-redesign .mex-team-media img { object-position:50% 35%; }
    .mex-client-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; padding-inline:15px; }
    .mex-redesign .mex-client-grid img { height:80px; }
    .mex-redesign #contact > .container > .row:first-child { grid-template-columns:minmax(0,1fr); gap:30px; }
    .mex-redesign #contact .area-title { font-size:38px; }
    .mex-redesign #contact .address { padding:24px !important; }
    .mex-redesign #contact .map-wrapper { margin-top:28px; }
    .mex-footer-head { flex-wrap:wrap; gap:24px; padding-bottom:30px; }
    .mex-footer-head > a:first-child { width:150px; }
    .mex-footer-head p { font-size:11px; }
    .mex-footer-cta { width:100%; font-size:24px; }
    .mex-redesign footer > .container > .row { flex-direction:column-reverse; gap:20px; }
    .mex-redesign .footer-nav { justify-content:flex-start; gap:20px; }
    .mex-redesign footer .text-small { text-align:start !important; }
    .mex-redesign #loader.mex-splash:not([hidden]) { padding:24px; }
    .mex-splash-top { font-size:7px; gap:10px; }
    .mex-splash-kicker { font-size:7px; letter-spacing:.12em; }
    .mex-splash-center p { font-size:10px; max-width:240px; margin-inline:auto; }
    .mex-splash-bottom > span { font-size:7px; max-width:100px; line-height:1.6; }
    .mex-splash-bottom button { font-size:11px; padding:12px; }
    .mex-splash-bottom button span { margin-inline-start:8px; }
}
@media(max-width:359px) { .mex-redesign .container { padding-inline:18px; }.mex-redesign .mex-product-card-top{grid-template-columns:1fr}.mex-redesign .mex-product-card-top > div:first-child {padding:18px}.mex-redesign .mex-product-card-top img {max-height:240px;object-fit:contain}.mex-redesign .mex-product-heading,.mex-redesign.is-rtl .mex-product-heading{padding:18px 22px 24px}.mex-redesign .mex-hero-copy h1{font-size:41px}.mex-splash-center h2{font-size:48px} }
@media(prefers-reduced-motion:reduce) { .mex-splash-orbit > span,.mex-splash-line span { animation:none !important; }.mex-redesign #loader.mex-splash { transition:none !important; } }
@media(max-height:500px) {
    .mex-redesign #loader.mex-splash:not([hidden]) { padding:16px 24px; }
    .mex-splash-top,.mex-splash-kicker,.mex-splash-center p,.mex-splash-line { display:none; }
    .mex-splash-center { padding:10px 0; }
    .mex-splash-logo { width:min(260px,55vw); margin-bottom:14px; }
    .mex-splash-center h2 { font-size:44px; }
}

/* Grounded engineering introduction: documentary photography and plain typography. */
.mex-redesign #features .mex-approach-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:76px; }
.mex-approach-photo { min-width:0; margin:0; }
.mex-approach-photo img { display:block; width:100%; height:auto; aspect-ratio:1.04; object-fit:cover; object-position:52% center; border-radius:2px; }
.mex-approach-photo figcaption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:14px; color:var(--muted); font:400 9px/1.5 Arial,sans-serif; }
.mex-approach-photo figcaption > span { letter-spacing:.12em; }
.mex-approach-photo figcaption a { color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.mex-approach-copy { min-width:0; }
.mex-redesign .mex-approach-eyebrow { color:var(--muted); font:600 9px/1.6 Arial,sans-serif; letter-spacing:.12em; margin:0 0 22px; }
.mex-redesign .mex-approach-copy h2 { color:var(--ink); font-size:clamp(30px,3.2vw,44px); line-height:1.15; font-weight:500; letter-spacing:-.04em; margin:0 0 25px; }
.mex-redesign .mex-approach-copy > p { font-size:14px; line-height:1.8; color:var(--muted); }
.mex-redesign .mex-approach-copy > .mex-approach-lead { color:var(--ink); font-size:16px; line-height:1.7; margin-bottom:18px; }
.mex-approach-disciplines { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding-top:24px; margin-top:27px; border-top:1px solid var(--line); }
.mex-redesign .mex-approach-disciplines h3 { color:var(--ink); font:600 12px/1.5 Arial,sans-serif; letter-spacing:0; margin:0 0 7px; }
.mex-redesign .mex-approach-disciplines p { color:var(--muted); font-size:11px; line-height:1.6; margin:0; }
.mex-approach-link { display:inline-flex; align-items:center; gap:28px; min-height:46px; color:var(--ink); border-bottom:1px solid var(--ink); font:600 12px/1.5 Arial,sans-serif; margin-top:26px; }
.mex-approach-link:hover { color:var(--blue); border-color:var(--blue); }
.mex-approach-link > span { font-size:20px; font-weight:400; }
@media(max-width:1199px) { .mex-redesign #features .mex-approach-layout { gap:40px; }.mex-approach-photo img{aspect-ratio:.9} }
@media(max-width:767px) {
    .mex-redesign #features .mex-approach-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
    .mex-approach-photo img { aspect-ratio:1.2; object-position:center 65%; }
    .mex-redesign .mex-approach-copy h2 { font-size:33px; }
    .mex-redesign .mex-approach-copy > .mex-approach-lead { font-size:15px; }
    .mex-redesign .mex-approach-copy > p { font-size:13px; }
    .mex-approach-disciplines { gap:16px; }
}
