/*
 * global.css — Variables CSS y estilos base de Alkain Child Theme
 * Dark-theme industrial. Tokens extraídos de mockup-homepage.html
 */

/* =====================================================
   VARIABLES DE DISEÑO
   ===================================================== */

:root {
	/* Colores — dark theme */
	--color-primary:        #1A2B4A;
	--color-primary-light:  #2B4A7A;
	--color-accent:         #E8630A;
	--color-accent-light:   #F5884A;
	--color-bg-dark:        #080e18;
	--color-bg-card:        #151e2e;
	--color-bg-section:     #0f1520;
	--color-bg-mid:         #111827;
	--color-bg-nav:         rgba(10, 16, 28, 0.97);
	--color-text-primary:   #ffffff;
	--color-text-muted:     rgba(255, 255, 255, 0.62);
	--color-text-subtle:    rgba(255, 255, 255, 0.38);
	--color-border:         rgba(255, 255, 255, 0.07);
	--color-border-mid:     rgba(255, 255, 255, 0.09);

	/* Legado (para bloques Gutenberg internos y páginas de contenido) */
	--color-neutral-dark:   #1C1C1E;
	--color-neutral-mid:    #5A6478;
	--color-neutral-light:  #F4F5F7;
	--color-white:          #FFFFFF;
	--color-steel:          #8A9BAD;

	/* Tipografía */
	--font-heading: 'Inter', system-ui, sans-serif;
	--font-body:    'Inter', system-ui, sans-serif;
	--font-mono:    'JetBrains Mono', 'Courier New', monospace;

	/* Escala de fuentes */
	--text-sm:   0.875rem;
	--text-base: 1rem;
	--text-lg:   1.125rem;
	--text-xl:   1.25rem;
	--text-2xl:  1.5rem;
	--text-3xl:  1.875rem;
	--text-4xl:  2.25rem;
	--text-5xl:  3rem;

	/* Espaciado */
	--space-sm:  1rem;
	--space-md:  1.5rem;
	--space-lg:  2.5rem;
	--space-xl:  4rem;
	--space-2xl: 6rem;

	/* Layout */
	--max-width: 1200px;

	/* Bordes */
	--radius-sm: 2px;
	--radius-md: 4px;
	--radius-lg: 7px;

	/* Sombras */
	--shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.3);
	--shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
	--shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);

	/* Transiciones */
	--transition: 0.15s ease;
}

/* =====================================================
   RESET / BASE
   ===================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-body);
	font-size: var(--text-base);
	line-height: 1.6;
	color: var(--color-text-primary);
	background-color: var(--color-bg-dark);
	-webkit-font-smoothing: antialiased;
}

/* =====================================================
   TIPOGRAFÍA
   ===================================================== */

h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-heading);
	color: var(--color-text-primary);
	line-height: 1.2;
	font-weight: 700;
	margin-top: 0;
}

h1 { font-size: var(--text-5xl); line-height: 1.1; letter-spacing: -0.025em; }
h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); }
h3 { font-size: var(--text-2xl); font-weight: 600; }
h4 { font-size: var(--text-xl);  font-weight: 600; }

/* Specs técnicas en monospace */
.alkain-spec-val,
.alkain-machine-name,
code,
pre {
	font-family: var(--font-mono);
}

/* =====================================================
   ENLACES
   ===================================================== */

a {
	color: var(--color-accent);
	text-decoration: none;
	transition: color var(--transition);
}

a:hover {
	color: var(--color-accent-light);
}

/* =====================================================
   LAYOUT
   ===================================================== */

.alkain-container {
	max-width: var(--max-width);
	margin-inline: auto;
	padding-inline: 2.5rem;
}

.alkain-section {
	max-width: var(--max-width);
	margin-inline: auto;
	padding: 68px 40px;
}

/* Fondos de sección */
.alkain-bg-dark    { background-color: var(--color-bg-dark);    }
.alkain-bg-section { background-color: var(--color-bg-section); }
.alkain-bg-mid     { background-color: var(--color-bg-mid);     }
.alkain-bg-card    { background-color: var(--color-bg-card);    }

/* =====================================================
   SECTION HEADERS (tag + title + subtitle)
   ===================================================== */

.alkain-section-tag {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin-bottom: 10px;
}

.alkain-section-title {
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 700;
	color: var(--color-text-primary);
	line-height: 1.2;
	margin-bottom: 10px;
}

.alkain-section-sub {
	font-size: 14.5px;
	color: var(--color-text-subtle);
	line-height: 1.65;
	max-width: 520px;
	margin-bottom: 40px;
}

.alkain-section-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 36px;
}

.alkain-section-more {
	font-size: 13px;
	color: var(--color-accent);
	text-decoration: none;
	white-space: nowrap;
}

.alkain-section-more:hover { color: var(--color-accent-light); }

/* =====================================================
   HERO — dark industrial con overlay y grid decorativo
   ===================================================== */

.alkain-hero-wrap {
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	background-color: #0a101c;
	overflow: hidden;
}

.alkain-hero-bg {
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0.25;
}

/* Grid decorativo de líneas sutiles */
.alkain-hero-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
	background-size: 48px 48px;
	pointer-events: none;
}

/* Gradiente de fade de izquierda a transparente */
.alkain-hero-gradient {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(8, 14, 24, 0.95) 40%, rgba(8, 14, 24, 0.4) 100%);
	pointer-events: none;
}

.alkain-hero-content {
	position: relative;
	z-index: 2;
	max-width: var(--max-width);
	margin-inline: auto;
	padding: 80px 40px;
	width: 100%;
}

/* Pill tag encima del H1 */
.alkain-hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(232, 99, 10, 0.15);
	border: 1px solid rgba(232, 99, 10, 0.3);
	color: #f5884a;
	font-size: 11.5px;
	font-weight: 500;
	letter-spacing: 0.07em;
	padding: 5px 12px;
	border-radius: var(--radius-md);
	margin-bottom: 22px;
	text-transform: uppercase;
}

.alkain-hero-pill-dot {
	width: 6px;
	height: 6px;
	background: var(--color-accent);
	border-radius: 50%;
	flex-shrink: 0;
}

/* H1 del hero */
.alkain-hero-content h1 {
	font-size: clamp(2rem, 3.8vw, 3.1rem);
	font-weight: 700;
	color: var(--color-text-primary);
	line-height: 1.1;
	letter-spacing: -0.025em;
	max-width: 660px;
	margin-bottom: 18px;
}

.alkain-hero-content h1 em {
	color: var(--color-accent);
	font-style: normal;
}

/* Párrafo descripción */
.alkain-hero-desc {
	font-size: 15.5px;
	color: rgba(255, 255, 255, 0.6);
	line-height: 1.7;
	max-width: 500px;
	margin-bottom: 32px;
}

/* Botones del hero */
.alkain-hero-btns {
	display: flex;
	gap: 10px;
	margin-bottom: 52px;
	flex-wrap: wrap;
}

.alkain-btn-primary {
	background: var(--color-accent);
	color: var(--color-white);
	font-size: 14px;
	font-weight: 500;
	padding: 12px 22px;
	border-radius: var(--radius-md);
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	transition: background var(--transition);
}

.alkain-btn-primary:hover {
	background: var(--color-accent-light);
	color: var(--color-white);
}

.alkain-btn-ghost {
	background: transparent;
	color: rgba(255, 255, 255, 0.78);
	font-size: 14px;
	padding: 12px 22px;
	border-radius: var(--radius-md);
	border: 1px solid rgba(255, 255, 255, 0.18);
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	transition: background var(--transition), color var(--transition);
}

.alkain-btn-ghost:hover {
	background: rgba(255, 255, 255, 0.08);
	color: var(--color-white);
}

/* Stats bar */
.alkain-hero-stats {
	display: flex;
	gap: 0;
	border-top: 1px solid var(--color-border-mid);
	padding-top: 28px;
	flex-wrap: wrap;
}

.alkain-stat {
	padding-right: 28px;
	margin-right: 28px;
	border-right: 1px solid var(--color-border-mid);
}

.alkain-stat:last-child {
	border-right: none;
	margin-right: 0;
}

.alkain-stat-val {
	font-size: 26px;
	font-weight: 700;
	color: var(--color-text-primary);
	line-height: 1;
	letter-spacing: -0.02em;
}

.alkain-stat-val b {
	color: var(--color-accent);
	font-weight: 700;
}

.alkain-stat-lbl {
	font-size: 11px;
	color: var(--color-text-subtle);
	margin-top: 5px;
	letter-spacing: 0.04em;
}

/* =====================================================
   SPECS STRIP — franja de capacidades técnicas
   ===================================================== */

.alkain-specs-strip {
	background: #08101e;
	border-top: 1px solid rgba(255, 255, 255, 0.05);
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.alkain-specs-inner {
	max-width: var(--max-width);
	margin-inline: auto;
	padding: 18px 40px;
	display: flex;
	align-items: center;
	gap: 0;
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.alkain-spec {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 0 24px 0 0;
	margin-right: 24px;
	border-right: 1px solid var(--color-border);
	flex-shrink: 0;
}

.alkain-spec:last-child {
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}

.alkain-spec-dot {
	width: 7px;
	height: 7px;
	background: var(--color-accent);
	border-radius: 50%;
	flex-shrink: 0;
}

.alkain-spec-val {
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text-primary);
}

.alkain-spec-lbl {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.35);
	margin-left: 3px;
}

/* =====================================================
   SERVICE CARDS
   ===================================================== */

.alkain-services-section {
	background: var(--color-bg-section);
}

.alkain-services-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
}

.alkain-svc-card {
	background: var(--color-bg-card);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-left: 3px solid var(--color-accent);
	border-radius: 0 var(--radius-lg) var(--radius-lg) 0;
	padding: 22px 18px;
	transition: background var(--transition);
	text-decoration: none;
	display: block;
}

.alkain-svc-card:hover {
	background: #1c2640;
}

.alkain-svc-icon {
	width: 34px;
	height: 34px;
	background: rgba(232, 99, 10, 0.14);
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 13px;
}

.alkain-svc-icon svg {
	width: 17px;
	height: 17px;
	stroke: var(--color-accent);
	fill: none;
	stroke-width: 1.8;
}

.alkain-svc-card h3 {
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text-primary);
	margin-bottom: 7px;
}

.alkain-svc-card p {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.45);
	line-height: 1.55;
	margin-bottom: 13px;
}

.alkain-svc-link {
	font-size: 12px;
	color: var(--color-accent);
	font-weight: 500;
}

/* =====================================================
   MACHINE TABLE — dark version
   ===================================================== */

.alkain-machine-table-wrapper {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border-radius: var(--radius-md);
}

.alkain-machine-table {
	width: 100%;
	border-collapse: collapse;
}

.alkain-machine-table thead th {
	background: var(--color-primary);
	color: rgba(255, 255, 255, 0.65);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 11px 15px;
	text-align: left;
	border-bottom: 2px solid rgba(232, 99, 10, 0.35);
	white-space: nowrap;
}

.alkain-machine-table tbody tr {
	border-bottom: 1px solid rgba(255, 255, 255, 0.045);
}

.alkain-machine-table tbody tr:hover {
	background: rgba(255, 255, 255, 0.025);
}

.alkain-machine-table td {
	padding: 12px 15px;
	font-size: 13px;
	color: var(--color-text-muted);
}

.alkain-machine-name {
	font-family: var(--font-mono);
	color: var(--color-text-primary);
	font-weight: 500;
	font-size: 12.5px !important;
}

/* Badges */
.alkain-badge {
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 3px 8px;
	border-radius: 3px;
	text-transform: uppercase;
}

.alkain-badge--cnc {
	background: rgba(26, 43, 74, 0.9);
	color: #7aa4d4;
	border: 1px solid rgba(120, 164, 212, 0.2);
}

.alkain-badge--5x {
	background: rgba(232, 99, 10, 0.18);
	color: #f5884a;
	border: 1px solid rgba(232, 99, 10, 0.3);
}

/* Chip ISO 9001 */
.alkain-iso-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(255, 255, 255, 0.09);
	border-radius: var(--radius-md);
	padding: 7px 13px;
}

.alkain-iso-chip-name {
	font-size: 12px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
}

.alkain-iso-chip-sub {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.28);
}

.alkain-mach-footnote {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 14px;
	flex-wrap: wrap;
}

.alkain-mach-footnote-text {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.28);
}

/* =====================================================
   WHY US GRID
   ===================================================== */

.alkain-why-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.alkain-why-card {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: 26px 22px;
}

.alkain-why-num {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	color: var(--color-accent);
	margin-bottom: 10px;
}

.alkain-why-card h4 {
	font-size: 14.5px;
	font-weight: 600;
	color: var(--color-text-primary);
	margin-bottom: 7px;
}

.alkain-why-card p {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.43);
	line-height: 1.6;
	margin: 0;
}

/* =====================================================
   SECTOR CARDS
   ===================================================== */

.alkain-sectors-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 11px;
}

.alkain-sec-card {
	background: var(--color-bg-card);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: var(--radius-lg);
	padding: 18px 16px;
	transition: background var(--transition), border-color var(--transition);
	text-decoration: none;
	display: block;
}

.alkain-sec-card:hover {
	background: #1c2640;
	border-color: rgba(232, 99, 10, 0.25);
}

.alkain-sec-icon {
	width: 38px;
	height: 38px;
	background: #1a2540;
	border-radius: var(--radius-lg);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 11px;
	font-size: 17px;
}

.alkain-sec-card h4 {
	font-size: 13px;
	font-weight: 600;
	color: var(--color-text-primary);
	margin-bottom: 5px;
}

.alkain-sec-card p {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.38);
	line-height: 1.5;
	margin: 0;
}

/* =====================================================
   CTA BAND
   ===================================================== */

.alkain-cta-band {
	background: var(--color-accent);
	padding: 58px 40px;
	text-align: center;
}

.alkain-cta-band h2 {
	font-size: clamp(1.4rem, 2.5vw, 1.8rem);
	font-weight: 700;
	color: var(--color-white);
	margin-bottom: 10px;
}

.alkain-cta-band p {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.82);
	margin-bottom: 26px;
}

.alkain-cta-btns {
	display: flex;
	gap: 10px;
	justify-content: center;
	flex-wrap: wrap;
}

.alkain-btn-white {
	background: var(--color-white);
	color: var(--color-accent);
	font-size: 14px;
	font-weight: 600;
	padding: 12px 26px;
	border-radius: var(--radius-md);
	border: none;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	transition: opacity var(--transition);
}

.alkain-btn-white:hover {
	opacity: 0.9;
	color: var(--color-accent);
}

.alkain-btn-outline-white {
	background: transparent;
	color: var(--color-white);
	font-size: 14px;
	font-weight: 500;
	padding: 12px 26px;
	border-radius: var(--radius-md);
	border: 2px solid rgba(255, 255, 255, 0.45);
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	transition: background var(--transition);
}

.alkain-btn-outline-white:hover {
	background: rgba(255, 255, 255, 0.12);
	color: var(--color-white);
}

/* =====================================================
   FOOTER — dark
   ===================================================== */

.alkain-footer {
	background: #060c16;
	padding: 52px 40px 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.alkain-footer-inner {
	max-width: var(--max-width);
	margin-inline: auto;
}

.alkain-footer-grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 44px;
	margin-bottom: 36px;
}

.alkain-footer-desc {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.35);
	line-height: 1.65;
	margin-bottom: 14px;
	max-width: 290px;
}

.alkain-footer-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.alkain-footer-list li {
	margin-bottom: 7px;
}

.alkain-footer-list a,
.alkain-footer-col a {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.38);
	margin-bottom: 7px;
	text-decoration: none;
	transition: color var(--transition);
}

.alkain-footer-list a:hover,
.alkain-footer-col a:hover {
	color: rgba(255, 255, 255, 0.7);
}

.alkain-footer-col h5 {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.28);
	margin-bottom: 13px;
}

.alkain-footer-bar {
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	padding-top: 18px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.alkain-footer-bar span {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.22);
}

.alkain-footer-legal {
	display: flex;
	gap: 18px;
}

.alkain-footer-legal a {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.22);
	text-decoration: none;
	transition: color var(--transition);
}

.alkain-footer-legal a:hover {
	color: rgba(255, 255, 255, 0.5);
}

/* =====================================================
   ANIMACIONES — fade-in (IntersectionObserver en main.js)
   ===================================================== */

.fade-in {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

.fade-in.is-visible {
	opacity: 1;
	transform: translateY(0);
}

/* =====================================================
   HEADER — NAV
   ===================================================== */

.alkain-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: rgba(10, 16, 28, 0.97);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	height: 64px;
}

.alkain-header-inner {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 0 40px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

/* Logo */
.alkain-header-logo a {
	display: flex;
	align-items: center;
	text-decoration: none;
	flex-shrink: 0;
}

.alkain-logo-img {
	height: 30px;
	width: auto;
	display: block;
}

/* Proteger el logo de sobrescrituras de Kadence */
.alkain-header .alkain-header-logo img,
.alkain-header .alkain-logo-img {
	width: auto !important;
	height: 30px !important;
	display: block !important;
	max-width: none !important;
	visibility: visible !important;
}

/* Nav list — desktop */
.alkain-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.alkain-nav-list {
	display: flex;
	align-items: center;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.alkain-nav-item {
	position: relative;
}

.alkain-nav-link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: rgba(255, 255, 255, 0.65);
	font-size: 13.5px;
	font-weight: 400;
	padding: 6px 11px;
	border-radius: 5px;
	text-decoration: none;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--font-body);
	white-space: nowrap;
	transition: background var(--transition), color var(--transition);
	line-height: 1;
	height: 34px;
}

.alkain-nav-link:hover,
.alkain-nav-link:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	outline: none;
}

.alkain-nav-item.current-menu-item > .alkain-nav-link,
.alkain-nav-item.current-menu-ancestor > .alkain-nav-link,
.alkain-nav-item.alkain-nav-active > .alkain-nav-link {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.alkain-nav-arrow {
	font-size: 9px;
	opacity: 0.5;
	transition: transform var(--transition), opacity var(--transition);
	display: inline-block;
}

.alkain-dropdown-toggle[aria-expanded="true"] .alkain-nav-arrow {
	transform: rotate(180deg);
	opacity: 0.8;
}

/* Dropdown menu */
.alkain-dropdown-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 220px;
	background: rgba(8, 14, 24, 0.98);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--radius-lg);
	padding: 6px;
	list-style: none;
	margin: 0;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
	z-index: 300;
}

.alkain-has-dropdown:hover .alkain-dropdown-menu,
.alkain-dropdown-toggle[aria-expanded="true"] + .alkain-dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.alkain-has-dropdown:hover .alkain-nav-arrow {
	transform: rotate(180deg);
	opacity: 0.8;
}

.alkain-dropdown-menu a {
	display: block;
	padding: 8px 12px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.62);
	text-decoration: none;
	border-radius: 5px;
	transition: background var(--transition), color var(--transition);
}

.alkain-dropdown-menu a:hover {
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
}

/* Header right zone */
.alkain-header-right {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-shrink: 0;
}

/* Language picker */
.alkain-lang-picker {
	display: flex;
	gap: 3px;
}

.alkain-lang {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.4);
	padding: 3px 7px;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: 3px;
	cursor: pointer;
	transition: color var(--transition), border-color var(--transition);
	user-select: none;
}

.alkain-lang:hover {
	color: rgba(255, 255, 255, 0.75);
	border-color: rgba(255, 255, 255, 0.25);
}

.alkain-lang.active {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.35);
}

/* CTA button */
.alkain-btn-nav {
	background: var(--color-accent);
	color: #fff !important;
	font-size: 13px;
	font-weight: 500;
	padding: 9px 16px;
	border-radius: var(--radius-md);
	border: none;
	cursor: pointer;
	text-decoration: none !important;
	white-space: nowrap;
	font-family: var(--font-body);
	display: inline-flex;
	align-items: center;
	transition: background var(--transition);
	line-height: 1;
}

.alkain-btn-nav:hover {
	background: var(--color-accent-light);
}

/* Hamburger button */
.alkain-menu-toggle {
	display: none;
	flex-direction: column;
	justify-content: space-between;
	width: 26px;
	height: 20px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
}

.alkain-hamburger-line {
	display: block;
	width: 100%;
	height: 2px;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 1px;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.alkain-menu-toggle.is-open .alkain-hamburger-line:nth-child(1) {
	transform: translateY(9px) rotate(45deg);
}

.alkain-menu-toggle.is-open .alkain-hamburger-line:nth-child(2) {
	opacity: 0;
}

.alkain-menu-toggle.is-open .alkain-hamburger-line:nth-child(3) {
	transform: translateY(-9px) rotate(-45deg);
}

/* Mobile nav overlay */
.alkain-mobile-nav {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: rgba(6, 12, 22, 0.98);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	padding: 8px 20px 20px;
	max-height: calc(100vh - 64px);
	overflow-y: auto;
	z-index: 199;
}

.alkain-mobile-nav.is-open {
	display: block;
}

.alkain-mobile-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.alkain-mobile-nav-item {
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.alkain-mobile-nav-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 13px 4px;
	color: rgba(255, 255, 255, 0.75);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	background: none;
	border: none;
	cursor: pointer;
	font-family: var(--font-body);
	text-align: left;
	transition: color var(--transition);
}

.alkain-mobile-nav-link:hover {
	color: #fff;
}

/* Mobile submenu accordion */
.alkain-mobile-submenu {
	list-style: none;
	margin: 0;
	padding: 0 0 10px 12px;
	display: none;
}

.alkain-mobile-submenu.is-open {
	display: block;
}

.alkain-mobile-submenu a {
	display: block;
	padding: 9px 4px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.45);
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 255, 255, 0.04);
	transition: color var(--transition);
}

.alkain-mobile-submenu a:hover {
	color: rgba(255, 255, 255, 0.8);
}

.alkain-mobile-submenu li:last-child a {
	border-bottom: none;
}

/* Language row inside mobile nav */
.alkain-mobile-lang-row {
	display: flex;
	gap: 6px;
	padding: 16px 4px 8px;
}

/* is-scrolled: shadow */
.alkain-header.is-scrolled {
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.4);
}

/* Footer logo */
.alkain-footer-logo {
	height: 26px;
	width: auto;
	opacity: 0.85;
	margin-bottom: 13px;
	display: block;
}

.alkain-footer-col-brand .alkain-footer-contact span,
.alkain-footer-col-brand .alkain-footer-contact a {
	display: block;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.36);
	margin-bottom: 5px;
	text-decoration: none;
	transition: color var(--transition);
}

.alkain-footer-col-brand .alkain-footer-contact a:hover {
	color: rgba(255, 255, 255, 0.65);
}

/* Skip link */
.alkain-skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 9999;
	padding: 0.5rem 1rem;
	background: var(--color-accent);
	color: var(--color-white);
	font-weight: 600;
	border-radius: var(--radius-md);
	transition: top 0.2s;
	text-decoration: none;
}

.alkain-skip-link:focus {
	top: 0.5rem;
}

/* =====================================================
   ACCESIBILIDAD
   ===================================================== */

:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 3px;
	border-radius: var(--radius-sm);
}

.skip-link {
	position: absolute;
	top: -100%;
	left: 1rem;
	z-index: 9999;
	padding: 0.5rem 1rem;
	background: var(--color-accent);
	color: var(--color-white);
	font-weight: 600;
	border-radius: var(--radius-md);
	transition: top 0.2s;
}

.skip-link:focus { top: 0.5rem; }

/* =====================================================
   PAGE HERO — inner pages (service, sector, etc.)
   ===================================================== */

.page-hero {
	background: #0a101c;
	padding: 48px 40px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.hero-inner {
	max-width: var(--max-width);
	margin: 0 auto;
}

.breadcrumb {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 20px;
}

.breadcrumb a {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.32);
	text-decoration: none;
	transition: color var(--transition);
}

.breadcrumb a:hover { color: rgba(255, 255, 255, 0.6); }
.breadcrumb-sep { font-size: 12px; color: rgba(255, 255, 255, 0.18); }
.breadcrumb-cur { font-size: 12px; color: rgba(255, 255, 255, 0.55); }

.hero-grid {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 56px;
	align-items: start;
}

.hero-pill {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: rgba(232, 99, 10, 0.14);
	border: 1px solid rgba(232, 99, 10, 0.28);
	color: #f5884a;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.07em;
	padding: 4px 11px;
	border-radius: 4px;
	margin-bottom: 18px;
	text-transform: uppercase;
}

.hero-pill-dot {
	width: 5px;
	height: 5px;
	background: var(--color-accent);
	border-radius: 50%;
	flex-shrink: 0;
}

.page-h1 {
	font-size: clamp(1.6rem, 3vw, 2.4rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.1;
	letter-spacing: -0.025em;
	margin-bottom: 16px;
}

.page-h1 em { color: var(--color-accent); font-style: normal; }

.page-desc {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.55);
	line-height: 1.7;
	margin-bottom: 26px;
	max-width: 600px;
}

/* QUICK-BOX — índice lateral de la página */
.quick-box {
	background: #111827;
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: 8px;
	padding: 20px 18px;
	position: sticky;
	top: 80px;
}

.quick-box-title {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.3);
	margin-bottom: 12px;
}

.quick-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.55);
	text-decoration: none;
	transition: color var(--transition);
}

.quick-link:last-child { border-bottom: none; }
.quick-link:hover { color: #fff; }
.quick-link-arr { font-size: 11px; color: var(--color-accent); flex-shrink: 0; }

/* =====================================================
   SERVICE PAGE SECTIONS
   ===================================================== */

.svc-section {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 60px 40px;
}

.svc-section-tag {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin-bottom: 9px;
}

.svc-section-h2 {
	font-size: clamp(1.25rem, 2.2vw, 1.75rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 12px;
}

.svc-section-body {
	font-size: 14.5px;
	color: rgba(255, 255, 255, 0.5);
	line-height: 1.72;
	margin-bottom: 20px;
	max-width: 840px;
}

.highlight-box {
	background: #151e2e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-left: 3px solid var(--color-accent);
	border-radius: 0 7px 7px 0;
	padding: 18px 20px;
	margin: 24px 0;
}

.highlight-box p {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.58);
	line-height: 1.65;
	font-style: italic;
	margin: 0;
}

/* MACH BLOCKS — tablas de maquinaria separadas por tipo */
.mach-block { margin-bottom: 32px; }

.mach-block-label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
	margin-bottom: 10px;
	padding-bottom: 8px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.ibarmia-row td { background: rgba(232, 99, 10, 0.04) !important; }

.mach-note {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 16px;
	padding: 14px 16px;
	background: rgba(232, 99, 10, 0.07);
	border: 1px solid rgba(232, 99, 10, 0.15);
	border-radius: 6px;
}

.mach-note-dot {
	width: 8px;
	height: 8px;
	background: var(--color-accent);
	border-radius: 50%;
	flex-shrink: 0;
	margin-top: 4px;
}

.mach-note-text { font-size: 13px; color: rgba(255, 255, 255, 0.58); line-height: 1.6; }
.mach-note-text strong { color: #f5884a; font-weight: 600; }

/* SECTORES GRID 3 COL — páginas de servicio */
.svc-sectors-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.svc-sec-card {
	background: #151e2e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 7px;
	padding: 18px 16px;
	text-decoration: none;
	display: block;
	transition: background var(--transition);
}

.svc-sec-card:hover { background: #1c2640; }

.svc-sec-head {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 6px;
}

.svc-sec-dot {
	width: 7px;
	height: 7px;
	background: var(--color-accent);
	border-radius: 50%;
	flex-shrink: 0;
}

.svc-sec-card h4 { font-size: 13.5px; font-weight: 600; color: #fff; margin: 0; }
.svc-sec-card p { font-size: 12.5px; color: rgba(255, 255, 255, 0.38); line-height: 1.55; padding-left: 16px; margin: 0; }

.sec-extra {
	margin-top: 14px;
	padding: 10px 14px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 5px;
	font-size: 12px;
	color: rgba(255, 255, 255, 0.28);
	font-style: italic;
}

/* WHY LIST — vertical numerada */
.why-list { display: flex; flex-direction: column; }

.why-item {
	display: grid;
	grid-template-columns: 72px 1fr;
	padding: 22px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.why-item:last-child { border-bottom: none; }

.why-num {
	font-size: 30px;
	font-weight: 700;
	color: rgba(232, 99, 10, 0.22);
	letter-spacing: -0.03em;
	line-height: 1;
	padding-top: 2px;
}

.why-body h4 { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 6px; }
.why-body p { font-size: 13.5px; color: rgba(255, 255, 255, 0.43); line-height: 1.65; margin: 0; }

/* FAQ WRAPPER + ACCORDION */
.faq-wrap {
	max-width: var(--max-width);
	margin: 0 auto;
	padding: 60px 40px;
}

.faq-wrap .svc-section-h2 { margin-bottom: 32px; }

.faq-list { display: flex; flex-direction: column; }

.faq-item { border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.faq-item:first-child { border-top: 1px solid rgba(255, 255, 255, 0.06); }

.faq-trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 18px 0;
	cursor: pointer;
	background: none;
	border: none;
	width: 100%;
	text-align: left;
}

.faq-q {
	font-size: 14.5px;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.4;
	transition: color var(--transition);
}

.faq-trigger:hover .faq-q { color: rgba(255, 255, 255, 0.95); }

.faq-icon {
	width: 22px;
	height: 22px;
	border-radius: 50%;
	border: 1px solid rgba(232, 99, 10, 0.35);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: background var(--transition), border-color var(--transition);
}

.faq-icon svg {
	width: 12px;
	height: 12px;
	stroke: var(--color-accent);
	fill: none;
	stroke-width: 2.5;
	transition: transform 0.25s;
}

.faq-item.open .faq-icon {
	background: rgba(232, 99, 10, 0.15);
	border-color: rgba(232, 99, 10, 0.5);
}

.faq-item.open .faq-icon svg { transform: rotate(45deg); }

.faq-body {
	display: none;
	padding: 0 0 18px;
}

.faq-item.open .faq-body { display: block; }

.faq-body p {
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.48);
	line-height: 1.72;
	margin: 0;
}

/* =====================================================
   PÁGINA EMPRESA — clases específicas
   ===================================================== */

/* Historia 2 columnas */
.empresa-historia-grid {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 56px;
	align-items: start;
}

.empresa-hitos-label {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.28);
	margin-bottom: 16px;
}

/* Timeline */
.empresa-timeline {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.tl-item {
	display: flex;
	gap: 16px;
	padding: 16px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

.tl-item:last-child { border-bottom: none; }

.tl-year {
	font-size: 13px;
	font-weight: 700;
	color: #E8630A;
	min-width: 44px;
	padding-top: 1px;
	flex-shrink: 0;
}

.tl-text {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.45);
	line-height: 1.55;
}

.tl-text strong {
	color: rgba(255, 255, 255, 0.7);
	font-weight: 600;
}

/* Foto cover caption */
.empresa-foto-caption {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px 40px;
}

.empresa-foto-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(232, 99, 10, 0.18);
	border: 1px solid rgba(232, 99, 10, 0.3);
	color: #f5884a;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	padding: 5px 12px;
	border-radius: 4px;
	text-transform: uppercase;
	margin-bottom: 14px;
}

.empresa-foto-h2 {
	font-size: clamp(1.3rem, 2.5vw, 2rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.2;
	max-width: 600px;
}

/* Instalaciones 3 cards */
.empresa-instal-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
	margin-top: 8px;
}

.empresa-instal-card {
	background: #151e2e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 8px;
	padding: 28px 22px;
}

.empresa-instal-icon {
	width: 42px;
	height: 42px;
	background: rgba(232, 99, 10, 0.12);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
}

.empresa-instal-icon svg {
	width: 20px;
	height: 20px;
	stroke: #E8630A;
	fill: none;
	stroke-width: 1.7;
}

.empresa-instal-val {
	font-size: 26px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 4px;
	letter-spacing: -0.02em;
}

.empresa-instal-val span { color: #E8630A; }

.empresa-instal-card h3 {
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 8px;
}

.empresa-instal-card p {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.43);
	line-height: 1.6;
}

/* Valores 2 columnas */
.empresa-valores-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 48px;
	align-items: start;
}

.empresa-valores-list {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-top: 8px;
}

.empresa-valor-item {
	display: flex;
	gap: 14px;
	align-items: flex-start;
}

.empresa-valor-dot {
	width: 8px;
	height: 8px;
	background: #E8630A;
	border-radius: 50%;
	flex-shrink: 0;
	margin-top: 6px;
}

.empresa-valor-item h4 {
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	margin-bottom: 4px;
}

.empresa-valor-item p {
	font-size: 13px;
	color: rgba(255, 255, 255, 0.43);
	line-height: 1.6;
	margin: 0;
}

.empresa-valores-quote {
	background: #151e2e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-left: 3px solid #E8630A;
	border-radius: 0 8px 8px 0;
	padding: 28px 24px;
}

.empresa-valores-quote blockquote {
	font-size: 16px;
	color: rgba(255, 255, 255, 0.72);
	line-height: 1.7;
	font-style: italic;
	margin-bottom: 16px;
}

.empresa-valores-quote cite {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.3);
	font-style: normal;
	letter-spacing: 0.04em;
}

/* Calidad — 4 métricas + metrología */
.empresa-calidad-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 14px;
	margin-bottom: 32px;
}

.empresa-calidad-metric {
	background: #151e2e;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 7px;
	padding: 20px 16px;
	text-align: center;
}

.empresa-metric-val {
	font-size: 22px;
	font-weight: 700;
	color: #fff;
	margin-bottom: 4px;
	letter-spacing: -0.02em;
}

.empresa-metric-val span { color: #E8630A; }

.empresa-metric-lbl {
	font-size: 11px;
	color: rgba(255, 255, 255, 0.35);
	line-height: 1.4;
}

.empresa-metrol-panel {
	background: #111827;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 8px;
	padding: 22px 24px;
}

.empresa-metrol-title {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.35);
	margin-bottom: 12px;
}

.empresa-metrol-items {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}

.empresa-metrol-item {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 9px 12px;
	background: #151e2e;
	border-radius: 5px;
}

.empresa-metrol-dot {
	width: 6px;
	height: 6px;
	background: #E8630A;
	border-radius: 50%;
	flex-shrink: 0;
}

.empresa-metrol-item span {
	font-size: 12.5px;
	color: rgba(255, 255, 255, 0.55);
}

/* Sectores — tags compactos */
.empresa-sectores-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
}

.empresa-sector-tag {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #151e2e;
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: 4px;
	padding: 7px 13px;
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
}

.empresa-sector-tag::before {
	content: '';
	width: 5px;
	height: 5px;
	background: #E8630A;
	border-radius: 50%;
	display: inline-block;
	flex-shrink: 0;
}

.empresa-sectores-note {
	margin-top: 16px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, 0.4);
	line-height: 1.65;
}

/* Empresa responsivo */
@media (max-width: 960px) {
	.empresa-historia-grid { grid-template-columns: 1fr; }
	.empresa-valores-grid { grid-template-columns: 1fr; }
	.empresa-calidad-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.empresa-instal-grid { grid-template-columns: 1fr; }
	.empresa-metrol-items { grid-template-columns: 1fr; }
	.empresa-foto-caption { padding: 0 20px 28px; }
}

/* =====================================================
   PÁGINA MAQUINARIA CNC — machine cards, specs strip, tablas
   ===================================================== */

/* Specs strip */
.maq-specs-strip { background: #08101e; border-top: 1px solid rgba(255,255,255,0.05); border-bottom: 1px solid rgba(255,255,255,0.05); }
.maq-specs-inner { max-width: 1200px; margin: 0 auto; padding: 16px 40px; display: flex; align-items: center; overflow-x: auto; white-space: nowrap; }
.maq-spec { display: flex; align-items: center; gap: 9px; padding: 0 24px 0 0; margin-right: 24px; border-right: 1px solid rgba(255,255,255,0.07); flex-shrink: 0; }
.maq-spec:last-child { border-right: none; padding-right: 0; margin-right: 0; }
.maq-spec-dot { width: 7px; height: 7px; background: #E8630A; border-radius: 50%; flex-shrink: 0; }
.maq-spec-val { font-size: 14px; font-weight: 600; color: #fff; }
.maq-spec-lbl { font-size: 12px; color: rgba(255,255,255,0.35); margin-left: 3px; }

/* Section wrappers */
.maq-wrap-dark { background: #0f1520; }
.maq-wrap-mid { background: #111827; }
.maq-wrap-darker { background: #080e18; }
.maq-section { max-width: 1200px; margin: 0 auto; padding: 60px 40px; }
.maq-section-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #E8630A; margin-bottom: 9px; }
.maq-section-h2 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 12px; }
.maq-section-body { font-size: 14.5px; color: rgba(255,255,255,0.5); line-height: 1.72; margin-bottom: 20px; max-width: 840px; }

/* Tabla de máquinas */
.maq-table { width: 100%; border-collapse: collapse; margin-bottom: 36px; table-layout: fixed; }
.maq-table th { background: #1A2B4A; color: rgba(255,255,255,0.6); font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; padding: 10px 14px; text-align: left; border-bottom: 2px solid rgba(232,99,10,0.3); }
.maq-table td { padding: 11px 14px; font-size: 13px; color: rgba(255,255,255,0.58); border-bottom: 1px solid rgba(255,255,255,0.045); }
.maq-table tr:hover td { background: rgba(255,255,255,0.02); }
.maq-table td.maq-mono { font-family: 'Courier New', monospace; color: #fff; font-weight: 500; font-size: 12.5px; }
.maq-badge { display: inline-block; font-size: 10px; font-weight: 600; letter-spacing: 0.05em; padding: 2px 8px; border-radius: 3px; text-transform: uppercase; }
.maq-b-cnc { background: rgba(26,43,74,0.9); color: #7aa4d4; border: 1px solid rgba(120,164,212,0.18); }
.maq-b-5x { background: rgba(232,99,10,0.18); color: #f5884a; border: 1px solid rgba(232,99,10,0.28); }
.maq-b-yes { background: rgba(16,185,129,0.12); color: #34d399; border: 1px solid rgba(52,211,153,0.2); font-size: 10px; padding: 2px 7px; }

/* Machine cards grid */
.maq-machine-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.maq-machine-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: hidden; }
.maq-machine-card.featured { border-color: rgba(232,99,10,0.3); grid-column: 1 / -1; }
.maq-machine-img { width: 100%; height: 240px; object-fit: cover; display: block; background: #0d1929; }
.maq-machine-body { padding: 22px 20px; }
.maq-machine-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.maq-machine-name { font-family: 'Courier New', monospace; font-size: 15px; font-weight: 700; color: #fff; line-height: 1.2; }
.maq-machine-badge-wrap { display: flex; gap: 6px; flex-wrap: wrap; flex-shrink: 0; }
.maq-machine-desc { font-size: 13px; color: rgba(255,255,255,0.45); line-height: 1.6; margin-bottom: 16px; }
.maq-machine-specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.maq-spec-item { background: #0f1520; border-radius: 5px; padding: 9px 12px; }
.maq-spec-item-lbl { font-size: 10.5px; color: rgba(255,255,255,0.3); letter-spacing: 0.04em; margin-bottom: 3px; text-transform: uppercase; }
.maq-spec-item-val { font-size: 13px; font-weight: 600; color: #fff; }
.maq-spec-item-val span { color: #E8630A; }
.maq-img-placeholder { width: 100%; height: 240px; background: #0d1929; border-bottom: 1px dashed rgba(232,99,10,0.25); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
.maq-img-placeholder span { font-size: 11px; color: rgba(255,255,255,0.25); }

/* IBARMIA featured card — horizontal layout */
.maq-machine-card.featured .maq-machine-inner { display: grid; grid-template-columns: 1fr 1fr; }
.maq-machine-card.featured .maq-machine-img { height: 100%; min-height: 300px; object-fit: cover; display: block; }
.maq-machine-card.featured .maq-img-placeholder { height: 100%; min-height: 300px; }
.maq-machine-card.featured .maq-machine-body { padding: 28px 24px; display: flex; flex-direction: column; justify-content: center; }
.maq-machine-card.featured .maq-machine-name { font-size: 17px; }
.maq-machine-card.featured .maq-machine-specs { grid-template-columns: repeat(3, 1fr); }
.maq-featured-tag { display: inline-flex; align-items: center; gap: 6px; background: rgba(232,99,10,0.14); border: 1px solid rgba(232,99,10,0.28); color: #f5884a; font-size: 10px; font-weight: 600; letter-spacing: 0.08em; padding: 3px 9px; border-radius: 3px; text-transform: uppercase; margin-bottom: 10px; }

/* Instalaciones */
.maq-instal-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.maq-instal-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 28px 22px; }
.maq-instal-icon { width: 42px; height: 42px; background: rgba(232,99,10,0.12); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.maq-instal-icon svg { width: 20px; height: 20px; stroke: #E8630A; fill: none; stroke-width: 1.7; }
.maq-instal-card h3 { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.maq-instal-card p { font-size: 13px; color: rgba(255,255,255,0.43); line-height: 1.6; margin: 0; }
.maq-instal-val { font-size: 26px; font-weight: 700; color: #fff; margin-bottom: 4px; letter-spacing: -0.02em; }
.maq-instal-val span { color: #E8630A; }

/* Tabla metrología */
.maq-metrol-table { width: 100%; border-collapse: collapse; }
.maq-metrol-table th { background: #1A2B4A; color: rgba(255,255,255,0.6); font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; padding: 10px 14px; text-align: left; border-bottom: 2px solid rgba(232,99,10,0.3); }
.maq-metrol-table td { padding: 12px 14px; font-size: 13px; color: rgba(255,255,255,0.55); border-bottom: 1px solid rgba(255,255,255,0.045); }
.maq-metrol-table td:first-child { color: #fff; font-weight: 500; }
.maq-metrol-table tr:hover td { background: rgba(255,255,255,0.02); }

/* CTA band maquinaria */
.maq-cta-band { background: #E8630A; padding: 56px 40px; text-align: center; }
.maq-cta-inner { max-width: 520px; margin: 0 auto; }
.maq-cta-band h2 { font-size: clamp(1.3rem, 2.2vw, 1.7rem); font-weight: 700; color: #fff; margin-bottom: 8px; }
.maq-cta-band p { font-size: 14.5px; color: rgba(255,255,255,0.82); margin-bottom: 24px; line-height: 1.6; }
.maq-cta-btn { display: inline-block; background: #fff; color: #E8630A; font-size: 14px; font-weight: 600; padding: 12px 26px; border-radius: 4px; text-decoration: none; }
.maq-cta-btn:hover { background: rgba(255,255,255,0.9); color: #E8630A; }

/* Responsive maquinaria */
@media (max-width: 960px) {
	.maq-machine-card.featured .maq-machine-inner { grid-template-columns: 1fr; }
	.maq-machine-card.featured .maq-machine-img,
	.maq-machine-card.featured .maq-img-placeholder { height: 280px; min-height: 0; }
	.maq-machine-card.featured .maq-machine-specs { grid-template-columns: repeat(2, 1fr); }
	.maq-instal-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 768px) {
	.maq-machine-grid { grid-template-columns: 1fr; }
	.maq-machine-card.featured { grid-column: auto; }
	.maq-instal-grid { grid-template-columns: 1fr; }
	.maq-specs-inner { padding: 12px 20px; }
	.maq-spec { padding-right: 14px; margin-right: 14px; }
	.maq-section { padding: 40px 20px; }
	.maq-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.maq-metrol-table { display: block; overflow-x: auto; }
}

/* =====================================================
   SECTORES HUB (/sectores/)
   ===================================================== */

.sct-sectors-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.sct-sec-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: hidden; text-decoration: none; display: block; transition: border-color 0.15s; }
.sct-sec-card:hover { border-color: rgba(232,99,10,0.35); }
.sct-sec-img-wrap { position: relative; height: 180px; overflow: hidden; background: #0d1929; }
.sct-sec-img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s; }
.sct-sec-card:hover .sct-sec-img { transform: scale(1.04); }
.sct-sec-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(8,14,24,0.65) 100%); pointer-events: none; }
.sct-sec-body { padding: 18px 18px 20px; }
.sct-sec-dot { display: inline-block; width: 6px; height: 6px; background: #E8630A; border-radius: 50%; margin-bottom: 8px; }
.sct-sec-card h3 { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 7px; }
.sct-sec-card p { font-size: 13px; color: rgba(255,255,255,0.43); line-height: 1.55; margin-bottom: 12px; margin-top: 0; }
.sct-sec-link { font-size: 12.5px; color: #E8630A; font-weight: 500; }

/* Hub stats strip */
.sct-stats-strip { background: #08101e; border-top: 1px solid rgba(255,255,255,0.05); border-bottom: 1px solid rgba(255,255,255,0.05); }
.sct-stats-inner { max-width: 1200px; margin: 0 auto; padding: 20px 40px; display: flex; justify-content: space-between; flex-wrap: wrap; gap: 20px; }
.sct-stat-item { text-align: center; }
.sct-stat-val { font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -0.02em; }
.sct-stat-val span { color: #E8630A; }
.sct-stat-lbl { font-size: 11px; color: rgba(255,255,255,0.35); margin-top: 3px; letter-spacing: 0.04em; }

/* Hub section wrapper */
.sct-section { max-width: 1200px; margin: 0 auto; padding: 64px 40px; }
.sct-section-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #E8630A; margin-bottom: 9px; }
.sct-section-h2 { font-size: clamp(1.25rem, 2.2vw, 1.75rem); font-weight: 700; color: #fff; margin-bottom: 10px; }
.sct-section-sub { font-size: 14.5px; color: rgba(255,255,255,0.48); line-height: 1.65; max-width: 600px; margin-bottom: 40px; }

/* =====================================================
   SECTOR INDIVIDUAL — hero con quick-box
   ===================================================== */

.sci-hero-grid { display: grid; grid-template-columns: 1fr 280px; gap: 48px; align-items: end; max-width: 1200px; margin: 0 auto; padding: 0 40px 52px; width: 100%; position: relative; z-index: 2; color: #fff; }
.sci-hero-grid a { color: rgba(255,255,255,0.65); text-decoration: none; }
.sci-hero-grid a:hover { color: #fff; }
.sci-hero-grid p { color: rgba(255,255,255,0.82); }
.sci-hero-quick { background: rgba(10,16,28,0.75); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; padding: 18px 16px; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.sci-hero-quick-title { font-size: 10.5px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.3); margin-bottom: 10px; }
.sci-quick-link { display: flex; align-items: center; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 13px; color: rgba(255,255,255,0.55); text-decoration: none; }
.sci-quick-link:last-child { border-bottom: none; }
.sci-quick-link:hover { color: #fff; }
.sci-quick-arr { font-size: 11px; color: #E8630A; flex-shrink: 0; }

/* Sector individual — secciones */
.sci-wrap-dark { background: #0f1520; }
.sci-wrap-mid { background: #111827; }
.sci-wrap-darker { background: #080e18; }
.sci-section { max-width: 1200px; margin: 0 auto; padding: 60px 40px; }
.sci-section-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #E8630A; margin-bottom: 9px; }
.sci-section-h2 { font-size: clamp(1.2rem, 2vw, 1.65rem); font-weight: 700; color: #fff; line-height: 1.2; margin-bottom: 12px; }
.sci-section-body { font-size: 14.5px; color: rgba(255,255,255,0.5); line-height: 1.72; margin-bottom: 20px; max-width: 820px; }

/* Piezas fabricadas */
.sci-piezas-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; }
.sci-pieza-item { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; background: #151e2e; border-radius: 6px; }
.sci-pieza-dot { width: 6px; height: 6px; background: #E8630A; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.sci-pieza-item span { font-size: 13px; color: rgba(255,255,255,0.6); line-height: 1.45; }

/* Tabla maquinaria sector */
.sci-mach-table { width: 100%; border-collapse: collapse; }
.sci-mach-table th { background: #1A2B4A; color: rgba(255,255,255,0.6); font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; padding: 10px 14px; text-align: left; border-bottom: 2px solid rgba(232,99,10,0.3); }
.sci-mach-table td { padding: 11px 14px; font-size: 13px; color: rgba(255,255,255,0.55); border-bottom: 1px solid rgba(255,255,255,0.045); }
.sci-mach-table tr:hover td { background: rgba(255,255,255,0.02); }
.sci-mach-table td:first-child { font-family: 'Courier New', monospace; color: #fff; font-weight: 500; font-size: 12.5px; width: 32%; }

/* Calidad */
.sci-calidad-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.sci-cal-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-left: 3px solid #E8630A; border-radius: 0 7px 7px 0; padding: 18px 16px; }
.sci-cal-card h4 { font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 6px; }
.sci-cal-card p { font-size: 13px; color: rgba(255,255,255,0.43); line-height: 1.6; margin: 0; }

/* Por qué */
.sci-porque-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.sci-porque-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 24px 20px; }
.sci-porque-num { font-size: 28px; font-weight: 700; color: rgba(232,99,10,0.2); letter-spacing: -0.03em; margin-bottom: 10px; }
.sci-porque-card h4 { font-size: 14px; font-weight: 600; color: #fff; margin-bottom: 7px; }
.sci-porque-card p { font-size: 13px; color: rgba(255,255,255,0.42); line-height: 1.6; margin: 0; }

/* Responsive sectores */
@media (max-width: 960px) {
	.sct-sectors-grid { grid-template-columns: repeat(2, 1fr); }
	.sct-stats-inner { justify-content: center; gap: 24px 40px; }
	.sci-hero-grid { grid-template-columns: 1fr; gap: 24px; padding: 0 24px 40px; }
	.sci-porque-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
	.sct-sectors-grid { grid-template-columns: 1fr; }
	.sct-section { padding: 48px 20px; }
	.sct-stats-inner { padding: 16px 20px; }
	.sci-piezas-grid { grid-template-columns: 1fr; }
	.sci-calidad-grid { grid-template-columns: 1fr; }
	.sci-porque-grid { grid-template-columns: 1fr; }
	.sci-section { padding: 40px 20px; }
	.sci-mach-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
}

/* =====================================================
   PÁGINA CONTACTO
   ===================================================== */

/* Hero sólido (sin imagen) */
.ctc-hero { background: #0a101c; padding: 44px 40px 40px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.ctc-hero-inner { max-width: 1200px; margin: 0 auto; }

/* Info strip */
.ctc-info-strip { background: #08101e; border-bottom: 1px solid rgba(255,255,255,0.05); }
.ctc-info-strip-inner { max-width: 1200px; margin: 0 auto; padding: 0 40px; display: flex; align-items: stretch; }
.ctc-info-item { display: flex; align-items: center; gap: 12px; padding: 16px 32px 16px 0; margin-right: 32px; border-right: 1px solid rgba(255,255,255,0.06); }
.ctc-info-item:last-child { border-right: none; }
.ctc-info-icon { width: 34px; height: 34px; background: rgba(232,99,10,0.12); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ctc-info-icon svg { width: 16px; height: 16px; stroke: #E8630A; fill: none; stroke-width: 1.7; }
.ctc-info-lbl { font-size: 10.5px; color: rgba(255,255,255,0.3); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 2px; }
.ctc-info-val { font-size: 13.5px; font-weight: 500; color: #fff; }
.ctc-info-val a { color: #fff; text-decoration: none; }
.ctc-info-val a:hover { color: #E8630A; }

/* Layout principal 2 columnas */
.ctc-main-wrap { background: #0f1520; }
.ctc-main-inner { max-width: 1200px; margin: 0 auto; padding: 56px 40px; display: grid; grid-template-columns: 1fr 400px; gap: 56px; }

/* Columna izquierda — formulario */
.ctc-form-tag { font-size: 11px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: #E8630A; margin-bottom: 9px; }
.ctc-form-h2 { font-size: 1.5rem; font-weight: 700; color: #fff; margin-bottom: 8px; }
.ctc-form-sub { font-size: 14px; color: rgba(255,255,255,0.45); line-height: 1.65; margin-bottom: 28px; }

/* Estilos CF7 */
.wpcf7-form p { margin: 0 0 14px; }
.wpcf7-form label { display: block; font-size: 12px; font-weight: 500; color: rgba(255,255,255,0.5); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 6px; }
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form select,
.wpcf7-form textarea { width: 100%; background: #151e2e; border: 1px solid rgba(255,255,255,0.1); border-radius: 5px; padding: 11px 14px; font-size: 14px; color: #fff; font-family: inherit; transition: border-color 0.15s, background 0.15s; }
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus { outline: none; border-color: rgba(232,99,10,0.5); background: #1a2540; }
.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: rgba(255,255,255,0.25); }
.wpcf7-form select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(255,255,255,0.4)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 36px; }
.wpcf7-form select option { background: #151e2e; color: #fff; }
.wpcf7-form textarea { resize: vertical; min-height: 120px; }
.wpcf7-form input[type="file"] { background: transparent; border: 1px dashed rgba(255,255,255,0.15); border-radius: 5px; padding: 10px 14px; color: rgba(255,255,255,0.5); font-size: 13px; cursor: pointer; width: 100%; }
.wpcf7-form .wpcf7-acceptance { display: flex; align-items: flex-start; gap: 10px; }
.wpcf7-form .wpcf7-acceptance input[type="checkbox"] { width: 16px; height: 16px; min-width: 16px; background: #151e2e; border: 1px solid rgba(255,255,255,0.2); border-radius: 3px; margin-top: 2px; accent-color: #E8630A; }
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label { font-size: 12px; color: rgba(255,255,255,0.35); line-height: 1.55; text-transform: none; font-weight: 400; letter-spacing: 0; }
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label a { color: #E8630A; text-decoration: none; }
.wpcf7-form input[type="submit"] { width: 100%; background: #E8630A; color: #fff; font-size: 14px; font-weight: 600; padding: 13px 24px; border-radius: 5px; border: none; cursor: pointer; font-family: inherit; margin-top: 6px; transition: background 0.15s; }
.wpcf7-form input[type="submit"]:hover { background: #F5884A; }
.wpcf7-form .wpcf7-not-valid-tip { font-size: 12px; color: #f87171; margin-top: 4px; }
.wpcf7-form .wpcf7-response-output { margin-top: 16px; padding: 12px 16px; border-radius: 5px; font-size: 13px; border: none !important; }
.wpcf7-form.sent .wpcf7-response-output { background: rgba(16,185,129,0.12); color: #34d399; border: 1px solid rgba(52,211,153,0.2) !important; }
.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output { background: rgba(248,113,113,0.1); color: #f87171; border: 1px solid rgba(248,113,113,0.2) !important; }
.ctc-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ctc-form-note { font-size: 12px; color: rgba(255,255,255,0.28); text-align: center; margin-top: 10px; }

/* Sidebar derecha */
.ctc-info-col { display: flex; flex-direction: column; gap: 16px; }
.ctc-contact-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: hidden; }
.ctc-card-header { background: #1A2B4A; padding: 14px 18px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.ctc-card-header h3 { font-size: 13px; font-weight: 600; color: #fff; margin: 0 0 2px; }
.ctc-card-header span { font-size: 11px; color: rgba(255,255,255,0.4); }
.ctc-contact-rows { padding: 4px 0; }
.ctc-contact-row { display: flex; gap: 12px; padding: 13px 18px; border-bottom: 1px solid rgba(255,255,255,0.05); align-items: flex-start; }
.ctc-contact-row:last-child { border-bottom: none; }
.ctc-contact-row-icon { width: 30px; height: 30px; background: rgba(232,99,10,0.1); border-radius: 5px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.ctc-contact-row-icon svg { width: 14px; height: 14px; stroke: #E8630A; fill: none; stroke-width: 1.7; }
.ctc-contact-row-lbl { font-size: 10.5px; color: rgba(255,255,255,0.3); text-transform: uppercase; letter-spacing: 0.06em; margin-bottom: 3px; }
.ctc-contact-row-val { font-size: 13.5px; color: #fff; line-height: 1.45; }
.ctc-contact-row-val a { color: #fff; text-decoration: none; }
.ctc-contact-row-val a:hover { color: #E8630A; }
.ctc-contact-row-sub { font-size: 12px; color: rgba(255,255,255,0.35); margin-top: 2px; }

/* Fachada imagen */
.ctc-fachada-wrap { border-radius: 8px; overflow: hidden; border: 1px solid rgba(255,255,255,0.07); position: relative; }
.ctc-fachada-img { width: 100%; height: 200px; object-fit: cover; display: block; }
.ctc-fachada-caption { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(transparent, rgba(8,14,24,0.85)); padding: 24px 14px 12px; }
.ctc-fachada-caption span { font-size: 12px; color: rgba(255,255,255,0.65); }

/* Mapa */
.ctc-map-wrap { background: #0d1929; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: hidden; }
.ctc-map-wrap iframe { display: block; }
.ctc-map-link { display: flex; align-items: center; gap: 6px; padding: 10px 14px; background: #1A2B4A; border-top: 1px solid rgba(255,255,255,0.06); font-size: 12px; color: #7aa4d4; text-decoration: none; }
.ctc-map-link:hover { color: #fff; }

/* Horario */
.ctc-horario-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 16px 18px; }
.ctc-horario-title { font-size: 10.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.09em; color: rgba(255,255,255,0.3); margin-bottom: 12px; }
.ctc-horario-row { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.ctc-horario-row:last-of-type { border-bottom: none; }
.ctc-horario-day { font-size: 13px; color: rgba(255,255,255,0.55); }
.ctc-horario-time { font-size: 13px; font-weight: 500; color: #fff; }
.ctc-horario-badge { display: inline-flex; align-items: center; gap: 5px; background: rgba(16,185,129,0.1); border: 1px solid rgba(52,211,153,0.2); border-radius: 3px; padding: 2px 8px; font-size: 11px; color: #34d399; margin-top: 10px; }
.ctc-horario-badge-dot { width: 5px; height: 5px; background: #34d399; border-radius: 50%; }

/* Planos card */
.ctc-planos-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-left: 3px solid #E8630A; border-radius: 0 8px 8px 0; padding: 16px 18px; }
.ctc-planos-title { font-size: 13px; font-weight: 600; color: #fff; margin-bottom: 8px; }
.ctc-planos-text { font-size: 13px; color: rgba(255,255,255,0.43); line-height: 1.6; margin-bottom: 10px; }
.ctc-planos-formats { display: flex; flex-wrap: wrap; gap: 6px; }
.ctc-format-tag { font-size: 11px; font-weight: 600; background: rgba(26,43,74,0.9); color: #7aa4d4; border: 1px solid rgba(120,164,212,0.2); border-radius: 3px; padding: 3px 8px; font-family: 'Courier New', monospace; }

/* Responsive contacto */
@media (max-width: 960px) {
	.ctc-main-inner { grid-template-columns: 1fr; gap: 40px; }
	.ctc-info-col { order: -1; }
}
@media (max-width: 768px) {
	.ctc-hero { padding: 32px 20px 28px; }
	.ctc-info-strip-inner { padding: 0 20px; flex-direction: column; }
	.ctc-info-item { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.06); padding: 12px 0; margin-right: 0; }
	.ctc-info-item:last-child { border-bottom: none; }
	.ctc-main-inner { padding: 36px 20px; }
	.ctc-form-row { grid-template-columns: 1fr; }
}

/* =====================================================
   RESPONSIVE — tablet (≤ 960px)
   ===================================================== */

@media (max-width: 960px) {
	.alkain-services-grid,
	.alkain-sectors-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.alkain-why-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.alkain-machine-table-wrapper {
		overflow-x: auto;
	}

	.alkain-footer-grid {
		grid-template-columns: 1fr 1fr;
	}

	.hero-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.quick-box {
		position: static;
	}

	.svc-sectors-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* =====================================================
   RESPONSIVE — móvil (≤ 768px)
   ===================================================== */

@media (max-width: 768px) {
	.alkain-section {
		padding: 44px 20px;
	}

	.alkain-hero-content {
		padding: 52px 20px;
	}

	.alkain-hero-content h1 {
		font-size: var(--text-3xl);
	}

	.alkain-hero-btns {
		flex-direction: column;
		align-items: flex-start;
	}

	.alkain-hero-stats {
		gap: 16px;
	}

	.alkain-stat {
		border-right: none;
		padding-right: 0;
		margin-right: 0;
	}

	.alkain-specs-inner {
		padding: 14px 20px;
	}

	.alkain-services-grid,
	.alkain-sectors-grid {
		grid-template-columns: 1fr 1fr;
	}

	.alkain-why-grid {
		grid-template-columns: 1fr;
	}

	.page-hero { padding: 32px 20px; }
	.svc-section,
	.faq-wrap { padding: 44px 20px; }
	.svc-sectors-grid { grid-template-columns: 1fr 1fr; }
	.why-item { grid-template-columns: 56px 1fr; }

	.alkain-footer-grid {
		grid-template-columns: 1fr;
		gap: 28px;
	}

	.alkain-cta-band {
		padding: 40px 20px;
	}
}

/* =====================================================
   RESPONSIVE — móvil pequeño (≤ 480px)
   ===================================================== */

@media (max-width: 480px) {
	.alkain-services-grid,
	.alkain-sectors-grid,
	.svc-sectors-grid {
		grid-template-columns: 1fr;
	}

	.why-item { grid-template-columns: 48px 1fr; }
	.why-num { font-size: 22px; }

	.alkain-hero-content h1 {
		font-size: var(--text-2xl);
	}

	.alkain-btn-primary,
	.alkain-btn-ghost {
		width: 100%;
		text-align: center;
	}

	.alkain-cta-btns {
		flex-direction: column;
		align-items: center;
	}

	.alkain-btn-white,
	.alkain-btn-outline-white {
		width: 100%;
		text-align: center;
	}
}

/* =====================================================
   PRINT
   ===================================================== */

@media print {
	.alkain-header,
	.alkain-footer,
	.alkain-cta-band,
	.alkain-hero-btns {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 11pt;
	}

	.alkain-machine-table th {
		background: #1A2B4A;
		-webkit-print-color-adjust: exact;
	}
}

/* =====================================================
   CALIDAD ISO 9001
   ===================================================== */

/* Hero sólido */
.cld-hero { background: #0a101c; padding: 44px 40px 40px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.cld-hero-inner { max-width: 1200px; margin: 0 auto; }
.cld-hero-inner .hero-pill { display: inline-flex; align-items: center; gap: 7px; background: rgba(232,99,10,0.14); border: 1px solid rgba(232,99,10,0.28); color: #f5884a; font-size: 11px; font-weight: 500; letter-spacing: 0.07em; padding: 4px 11px; border-radius: 4px; margin-bottom: 16px; text-transform: uppercase; }
.cld-hero-inner .page-h1 { font-size: clamp(1.7rem,3vw,2.4rem); font-weight: 700; color: #fff; line-height: 1.1; letter-spacing: -0.025em; margin-bottom: 12px; }
.cld-hero-inner .page-h1 em { color: #E8630A; font-style: normal; }
.cld-hero-inner .page-lead { font-size: 15px; color: rgba(255,255,255,0.52); line-height: 1.7; max-width: 680px; }

/* Métricas rápidas */
.cld-metrics { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.cld-metric { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 7px; padding: 20px 16px; text-align: center; }
.cld-metric-val { font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -0.02em; margin-bottom: 4px; }
.cld-metric-val span { color: #E8630A; }
.cld-metric-lbl { font-size: 11px; color: rgba(255,255,255,0.35); line-height: 1.4; }

/* Certificado grid */
.cld-cert-grid { display: grid; grid-template-columns: 1fr 320px; gap: 40px; align-items: start; }
.cld-cert-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: hidden; }
.cld-cert-header { background: #1A2B4A; padding: 16px 20px; border-bottom: 2px solid rgba(232,99,10,0.35); display: flex; align-items: center; gap: 12px; }
.cld-cert-logo { width: 44px; height: 44px; background: rgba(255,255,255,0.08); border-radius: 6px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 8px; font-weight: 700; color: rgba(255,255,255,0.5); text-align: center; line-height: 1.3; }
.cld-cert-title { font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 2px; }
.cld-cert-sub { font-size: 12px; color: rgba(255,255,255,0.4); }
.cld-cert-row { display: flex; align-items: center; justify-content: space-between; padding: 11px 20px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.cld-cert-row:last-child { border-bottom: none; }
.cld-cert-lbl { font-size: 12px; color: rgba(255,255,255,0.38); text-transform: uppercase; letter-spacing: 0.05em; }
.cld-cert-val { font-size: 13px; font-weight: 500; color: #fff; text-align: right; }
.cld-cert-val.hl { color: #E8630A; font-family: 'Courier New', monospace; }
.cld-cert-badge { display: inline-flex; align-items: center; gap: 5px; background: rgba(16,185,129,0.1); border: 1px solid rgba(52,211,153,0.25); border-radius: 3px; padding: 2px 8px; font-size: 11px; color: #34d399; }
.cld-cert-badge-dot { width: 5px; height: 5px; background: #34d399; border-radius: 50%; display: inline-block; }
.cld-cert-alcance { padding: 14px 20px; background: rgba(232,99,10,0.07); border-top: 1px solid rgba(232,99,10,0.15); }
.cld-cert-alcance-lbl { font-size: 10.5px; color: rgba(255,255,255,0.3); letter-spacing: 0.07em; text-transform: uppercase; margin-bottom: 4px; }
.cld-cert-alcance-val { font-size: 13.5px; font-weight: 600; color: #fff; font-style: italic; }

/* Columna descarga */
.cld-dl-col { display: flex; flex-direction: column; gap: 16px; }
.cld-pdf-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; overflow: hidden; }
.cld-pdf-img { width: 100%; height: 220px; overflow: hidden; }
.cld-pdf-img img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.cld-pdf-footer { padding: 12px 16px; border-top: 1px solid rgba(255,255,255,0.06); display: flex; align-items: center; justify-content: space-between; }
.cld-pdf-footer span { font-size: 12px; color: rgba(255,255,255,0.35); }
.cld-pdf-btn { display: inline-flex; align-items: center; gap: 6px; background: #E8630A; color: #fff; font-size: 12px; font-weight: 600; padding: 7px 14px; border-radius: 4px; text-decoration: none; }
.cld-pdf-btn svg { width: 13px; height: 13px; stroke: #fff; fill: none; stroke-width: 2.5; }
.cld-cert-note { background: #111827; border: 1px solid rgba(255,255,255,0.07); border-left: 3px solid #E8630A; border-radius: 0 7px 7px 0; padding: 14px 16px; }
.cld-cert-note p { font-size: 13px; color: rgba(255,255,255,0.48); line-height: 1.6; margin: 0; }
.cld-cert-note strong { color: #f5884a; }

/* Pasos de trazabilidad */
.cld-steps { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; position: relative; margin-top: 8px; }
.cld-step { position: relative; text-align: center; padding: 0 8px; }
.cld-step-connector { position: absolute; top: 20px; left: 50%; right: -50%; height: 1px; background: rgba(232,99,10,0.25); z-index: 0; }
.cld-step:last-child .cld-step-connector { display: none; }
.cld-step-num { width: 40px; height: 40px; background: #151e2e; border: 2px solid rgba(232,99,10,0.4); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 12px; font-size: 13px; font-weight: 700; color: #E8630A; position: relative; z-index: 1; }
.cld-step-title { font-size: 12.5px; font-weight: 600; color: #fff; margin-bottom: 5px; line-height: 1.3; }
.cld-step-desc { font-size: 11.5px; color: rgba(255,255,255,0.38); line-height: 1.5; }

/* Metrología DEA EPSILON */
.cld-dea-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.cld-dea-badge { display: inline-flex; align-items: center; gap: 7px; background: rgba(232,99,10,0.14); border: 1px solid rgba(232,99,10,0.28); color: #f5884a; font-size: 10px; font-weight: 600; letter-spacing: 0.07em; padding: 3px 10px; border-radius: 3px; text-transform: uppercase; margin-bottom: 12px; }
.cld-dea-specs { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 7px; overflow: hidden; }
.cld-dea-header { background: #1A2B4A; padding: 10px 16px; font-size: 11px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255,255,255,0.6); border-bottom: 2px solid rgba(232,99,10,0.3); }
.cld-dea-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 16px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.cld-dea-row:last-child { border-bottom: none; }
.cld-dea-lbl { font-size: 12.5px; color: rgba(255,255,255,0.45); }
.cld-dea-val { font-size: 13px; font-weight: 600; color: #fff; font-family: 'Courier New', monospace; }
.cld-dea-val span { color: #E8630A; }
.cld-metrol-table { width: 100%; border-collapse: collapse; margin-top: 24px; }
.cld-metrol-table th { background: #1A2B4A; color: rgba(255,255,255,0.6); font-size: 11px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; padding: 10px 14px; text-align: left; border-bottom: 2px solid rgba(232,99,10,0.3); }
.cld-metrol-table td { padding: 11px 14px; font-size: 13px; color: rgba(255,255,255,0.55); border-bottom: 1px solid rgba(255,255,255,0.045); }
.cld-metrol-table td:first-child { color: #fff; font-weight: 500; }
.cld-metrol-table tr:hover td { background: rgba(255,255,255,0.02); }

/* Marcaje micropercusión */
.cld-marcaje-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.cld-marcaje-list { display: flex; flex-direction: column; gap: 12px; }
.cld-marcaje-item { display: flex; align-items: flex-start; gap: 12px; padding: 14px 16px; background: #151e2e; border-radius: 6px; }
.cld-marcaje-dot { width: 7px; height: 7px; background: #E8630A; border-radius: 50%; flex-shrink: 0; margin-top: 5px; }
.cld-marcaje-item h4 { font-size: 13.5px; font-weight: 600; color: #fff; margin-bottom: 4px; }
.cld-marcaje-item p { font-size: 13px; color: rgba(255,255,255,0.42); line-height: 1.55; margin: 0; }
.cld-marcaje-example { background: #0d1929; border: 1px dashed rgba(232,99,10,0.25); border-radius: 7px; padding: 28px 20px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 220px; }
.cld-marcaje-label { font-size: 10.5px; color: rgba(255,255,255,0.25); letter-spacing: 0.08em; text-transform: uppercase; }
.cld-marcaje-stamp { font-family: 'Courier New', monospace; font-size: 15px; font-weight: 700; color: rgba(255,255,255,0.65); letter-spacing: 0.15em; background: #111827; border: 1px solid rgba(255,255,255,0.1); border-radius: 4px; padding: 10px 18px; text-align: center; line-height: 1.8; }
.cld-marcaje-stamp span { color: #E8630A; }
.cld-marcaje-note { font-size: 11px; color: rgba(255,255,255,0.25); text-align: center; max-width: 200px; line-height: 1.5; margin: 0; }

/* Responsive calidad */
@media (max-width: 768px) {
	.cld-hero { padding: 32px 20px 28px; }
	.cld-metrics { grid-template-columns: repeat(2,1fr); }
	.cld-cert-grid { grid-template-columns: 1fr; }
	.cld-steps { grid-template-columns: repeat(3,1fr); }
	.cld-dea-grid, .cld-marcaje-grid { grid-template-columns: 1fr; }
}

/* =====================================================
   LEGAL PAGES — /aviso-legal/, /politica-de-privacidad/, /politica-de-cookies/
   ===================================================== */

.legal-hero { background: #0a101c; padding: 40px 40px 36px; border-bottom: 1px solid rgba(255,255,255,0.06); }
.legal-hero-inner { max-width: 860px; margin: 0 auto; }
.legal-breadcrumb { font-size: 12px; color: rgba(255,255,255,0.3); margin: 0 0 14px; }
.legal-breadcrumb a { color: rgba(255,255,255,0.3); text-decoration: none; }
.legal-breadcrumb a:hover { color: rgba(255,255,255,0.6); }
.legal-breadcrumb .sep { margin: 0 6px; opacity: 0.4; }
.legal-breadcrumb .current { color: rgba(255,255,255,0.55); }
.legal-pill { display: inline-flex; align-items: center; gap: 6px; background: rgba(232,99,10,0.12); border: 1px solid rgba(232,99,10,0.25); border-radius: 3px; padding: 3px 10px; margin-bottom: 14px; font-size: 10px; font-weight: 600; letter-spacing: 0.07em; text-transform: uppercase; color: #f5884a; }
.legal-h1 { font-size: 26px; font-weight: 700; color: #fff; margin: 0 0 10px; line-height: 1.25; }
.legal-meta { font-size: 13px; color: rgba(255,255,255,0.35); margin: 0; }
.legal-pending { color: rgba(232,99,10,0.8); }
.legal-nav { background: #0a101c; border-top: 1px solid rgba(255,255,255,0.06); padding: 16px 40px; }
.legal-nav-inner { max-width: 860px; margin: 0 auto; display: flex; gap: 8px; flex-wrap: wrap; }
.legal-nav-link { font-size: 13px; color: rgba(255,255,255,0.4); text-decoration: none; padding: 5px 12px; border-radius: 4px; border: 1px solid rgba(255,255,255,0.08); }
.legal-nav-link.active { color: #fff; background: rgba(255,255,255,0.06); border-color: rgba(255,255,255,0.15); }
.legal-wrap { max-width: 860px; margin: 0 auto; padding: 52px 40px 72px; }
.legal-section { margin-bottom: 36px; }
.legal-h2 { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 12px; padding-bottom: 8px; border-bottom: 1px solid rgba(255,255,255,0.07); }
.legal-body { font-size: 14px; color: rgba(255,255,255,0.52); line-height: 1.75; margin-bottom: 10px; }
.legal-list { list-style: none; padding: 0; margin: 0 0 12px; }
.legal-list li { font-size: 14px; color: rgba(255,255,255,0.5); line-height: 1.7; padding: 4px 0 4px 16px; position: relative; }
.legal-list li::before { content: '—'; position: absolute; left: 0; color: #E8630A; }
.legal-box { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-left: 3px solid #E8630A; border-radius: 0 7px 7px 0; padding: 16px 18px; margin: 16px 0; }
.legal-contact-card { background: #151e2e; border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 18px 20px; margin: 16px 0; }
.legal-contact-row { display: flex; gap: 8px; font-size: 13px; color: rgba(255,255,255,0.5); margin-bottom: 4px; }
.legal-contact-row span:first-child { color: rgba(255,255,255,0.3); min-width: 80px; }
.cookie-table { width: 100%; border-collapse: collapse; margin: 16px 0; font-size: 13px; }
.cookie-table th { background: #1A2B4A; color: rgba(255,255,255,0.6); font-size: 11px; font-weight: 600; text-transform: uppercase; padding: 9px 12px; border-bottom: 2px solid rgba(232,99,10,0.3); text-align: left; }
.cookie-table td { padding: 10px 12px; color: rgba(255,255,255,0.52); border-bottom: 1px solid rgba(255,255,255,0.05); }
.badge-type { display: inline-block; font-size: 10px; font-weight: 600; padding: 2px 7px; border-radius: 3px; text-transform: uppercase; }
.badge-nec { background: rgba(16,185,129,0.12); color: #34d399; border: 1px solid rgba(52,211,153,0.2); }
.badge-ana { background: rgba(59,130,246,0.12); color: #60a5fa; border: 1px solid rgba(96,165,250,0.2); }
.badge-pref { background: rgba(139,92,246,0.12); color: #a78bfa; border: 1px solid rgba(167,139,250,0.2); }

@media (max-width: 768px) {
	.legal-hero, .legal-nav { padding-left: 20px; padding-right: 20px; }
	.legal-wrap { padding: 36px 20px 48px; }
	.cookie-table { font-size: 12px; }
	.cookie-table th, .cookie-table td { padding: 8px; }
}

/* =====================================================
   RESPONSIVE — HEADER (tablet y móvil)
   ===================================================== */

@media (max-width: 960px) {
	.alkain-header-inner {
		padding: 0 24px;
	}
}

@media (max-width: 768px) {
	/* Ocultar nav de escritorio y selector de idiomas */
	.alkain-nav,
	.alkain-lang-picker {
		display: none;
	}

	/* Mostrar hamburger */
	.alkain-menu-toggle {
		display: flex;
	}

	.alkain-header-inner {
		padding: 0 20px;
		gap: 12px;
	}

	/* CTA más compacto en móvil */
	.alkain-btn-nav {
		font-size: 12px;
		padding: 8px 12px;
	}
}
