/*
Theme Name: OMEXA Soluciones Integrales
Theme URI: https://omexa.mx
Author: Soluciones OMEXA
Description: Tema corporativo responsive para OMEXA.
Version: 0.6.4
Text Domain: omexa
*/

:root {
  --omexa-blue: #075168;
  --omexa-blue-dark: #063845;
  --omexa-gray: #838384;
  --omexa-black: #0d0f10;
  --omexa-panel: #121617;
  --omexa-panel-alt: #10191c;
  --omexa-white: #ffffff;
  --omexa-muted: #bcc1c3;
  --omexa-line: rgba(255,255,255,.16);
  --omexa-max: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--omexa-black);
  color: var(--omexa-white);
  font-family: Montserrat, "Segoe UI", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

.omexa-wrap {
  width: min(calc(100% - 48px), var(--omexa-max));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(13,15,16,.94);
  border-bottom: 1px solid rgba(255,255,255,.08);
  backdrop-filter: blur(14px);
}
.admin-bar .site-header { top: 32px; }
.header-inner {
  min-height: 108px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 38px;
}
.brand { flex: 0 0 auto; }
.brand img { width: 350px; max-height: 88px; object-fit: contain; object-position:left center; }
.site-nav ul {
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.2vw, 40px);
  list-style: none;
  margin: 0;
  padding: 0;
}
.site-nav a {
  color: #f4f4f4;
  text-decoration: none;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 650;
  letter-spacing: .035em;
  transition: color .2s ease;
}
.site-nav a:hover,
.site-nav .current-menu-item > a,
.site-nav .current_page_item > a { color: #16a4c7; }
.menu-toggle {
  display: none;
  width: 48px;
  height: 48px;
  padding: 11px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 4px;
  background: transparent;
  color: white;
  cursor: pointer;
}
.menu-toggle span {
  display: block;
  height: 2px;
  margin: 5px 0;
  background: currentColor;
}

.hero {
  position: relative;
  min-height: 610px;
  display: grid;
  align-items: center;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(4,19,26,.98) 0%, rgba(4,25,34,.86) 48%, rgba(4,20,27,.47) 100%),
    url("assets/images/blueprint-industrial.svg") center/cover no-repeat;
}
.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.36), transparent);
}
.hero--home {
  background:
    linear-gradient(90deg, rgba(4,12,16,.96) 0%, rgba(4,19,25,.80) 42%, rgba(4,15,20,.20) 78%, rgba(4,15,20,.08) 100%),
    url("assets/images/fabricacion-portada.webp") center/cover no-repeat;
}
.hero--home .hero-content { max-width:820px; }
.hero--home h1 span { display:block; color:#20a9ca; }
.hero--home p { max-width:720px; font-size:clamp(18px,1.55vw,25px); line-height:1.48; }
.hero--solutions {
  background:
    linear-gradient(90deg, rgba(4,19,26,.87) 0%, rgba(4,25,34,.62) 52%, rgba(4,20,27,.2) 100%),
    url("assets/images/blueprint-soluciones.webp") center/cover no-repeat;
}
.hero--fabrication {
  min-height: 560px;
  background: linear-gradient(90deg,rgba(7,12,14,.78),rgba(7,16,20,.42)),url("assets/images/fabricacion-portada.webp") center/cover no-repeat;
}
.hero--projects { min-height:590px; background:linear-gradient(90deg,rgba(4,15,20,.97) 0%,rgba(4,25,34,.78) 48%,rgba(4,20,27,.25) 100%),url("assets/images/blueprint-proyectos.webp") center/cover no-repeat; }
.hero--projects h1 { max-width:1050px; }
.hero--projects h1 span { color:#20a9ca; }
.hero--projects p { max-width:900px; font-size:clamp(19px,1.8vw,28px); }
.hero-content { position: relative; z-index: 1; max-width: 1160px; padding-block: 110px; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  color: #8fc7d4;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-size: 13px;
  font-weight: 700;
}
.eyebrow::before { content: ""; width: 48px; height: 2px; background: #16a4c7; }
.hero h1,
.section-title {
  margin: 0;
  font-size: clamp(42px, 5.2vw, 78px);
  line-height: 1.04;
  letter-spacing: .018em;
  text-transform: uppercase;
  color: #fff;
  font-weight: 650;
}
.hero p {
  max-width: 970px;
  margin: 28px 0 0;
  color: #f2f3f3;
  font-size: clamp(23px, 2.7vw, 40px);
  line-height: 1.28;
  letter-spacing: .025em;
}
.hero-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:38px; }
.hero--home .hero-actions .button { min-width:220px; border-radius:3px; box-shadow:0 14px 34px rgba(0,0,0,.28); }
.hero--home .hero-actions .button:first-child { background:linear-gradient(135deg,#075168,#0780a2); }
.hero--home .hero-actions .button:first-child:hover { background:linear-gradient(135deg,#08627d,#0994ba); }
.button--outline { background:transparent; border-color:rgba(255,255,255,.5); }
.button--outline:hover { background:#fff; color:#0d0f10; }

.section { padding: 96px 0; }
.section--alt { background: var(--omexa-panel-alt); }
.section--blue { background: var(--omexa-blue-dark); }
.section-intro { max-width: 1220px; margin: 20px 0 62px; color: #f0f1f1; font-size: clamp(19px, 1.45vw, 25px); }
.section-kicker { color: #79b9c9; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; font-size: 13px; }

.capabilities-grid,
.sectors-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 28px;
}
.capabilities-grid { row-gap: 42px; }
.capability,
.sector-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 270px;
  padding: 8px 12px 30px 0;
  border-bottom: 1px solid var(--omexa-line);
}
.capability h3,
.sector-card h3 {
  margin: 20px 0 18px;
  color: #fff;
  font-size: clamp(23px, 1.7vw, 31px);
  line-height: 1.13;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .035em;
}
.card-icon {
  width: 94px;
  height: 94px;
  object-fit: contain;
  object-position: left center;
}
.capability p { max-width: 94%; margin: 0; font-size: 17px; line-height: 1.65; text-align: left; text-wrap: pretty; }
.fabrication-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:46px 54px; margin-top:54px; }
.fabrication-card { padding:0 0 30px; border-bottom:1px solid var(--omexa-line); }
.fabrication-card img { width:92px; height:92px; object-fit:contain; object-position:left center; }
.fabrication-card h3 { margin:18px 0 14px; color:#fff; font-size:clamp(22px,1.7vw,30px); line-height:1.16; text-transform:uppercase; letter-spacing:.025em; }
.fabrication-card p { max-width:95%; margin:0; line-height:1.62; text-wrap:pretty; }
.equipment-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px 48px; }
.equipment-card { display:grid; grid-template-columns:minmax(220px,42%) 1fr; gap:25px; align-items:center; padding-bottom:28px; border-bottom:1px solid var(--omexa-line); }
.equipment-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.equipment-card h3 { margin:0 0 13px; color:#fff; font-size:clamp(21px,1.55vw,27px); line-height:1.18; text-transform:uppercase; letter-spacing:.025em; }
.equipment-card p { margin:0; color:#eceeee; font-size:16px; line-height:1.55; text-wrap:pretty; }
.fabrication-projects { padding-bottom:70px; }
.fabrication-case { padding:58px 0 68px; border-top:1px solid var(--omexa-line); }
.fabrication-case > h3 { max-width:1250px; margin:0 0 18px; color:#fff; font-size:clamp(34px,3.7vw,58px); line-height:1.08; text-transform:uppercase; font-weight:500; letter-spacing:.02em; }
.case-lead { max-width:1250px; margin:0 0 34px; font-size:18px; font-weight:600; }
.case-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:46px; }
.case-grid figure { margin:0; }
.case-grid h4,.case-video h4 { min-height:2.35em; margin:0 0 18px; color:#d0cecc; font-size:clamp(21px,1.8vw,30px); line-height:1.12; text-transform:uppercase; font-weight:500; letter-spacing:.03em; }
.case-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.case-grid figure:first-child img { object-fit:contain; background:#fff; }
.case-grid figcaption { margin-top:10px; font-weight:650; text-align:center; }
.case-summary { margin:34px 0 0; padding-bottom:20px; border-bottom:1px solid var(--omexa-line); font-weight:650; }
.case-video { max-width:660px; margin:48px auto 0; text-align:center; }
.case-video h4 { min-height:0; }
.case-video video { display:block; width:100%; max-height:600px; background:#000; }

.contact-hero { padding:100px 0 74px; background:linear-gradient(135deg,#0d0f10,#10232a); border-bottom:1px solid var(--omexa-line); }
.contact-hero h1 { margin:0; font-size:clamp(44px,5vw,76px); line-height:1.05; text-transform:uppercase; }
.contact-hero p { max-width:980px; margin:22px 0 0; color:#e8eaea; font-size:clamp(20px,2vw,29px); line-height:1.4; }
.contact-layout { display:grid; grid-template-columns:1fr 1fr 1.15fr; gap:70px; align-items:start; }
.contact-panel h2,.contact-form-panel h2 { margin:0 0 26px; color:#fff; font-size:clamp(25px,2vw,34px); font-weight:500; }
.contact-panel p { margin:0 0 34px; font-size:18px; }
.contact-panel a { text-decoration:none; }
.whatsapp-contact { display:inline-flex; align-items:center; gap:12px; color:#fff; font-weight:700; }
.whatsapp-contact img { width:38px; height:38px; }
.hours { margin:0; }
.hours div { display:grid; grid-template-columns:92px 1fr; gap:10px; margin:5px 0; }
.hours dt { font-weight:700; }
.hours dd { margin:0; }
.contact-form { display:grid; gap:18px; }
.contact-form label { display:grid; gap:7px; font-weight:650; }
.contact-form input,.contact-form textarea { width:100%; border:1px solid #d8d8d8; border-radius:3px; background:#fff; color:#17191a; padding:13px 14px; }
.contact-form textarea { min-height:140px; resize:vertical; }
.contact-form .button { justify-self:start; cursor:pointer; }
.form-honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; }
.form-notice { padding:13px 15px; border-left:4px solid #20a9ca; background:#13282e; }
.form-notice--error { border-color:#c94b4b; background:#2a1616; }
.contact-map { height:440px; border-top:1px solid var(--omexa-line); }
.contact-map iframe { display:block; width:100%; height:100%; border:0; filter:grayscale(.25) contrast(1.05); }

.home-about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.8fr); gap:84px; align-items:start; }
.home-about-copy { padding-top:28px; color:#e8eaea; font-size:20px; }
.home-about-copy p { margin:0 0 22px; }
.home-area-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; margin-top:50px; }
.home-area-card { position:relative; min-height:520px; overflow:hidden; background:#111; }
.home-area-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(5,9,11,.96) 88%); }
.home-area-card img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.home-area-card:hover img { transform:scale(1.025); }
.home-area-card > div { position:absolute; z-index:1; left:38px; right:38px; bottom:34px; }
.home-area-card h3 { margin:0 0 12px; color:#fff; font-size:clamp(28px,2.5vw,43px); line-height:1.1; text-transform:uppercase; }
.home-area-card p { max-width:690px; margin:0 0 17px; color:#f0f1f1; }
.home-area-card a { color:#70cee4; font-weight:750; text-transform:uppercase; letter-spacing:.04em; text-decoration:none; }
.home-section-heading { display:flex; justify-content:space-between; gap:30px; align-items:end; }
.home-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:48px; }
.home-project-grid article { padding-bottom:24px; border-bottom:1px solid var(--omexa-line); }
.home-project-grid img { width:100%; aspect-ratio:4/3; object-fit:contain; margin-bottom:20px; background:#0a0c0d; }
.home-project-grid span { color:#79b9c9; text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:700; }
.home-project-grid h3 { margin:8px 0 0; color:#fff; font-size:clamp(23px,2vw,32px); line-height:1.18; text-transform:uppercase; }
.clients-section { padding:86px 0 0; overflow:hidden; }
.clients-section .section-title { max-width:1100px; font-size:clamp(38px,4.5vw,64px); }
.clients-section p { margin:20px 0 42px; color:#dfe2e2; font-size:18px; }
.clients-marquee { overflow:hidden; padding:18px 0; background:#0a0c0d; border-block:1px solid var(--omexa-line); }
.clients-track { display:flex; width:max-content; animation:clients-scroll 52s linear infinite; will-change:transform; }
.client-set { display:flex; flex:0 0 auto; gap:22px; padding-right:22px; }
.client-logo { display:grid; place-items:center; width:210px; height:112px; padding:16px 22px; border:1px solid #d9dfe1; background:#fff; }
.client-logo img { display:block; width:100%; max-height:74px; object-fit:contain; filter:none!important; opacity:1!important; mix-blend-mode:normal; }
.client-logo--dana-original img { transform:scale(1.12); }
.client-logo--condumex-original img { transform:scale(1.28); }
.client-logo--pemex-original img { transform:scale(1.04); }
.client-logo--nestle { --client-color:#2e74a8; }
.client-logo--pemex { --client-color:#00845d; }
.client-logo--truper { --client-color:#f58220; }
.client-logo--ciateq { --client-color:#21a7c5; }
.client-logo--dana { --client-color:#d9292a; }
.client-logo--ciencia { --client-color:#b59256; }
.client-logo--condumex { --client-color:#dc252a; }
.clients-marquee:hover .clients-track { animation-play-state:paused; }
@keyframes clients-scroll { to { transform:translateX(-50%); } }
.equipment-card--welding img { object-position:center; }

.projects-intro-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.8fr); gap:80px; align-items:start; }
.projects-intro-copy { padding-top:25px; color:#e3e6e7; font-size:19px; }
.projects-intro-copy p { margin:0 0 20px; }
.projects-scope { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin-top:58px; border-block:1px solid var(--omexa-line); }
.projects-scope span { padding:20px 12px; border-right:1px solid var(--omexa-line); color:#8fc7d4; text-align:center; text-transform:uppercase; letter-spacing:.08em; font-size:13px; font-weight:750; }
.projects-scope span:last-child { border-right:0; }
.project-case { padding:100px 0; border-top:1px solid var(--omexa-line); }
.project-case--dark { background:#0d0f10; }
.project-case--blue { background:linear-gradient(135deg,#063845,#075168); }
.project-case-grid { display:grid; grid-template-columns:minmax(350px,.78fr) minmax(0,1.22fr); gap:72px; align-items:start; }
.project-case-grid--reverse .project-case-copy { order:2; }
.project-case-grid--reverse .project-media { order:1; }
.project-number { display:block; margin-bottom:13px; color:#76c5d8; text-transform:uppercase; letter-spacing:.12em; font-size:13px; font-weight:750; }
.project-case-copy h2 { margin:0; color:#fff; font-size:clamp(37px,4vw,64px); line-height:1.06; text-transform:uppercase; letter-spacing:.015em; }
.project-lead { margin:25px 0 35px; color:#eef0f0; font-size:19px; line-height:1.58; }
.project-facts { border-top:1px solid var(--omexa-line); }
.project-facts div { display:grid; grid-template-columns:105px 1fr; gap:20px; padding:18px 0; border-bottom:1px solid var(--omexa-line); }
.project-facts strong { color:#89c8d7; text-transform:uppercase; letter-spacing:.06em; font-size:12px; }
.project-facts span { color:#eef0f0; line-height:1.5; }
.project-media { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.project-media figure { position:relative; min-width:0; margin:0; overflow:hidden; background:#15191a; }
.project-media-main { grid-column:1/-1; }
.project-media img { width:100%; height:270px; object-fit:cover; }
.project-media-main img { height:420px; }
.project-media-main--contain img { object-fit:contain; background:#f3f3f1; }
.project-media figcaption { position:absolute; left:0; right:0; bottom:0; padding:24px 15px 11px; background:linear-gradient(transparent,rgba(0,0,0,.86)); color:#fff; text-align:center; font-size:14px; font-weight:700; }
.project-video-block { display:grid; grid-template-columns:minmax(280px,.55fr) minmax(0,.7fr); gap:70px; align-items:center; margin-top:75px; padding-top:65px; border-top:1px solid var(--omexa-line); }
.project-video-block h3 { margin:9px 0 14px; color:#fff; font-size:clamp(30px,3vw,46px); line-height:1.1; text-transform:uppercase; }
.project-video-block p { color:#dde1e2; }
.project-video-block video { display:block; width:100%; max-height:520px; background:#000; }
.project-gallery .project-stage { height:520px; }
.projects-special { background:#10191c; }
.projects-special .section-title { max-width:1150px; font-size:clamp(38px,4.6vw,66px); }
.projects-special-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.projects-special-grid article { overflow:hidden; background:#0d0f10; border-bottom:3px solid #075168; }
.projects-special-grid img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#090b0c; }
.projects-special-grid article > div { padding:25px 26px 30px; }
.projects-special-grid span { color:#79b9c9; text-transform:uppercase; letter-spacing:.1em; font-size:12px; font-weight:750; }
.projects-special-grid h3 { margin:8px 0 14px; color:#fff; font-size:clamp(23px,2vw,31px); line-height:1.16; text-transform:uppercase; }
.projects-special-grid p { margin:0; color:#dde0e1; }

.gallery-section { background:#0d0f10; }
.gallery-intro { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.7fr); gap:70px; align-items:end; margin-bottom:38px; }
.gallery-intro .section-title { margin-bottom:0; }
.gallery-intro > p { margin:0 0 8px; color:#dfe2e2; font-size:18px; line-height:1.65; }
.gallery-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:32px; }
.gallery-filters button { padding:11px 17px; border:1px solid rgba(255,255,255,.24); background:transparent; color:#fff; font:inherit; font-size:14px; cursor:pointer; transition:.2s ease; }
.gallery-filters button:hover,.gallery-filters button.is-active { border-color:#20a9ca; background:#075168; }
.projects-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.projects-gallery.is-all { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.gallery-card { min-width:0; }
.gallery-card[hidden] { display:none; }
.gallery-open { position:relative; display:block; width:100%; height:100%; min-height:320px; padding:0; overflow:hidden; border:0; background:#15191a; cursor:pointer; text-align:left; }
.gallery-open img { display:block; width:100%; height:100%; min-height:320px; aspect-ratio:4/3; object-fit:cover; transition:transform .55s ease; }
.projects-gallery.is-all .gallery-open,.projects-gallery.is-all .gallery-open img { min-height:235px; }
.gallery-overlay { position:absolute; inset:auto 0 0; display:flex; flex-direction:column; justify-content:flex-end; min-height:48%; padding:55px 24px 24px; background:linear-gradient(transparent,rgba(0,0,0,.92)); color:#fff; transform:translateY(18px); opacity:0; transition:.3s ease; }
.gallery-overlay small { margin-bottom:7px; color:#79d0e4; text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:750; }
.gallery-overlay strong { font-size:22px; line-height:1.18; text-transform:uppercase; }
.gallery-open:hover img,.gallery-open:focus-visible img { transform:scale(1.035); }
.gallery-open:hover .gallery-overlay,.gallery-open:focus-visible .gallery-overlay { transform:none; opacity:1; }
.gallery-lightbox { position:fixed; inset:0; z-index:2000; display:none; place-items:center; padding:60px 28px 28px; background:rgba(0,0,0,.94); }
.gallery-lightbox.is-open { display:grid; }
.gallery-lightbox img { display:block; max-width:min(1200px,94vw); max-height:80vh; object-fit:contain; }
.gallery-lightbox p { margin:14px 0 0; color:#fff; text-transform:uppercase; font-weight:700; }
.gallery-lightbox-close { position:absolute; top:18px; right:24px; border:0; background:none; color:#fff; font-size:46px; cursor:pointer; }

.process-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 36px;
  margin-top: 44px;
}
.process-step { position: relative; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.22); }
.process-number { color: #2fb0cd; font-weight: 750; font-size: 18px; }
.process-step h3 { margin: 8px 0 16px; color: #fff; font-size: 27px; text-transform: uppercase; font-weight: 700; letter-spacing: .035em; }
.process-step p { max-width: 300px; margin: 0; text-align: left; text-wrap: pretty; }

.sectors-grid ul { margin: 0; padding-left: 20px; font-size: 16px; line-height: 1.55; text-align: justify; text-justify: inter-word; hyphens: auto; }
.sectors-grid li { margin: 4px 0; }

.project-showcase { padding-top: 84px; }
.project-header { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); gap: 70px; align-items: end; }
.project-meta { color: #9bcad5; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; font-size: 14px; }
.project-copy h3 { margin: 8px 0 16px; font-size: clamp(27px, 2.5vw, 40px); line-height: 1.18; }
.project-copy p { margin: 0; color: #e5e6e6; }
.project-slider {
  max-width: 1120px;
  margin: 48px auto 0;
}
.project-stage { position: relative; height: clamp(380px, 40vw, 540px); overflow: hidden; background: #171a1b; }
.project-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity .7s ease; }
.project-stage > img:first-child { object-fit: contain; background: #fff; }
.project-stage > img.is-active { opacity: 1; }
.project-thumbs { display: grid; grid-template-columns: repeat(5,1fr); gap: 12px; margin-top: 14px; }
.project-thumbs button { height: 88px; padding: 0; overflow: hidden; border: 2px solid transparent; background: #202425; cursor: pointer; opacity: .62; transition: .2s ease; }
.project-thumbs button:hover,
.project-thumbs button.is-active { opacity: 1; border-color: #20a9ca; }
.project-thumbs img { width: 100%; height: 100%; object-fit: cover; }
.project-thumbs button:first-child img { object-fit: contain; background: #fff; }

.cta { padding: 78px 0; border-top: 1px solid rgba(255,255,255,.12); }
.cta-inner { display: block; }
.cta-inner > div { max-width: 1050px; }
.cta h2 { margin: 0 0 8px; font-size: clamp(34px, 4vw, 60px); line-height: 1.08; text-transform: uppercase; font-weight: 380; }
.cta p { margin: 0; color: #e2e4e4; font-size: 19px; }
.cta .button { margin-top: 30px; }
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  padding: 0 32px;
  background: var(--omexa-blue);
  color: white;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .035em;
  border: 1px solid transparent;
  transition: .2s ease;
}
.button:hover { background: #08728f; transform: translateY(-2px); }

.placeholder-page { min-height: 60vh; padding: 120px 0; background: linear-gradient(135deg,#0d0f10,#10232a); }
.placeholder-page p { max-width: 760px; color: #d3d5d5; }

.site-footer { background: #093d4a; padding: 72px 0 24px; }
.footer-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 64px; align-items: start; }
.site-footer h2 { margin: 0 0 26px; color: #c9c7c6; text-transform: uppercase; font-size: 30px; font-weight: 380; letter-spacing: .035em; }
.footer-brand-heading { display:flex; align-items:center; gap:18px; margin-bottom:22px; }
.footer-brand-heading img { flex:0 0 auto; width:86px; height:78px; object-fit:contain; filter:drop-shadow(0 8px 18px rgba(0,0,0,.2)); }
.footer-brand-heading h2 { margin:0; }
.site-footer p { margin: 0 0 12px; }
.footer-about { max-width: 400px; text-align: justify; text-justify: inter-word; hyphens: auto; }
.whatsapp-brand { display: inline-flex; align-items: center; gap: 12px; margin-top: 12px; text-decoration: none; font-size: 22px; }
.whatsapp-brand img { width: 38px; height: 38px; }
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin: 7px 0; }
.footer-links a:hover { color: #7ed6ea; }
.contact-line { display: flex; gap: 14px; align-items: flex-start; font-size: 20px; line-height: 1.45; }
.contact-line > span:first-child { min-width: 24px; }
.footer-bottom { margin-top: 58px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.16); text-align: center; font-size: 14px; }
.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 900;
  width: 64px;
  height: 64px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: white;
  box-shadow: 0 10px 30px rgba(0,0,0,.34);
  text-decoration: none;
  padding: 8px;
}
.whatsapp-float img { width: 100%; height: 100%; }

@media (max-width: 1080px) {
  .header-inner { min-height: 88px; }
  .brand img { width: 245px; }
  .menu-toggle { display: block; }
  .site-nav {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #0d0f10;
    border-top: 1px solid rgba(255,255,255,.1);
    padding: 24px;
  }
  .site-nav.is-open { display: block; }
  .site-nav ul { flex-direction: column; align-items: stretch; gap: 0; }
  .site-nav a { display: block; padding: 13px 0; }
  .capabilities-grid,
  .sectors-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .capability { min-height: 270px; }
  .sector-card { min-height: 320px; }
  .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fabrication-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .equipment-card { grid-template-columns:190px 1fr; }
  .case-grid { gap:24px; }
  .contact-layout { grid-template-columns:1fr 1fr; }
  .contact-form-panel { grid-column:1/-1; max-width:760px; }
  .home-about-grid { grid-template-columns:1fr; gap:20px; }
  .home-area-card { min-height:460px; }
  .home-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects-intro-grid { grid-template-columns:1fr; gap:22px; }
  .project-case-grid { grid-template-columns:1fr; gap:48px; }
  .project-case-grid--reverse .project-case-copy,.project-case-grid--reverse .project-media { order:initial; }
  .projects-special-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .projects-gallery.is-all { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gallery-intro { grid-template-columns:1fr; gap:18px; }
  .project-header { grid-template-columns: 1fr; gap: 24px; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 720px) {
  .admin-bar .site-header { top: 46px; }
  .omexa-wrap { width: min(calc(100% - 32px), var(--omexa-max)); }
  .brand img { width: 225px; max-height:72px; }
  .hero { min-height: 440px; }
  .hero-content { padding-block: 64px; }
  .section { padding: 56px 0; }
  .section-title { font-size: clamp(31px, 9.5vw, 44px); line-height: 1.08; }
  .section-intro { margin: 16px 0 38px; font-size: 17px; line-height: 1.55; }
  .capabilities-grid,
  .sectors-grid,
  .fabrication-grid { grid-template-columns: 1fr; gap: 0; margin-top: 30px; }
  .process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 18px; margin-top: 32px; }
  .process-step { padding-top: 15px; }
  .process-step h3 { margin: 5px 0 9px; font-size: 19px; line-height: 1.16; }
  .process-step p { font-size: 15px; line-height: 1.5; }
  .capability,
  .sector-card,
  .fabrication-card {
    display: grid;
    grid-template-columns: 68px minmax(0,1fr);
    grid-template-rows: auto auto;
    column-gap: 17px;
    row-gap: 7px;
    min-height: 0;
    padding: 22px 0;
    align-items: start;
  }
  .capability .card-icon,
  .sector-card .card-icon,
  .fabrication-card img {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 64px;
    height: 64px;
    object-position: center;
  }
  .capability h3,
  .sector-card h3,
  .fabrication-card h3 {
    grid-column: 2;
    margin: 2px 0 0;
    font-size: 20px;
    line-height: 1.16;
    letter-spacing: .02em;
  }
  .capability p,
  .fabrication-card p {
    grid-column: 2;
    max-width: none;
    margin: 0;
    font-size: 15px;
    line-height: 1.5;
  }
  .sector-card ul {
    grid-column: 2;
    margin: 0;
    padding-left: 18px;
    font-size: 15px;
    line-height: 1.45;
    text-align: left;
    hyphens: none;
  }
  .equipment-grid,
  .footer-grid { grid-template-columns: 1fr; gap: 38px; }
  .equipment-card { grid-template-columns:1fr; gap:18px; }
  .equipment-card img { max-height:360px; }
  .case-grid h4 { min-height:0; }
  .fabrication-case { padding: 46px 0 54px; }
  .fabrication-case > h3 { font-size: 31px; }
  .case-lead { margin-bottom: 26px; font-size: 16px; line-height: 1.55; }
  .case-grid {
    display: flex;
    gap: 16px;
    margin-inline: -16px;
    padding: 0 16px 14px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .case-grid::-webkit-scrollbar { display: none; }
  .case-grid figure { flex: 0 0 min(84vw, 420px); scroll-snap-align: center; }
  .case-grid h4 { margin-bottom: 12px; font-size: 20px; }
  .case-grid figcaption { margin-top: 8px; font-size: 15px; }
  .case-summary { margin-top: 24px; font-size: 15px; line-height: 1.55; }
  .contact-layout { grid-template-columns:1fr; gap:52px; }
  .contact-form-panel { grid-column:auto; }
  .home-area-grid,.home-project-grid { grid-template-columns:1fr; }
  .projects-scope { grid-template-columns:1fr 1fr; }
  .projects-scope span { border-bottom:1px solid var(--omexa-line); }
  .project-case { padding:72px 0; }
  .project-media-main img { height:330px; }
  .project-media img { height:220px; }
  .project-video-block { grid-template-columns:1fr; gap:30px; margin-top:55px; padding-top:50px; }
  .project-gallery .project-stage { height:390px; }
  .projects-special-grid { grid-template-columns:1fr; }
  .projects-gallery { grid-template-columns:1fr; }
  .projects-gallery.is-all { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery-open,.gallery-open img { min-height:300px; }
  .gallery-overlay { transform:none; opacity:1; }
  .home-area-card { min-height:430px; }
  .home-area-card > div { left:24px; right:24px; bottom:24px; }
  .home-section-heading { align-items:flex-start; flex-direction:column; }
  .client-logo { width:170px; height:96px; padding:13px 17px; }
  .project-stage { height: 390px; }
  .project-thumbs { gap: 7px; }
  .project-thumbs button { height: 70px; }
  .cta-inner { align-items: flex-start; flex-direction: column; }
  .whatsapp-float { width: 56px; height: 56px; right: 16px; bottom: 16px; }
}

@media (max-width: 480px) {
  body { font-size: 16px; }
  .header-inner { min-height: 78px; }
  .brand img { width: 205px; max-height:64px; }
  .footer-brand-heading img { width:72px; height:66px; }
  .footer-brand-heading h2 { font-size:25px; }
  .hero h1 { font-size: 38px; }
  .hero p { font-size: 19px; line-height: 1.4; }
  .hero-actions { gap: 10px; margin-top: 28px; }
  .hero-actions .button { width: 100%; min-height: 52px; padding-inline: 18px; }
  .contact-line { font-size: 17px; }
  .project-thumbs button { height: 54px; }
  .project-media { grid-template-columns:1fr; }
  .project-media-main { grid-column:auto; }
  .project-media-main img,.project-media img { height:280px; }
  .project-facts div { grid-template-columns:1fr; gap:5px; }
  .projects-gallery.is-all { grid-template-columns:1fr; }
}
