/* ============================================================
   Solo Ingeniería · main.css
   Estética editorial: serif para títulos, paleta cálida en
   teal + amber, retícula amplia, jerarquía clásica.
   ============================================================ */

:root {
	/* Paleta */
	--c-bg:        #fafaf7;
	--c-bg-alt:    #f3f1ea;
	--c-surface:   #ffffff;
	--c-ink:       #1c1917;
	--c-ink-2:     #3f3b36;
	--c-muted:     #78716c;
	--c-line:      #e5e2da;
	--c-primary:   #134e4a;
	--c-primary-2: #0f3d3a;
	--c-accent:    #b45309;
	--c-accent-2:  #92400e;
	--c-link:      #134e4a;

	/* Tipografía */
	--f-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Source Serif Pro", Georgia, serif;
	--f-sans:  ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--f-mono:  ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace;

	/* Métricas */
	--w-max:    1180px;
	--w-narrow: 760px;
	--r-sm:     4px;
	--r-md:     8px;
	--r-lg:     14px;
}

/* --- Reset suave -------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--c-bg);
	color: var(--c-ink);
	font-family: var(--f-sans);
	font-size: 17px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--c-link); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
h1, h2, h3, h4 { font-family: var(--f-serif); font-weight: 600; letter-spacing: -0.01em; color: var(--c-ink); margin: 0 0 0.6em; line-height: 1.18; }
p { margin: 0 0 1em; }

/* --- Layout ------------------------------------------------- */
.l-container { width: 100%; max-width: var(--w-max); margin: 0 auto; padding: 0 1.5rem; }
.l-container--narrow { max-width: var(--w-narrow); }

.c-skip {
	position: absolute; left: -9999px; top: 0;
	background: var(--c-primary); color: #fff; padding: .75rem 1rem;
	z-index: 9999;
}
.c-skip:focus { left: 1rem; top: 1rem; }

/* --- Header / utilidad -------------------------------------- */
.c-site-header { background: var(--c-surface); border-bottom: 1px solid var(--c-line); }

.c-utility {
	background: var(--c-primary);
	color: #e6f5f3;
	font-size: .82rem;
	padding: .55rem 0;
}
.c-utility .l-container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.c-utility__claim { margin: 0; opacity: .85; }
.c-utility__list {
	display: flex; gap: 1.25rem; list-style: none; padding: 0; margin: 0;
}
.c-utility__list a { color: #fff; text-decoration: none; opacity: .9; }
.c-utility__list a:hover { opacity: 1; text-decoration: underline; }

.c-mast__inner {
	display: flex; align-items: center; justify-content: space-between;
	padding: 1.1rem 1.5rem; gap: 2rem;
}
.c-brand {
	font-family: var(--f-serif);
	font-size: 1.55rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	text-decoration: none;
	color: var(--c-ink);
	display: inline-flex; align-items: baseline;
}
.c-brand__solo { color: var(--c-ink); }
.c-brand__ing  { color: var(--c-accent); font-style: italic; }
.c-brand__tld  { color: var(--c-muted); font-size: .78em; margin-left: 2px; }

.c-nav__list {
	display: flex; gap: 1.6rem; list-style: none; padding: 0; margin: 0;
	font-size: .96rem;
}
.c-nav__list a {
	color: var(--c-ink-2); text-decoration: none; padding: .35rem 0;
	border-bottom: 2px solid transparent;
}
.c-nav__list a:hover,
.c-nav__list .current-menu-item > a { border-color: var(--c-accent); color: var(--c-ink); }

.c-burger { display: none; background: none; border: 0; cursor: pointer; padding: .5rem; }
.c-burger span { display: block; width: 22px; height: 2px; background: var(--c-ink); margin: 4px 0; }

@media (max-width: 880px) {
	.c-burger { display: block; }
	.c-nav { display: none; width: 100%; }
	.c-nav.is-open { display: block; }
	.c-nav__list { flex-direction: column; gap: .25rem; padding: 1rem 0 1.5rem; }
	.c-mast__inner { flex-wrap: wrap; }
}

/* --- Hero --------------------------------------------------- */
.c-hero {
	background:
		radial-gradient(1100px 360px at 80% -10%, rgba(180,83,9,.10), transparent 70%),
		linear-gradient(180deg, var(--c-bg) 0%, var(--c-bg-alt) 100%);
	padding: 5rem 0 4.5rem;
	border-bottom: 1px solid var(--c-line);
}
.c-hero__inner { max-width: 820px; }
.c-eyebrow {
	display: inline-block;
	font-family: var(--f-sans);
	font-size: .78rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--c-accent-2);
	margin: 0 0 1rem;
	font-weight: 600;
}
.c-hero__title {
	font-size: clamp(2rem, 4.5vw, 3.4rem);
	line-height: 1.08;
	margin: 0 0 1.2rem;
}
.c-hero__title em { font-style: italic; color: var(--c-primary); font-weight: 500; }
.c-hero__lede {
	font-size: 1.18rem;
	color: var(--c-ink-2);
	max-width: 680px;
	margin: 0 0 2rem;
}
.c-hero__ctas { display: flex; gap: .8rem; flex-wrap: wrap; margin-bottom: 2rem; }
.c-hero__tags {
	list-style: none; padding: 0; margin: 0;
	display: flex; flex-wrap: wrap; gap: .5rem;
}
.c-hero__tags a {
	display: inline-block;
	font-size: .85rem;
	background: var(--c-surface);
	border: 1px solid var(--c-line);
	border-radius: 999px;
	padding: .35rem .9rem;
	text-decoration: none;
	color: var(--c-ink-2);
}
.c-hero__tags a:hover { border-color: var(--c-accent); color: var(--c-accent-2); }

/* --- Botones ------------------------------------------------ */
.c-btn {
	display: inline-block;
	padding: .85rem 1.4rem;
	font-weight: 600;
	font-size: .96rem;
	text-decoration: none;
	border-radius: var(--r-md);
	border: 1px solid transparent;
	transition: transform .15s ease, background .2s ease;
}
.c-btn--primary { background: var(--c-primary); color: #fff; }
.c-btn--primary:hover { background: var(--c-primary-2); }
.c-btn--ghost { background: transparent; color: var(--c-ink); border-color: var(--c-ink); }
.c-btn--ghost:hover { background: var(--c-ink); color: #fff; }

/* --- Section heads ----------------------------------------- */
.c-section-head { margin-bottom: 2.5rem; max-width: 760px; }
.c-section-head--inline {
	display: flex; align-items: end; justify-content: space-between; gap: 2rem; max-width: none;
}
.c-section-head__title { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 .5rem; }
.c-section-head__lede { color: var(--c-muted); margin: 0; font-size: 1.05rem; }
.c-section-head__more { white-space: nowrap; font-weight: 600; text-decoration: none; color: var(--c-primary); }
.c-section-head__more:hover { color: var(--c-accent); }

/* --- Feature list (hubs) ----------------------------------- */
.c-feature-list { padding: 5rem 0; }
.c-feature-list__items {
	list-style: none; padding: 0; margin: 0;
	border-top: 1px solid var(--c-line);
}
.c-feature-list__item { border-bottom: 1px solid var(--c-line); }
.c-feature-list__link {
	display: grid;
	grid-template-columns: 60px 1fr 24px;
	align-items: center;
	gap: 2rem;
	padding: 1.75rem 0.5rem;
	text-decoration: none;
	color: inherit;
	transition: background .2s ease, padding .2s ease;
}
.c-feature-list__link:hover { background: var(--c-bg-alt); padding-left: 1.5rem; }
.c-feature-list__num {
	font-family: var(--f-serif);
	font-size: 1.8rem;
	color: var(--c-accent);
	font-style: italic;
	font-weight: 500;
}
.c-feature-list__title {
	display: block;
	font-family: var(--f-serif);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--c-ink);
	margin-bottom: .25rem;
}
.c-feature-list__desc { display: block; color: var(--c-muted); font-size: 1rem; }
.c-feature-list__arrow { font-size: 1.4rem; color: var(--c-primary); }

@media (max-width: 600px) {
	.c-feature-list__link { grid-template-columns: 40px 1fr; gap: 1rem; padding: 1.25rem 0; }
	.c-feature-list__arrow { display: none; }
	.c-feature-list__title { font-size: 1.2rem; }
	.c-feature-list__num { font-size: 1.3rem; }
}

/* --- Decision tree ----------------------------------------- */
.c-decision { padding: 5rem 0; background: var(--c-bg-alt); }
.c-decision__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 880px) { .c-decision__grid { grid-template-columns: 1fr; } }
.c-decision__card {
	background: var(--c-surface);
	border: 1px solid var(--c-line);
	border-top: 4px solid var(--c-accent);
	border-radius: var(--r-md);
	padding: 1.8rem 1.6rem;
	text-decoration: none;
	color: inherit;
	transition: transform .2s ease, box-shadow .2s ease;
	display: block;
}
.c-decision__card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(28,25,23,.06); }
.c-decision__num {
	font-family: var(--f-sans);
	font-size: .8rem; font-weight: 600;
	letter-spacing: .1em; text-transform: uppercase;
	color: var(--c-accent-2);
	margin: 0 0 .8rem;
}
.c-decision__title { font-family: var(--f-serif); font-size: 1.3rem; margin: 0 0 .6rem; color: var(--c-ink); }
.c-decision__desc { color: var(--c-muted); font-size: .95rem; margin: 0; }

/* --- Latest grid ------------------------------------------- */
.c-latest { padding: 5rem 0; }
.c-latest__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}
@media (max-width: 1000px) { .c-latest__grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .c-latest__grid { grid-template-columns: 1fr; } }

.c-article-card { border-top: 1px solid var(--c-line); padding-top: 1.25rem; }
.c-article-card__meta {
	font-size: .8rem; color: var(--c-muted); margin: 0 0 .5rem;
	font-family: var(--f-sans); letter-spacing: .02em;
}
.c-article-card__title {
	font-family: var(--f-serif); font-size: 1.2rem; line-height: 1.3; margin: 0 0 .5rem;
}
.c-article-card__title a { color: var(--c-ink); text-decoration: none; }
.c-article-card__title a:hover { color: var(--c-accent-2); }
.c-article-card__desc { color: var(--c-muted); font-size: .95rem; margin: 0; }

/* --- Page (interior) --------------------------------------- */
.c-page { padding: 2.5rem 0 5rem; }
.c-breadcrumb { font-size: .85rem; color: var(--c-muted); margin-bottom: 2rem; }
.c-breadcrumb ol { display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0; margin: 0; }
.c-breadcrumb li:not(:last-child)::after { content: "›"; margin-left: .4rem; color: var(--c-muted); }
.c-breadcrumb a { color: var(--c-muted); text-decoration: none; }
.c-breadcrumb a:hover { color: var(--c-primary); text-decoration: underline; }
.c-breadcrumb [aria-current="page"] { color: var(--c-ink); }

.c-page__head { margin-bottom: 2.5rem; }
.c-page__title { font-size: clamp(1.8rem, 3.6vw, 2.8rem); margin: 0 0 1rem; line-height: 1.15; }
.c-lede { font-size: 1.18rem; color: var(--c-ink-2); margin: 0; }

/* --- Prose (contenido editado) ----------------------------- */
.c-prose { font-size: 1.05rem; color: var(--c-ink-2); }
.c-prose > * + * { margin-top: 1.1em; }
.c-prose h2 { font-size: 1.65rem; margin: 2.4rem 0 .8rem; color: var(--c-ink); }
.c-prose h3 { font-size: 1.25rem; margin: 1.8rem 0 .6rem; color: var(--c-ink); }
.c-prose h4 { font-family: var(--f-sans); font-size: 1.05rem; text-transform: uppercase; letter-spacing: .08em; color: var(--c-accent-2); margin: 1.6rem 0 .4rem; }
.c-prose ul, .c-prose ol { padding-left: 1.4rem; }
.c-prose li { margin-bottom: .35rem; }
.c-prose blockquote {
	border-left: 3px solid var(--c-accent);
	padding: .25rem 0 .25rem 1.2rem;
	margin: 1.6rem 0;
	font-style: italic;
	color: var(--c-ink-2);
}
.c-prose code {
	background: var(--c-bg-alt);
	padding: .1rem .35rem;
	border-radius: var(--r-sm);
	font-family: var(--f-mono);
	font-size: .92em;
}
.c-prose pre {
	background: var(--c-ink);
	color: #fafaf7;
	padding: 1rem 1.2rem;
	border-radius: var(--r-md);
	overflow: auto;
	font-size: .9rem;
}
.c-prose table {
	width: 100%; border-collapse: collapse; margin: 1.5rem 0;
	font-size: .95rem;
}
.c-prose th, .c-prose td {
	border-bottom: 1px solid var(--c-line);
	padding: .65rem .75rem;
	text-align: left;
	vertical-align: top;
}
.c-prose th { background: var(--c-bg-alt); font-family: var(--f-sans); font-weight: 600; }
.c-prose figure img { border-radius: var(--r-md); }
.c-prose figcaption { font-size: .85rem; color: var(--c-muted); text-align: center; margin-top: .5rem; }
.c-prose .wp-block-pullquote, .c-prose .wp-block-quote { font-family: var(--f-serif); font-size: 1.25rem; }
.c-prose a { color: var(--c-primary); }
.c-prose a:hover { color: var(--c-accent-2); }

/* Caja de aviso normativo (usar en posts: <div class="c-callout">…</div>) */
.c-callout {
	background: var(--c-bg-alt);
	border-left: 3px solid var(--c-primary);
	padding: 1rem 1.25rem;
	border-radius: 0 var(--r-md) var(--r-md) 0;
	margin: 1.5rem 0;
	font-size: .98rem;
}
.c-callout--warn { border-left-color: var(--c-accent); }
.c-callout p:last-child { margin-bottom: 0; }

/* --- Subpages (índice de sección) -------------------------- */
.c-subpages { margin-top: 4rem; padding-top: 2.5rem; border-top: 1px solid var(--c-line); }
.c-subpages__title { font-size: 1.3rem; margin-bottom: 1.5rem; }
.c-subpages__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1rem; }
.c-subpages__list a {
	display: block; padding: 1.1rem 1.3rem;
	border: 1px solid var(--c-line); border-radius: var(--r-md);
	background: var(--c-surface);
	text-decoration: none; color: inherit;
	transition: border-color .2s ease, transform .15s ease;
}
.c-subpages__list a:hover { border-color: var(--c-accent); transform: translateX(3px); }
.c-subpages__name { display: block; font-family: var(--f-serif); font-weight: 600; font-size: 1.1rem; color: var(--c-ink); }
.c-subpages__desc { display: block; color: var(--c-muted); font-size: .9rem; margin-top: .25rem; }

/* --- Archive ----------------------------------------------- */
.c-archive { display: flex; flex-direction: column; gap: 2rem; }
.c-archive__item {
	border-bottom: 1px solid var(--c-line);
	padding-bottom: 2rem;
}
.c-archive__item:last-child { border-bottom: 0; }
.c-archive__title { font-size: 1.45rem; margin: 0 0 .6rem; }
.c-archive__title a { color: var(--c-ink); text-decoration: none; }
.c-archive__title a:hover { color: var(--c-accent-2); }
.c-archive__desc { color: var(--c-ink-2); margin: 0 0 .8rem; }
.c-archive__more { font-weight: 600; font-size: .9rem; color: var(--c-primary); text-decoration: none; }
.c-archive__more:hover { color: var(--c-accent); }

/* --- Single post ------------------------------------------- */
.c-post__head { margin-bottom: 2rem; }
.c-post__title { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin: 0 0 1rem; }
.c-post__meta { color: var(--c-muted); font-size: .95rem; margin: 0; }
.c-post__cover { margin: 0 0 2rem; border-radius: var(--r-lg); overflow: hidden; }

/* --- Author box -------------------------------------------- */
.c-author {
	margin-top: 4rem;
	padding: 1.75rem;
	background: var(--c-bg-alt);
	border-radius: var(--r-lg);
	display: grid;
	grid-template-columns: 80px 1fr;
	gap: 1.5rem;
	align-items: start;
}
.c-author__avatar img { border-radius: 50%; width: 80px; height: 80px; }
.c-author__name { font-family: var(--f-serif); font-size: 1.2rem; font-weight: 600; margin: 0; }
.c-author__role { color: var(--c-muted); font-size: .9rem; margin: .2rem 0 0; }
.c-author__link { display: inline-block; margin-top: .6rem; font-weight: 600; font-size: .9rem; color: var(--c-primary); text-decoration: none; }
.c-author__link:hover { color: var(--c-accent); }

/* --- Pagination -------------------------------------------- */
.c-pagination { margin-top: 3rem; }
.c-pagination .nav-links { display: flex; gap: .5rem; flex-wrap: wrap; }
.c-pagination .page-numbers {
	display: inline-block;
	padding: .55rem .9rem;
	border: 1px solid var(--c-line);
	border-radius: var(--r-md);
	text-decoration: none;
	color: var(--c-ink-2);
	font-size: .9rem;
}
.c-pagination .current { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.c-pagination .page-numbers:hover:not(.current) { border-color: var(--c-accent); color: var(--c-accent-2); }

/* --- Search form ------------------------------------------- */
.c-search { display: flex; gap: .5rem; margin: 1.5rem 0 2.5rem; }
.c-search__label { position: absolute; left: -9999px; }
.c-search__input {
	flex: 1; padding: .75rem 1rem;
	border: 1px solid var(--c-line); border-radius: var(--r-md);
	font: inherit; background: var(--c-surface);
}
.c-search__btn {
	padding: .75rem 1.2rem;
	background: var(--c-primary); color: #fff;
	border: 0; border-radius: var(--r-md);
	cursor: pointer; font: inherit; font-weight: 600;
}

/* --- Footer ------------------------------------------------ */
.c-site-footer {
	background: var(--c-ink);
	color: #d7d3cd;
	padding: 4rem 0 0;
	margin-top: 5rem;
}
.c-site-footer__inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 3rem;
	padding-bottom: 3rem;
}
@media (max-width: 880px) { .c-site-footer__inner { grid-template-columns: 1fr; gap: 2rem; } }
.c-site-footer__brand { font-family: var(--f-serif); font-size: 1.4rem; color: #fff; margin: 0 0 .8rem; }
.c-site-footer__lede { font-size: .92rem; color: #a8a29e; }
.c-site-footer__title {
	font-size: .8rem; letter-spacing: .12em; text-transform: uppercase;
	font-weight: 600; color: #fff; margin: 0 0 1rem;
}
.c-site-footer ul { list-style: none; padding: 0; margin: 0; }
.c-site-footer li { margin-bottom: .5rem; }
.c-site-footer a { color: #d7d3cd; text-decoration: none; font-size: .92rem; }
.c-site-footer a:hover { color: #fff; text-decoration: underline; }
.c-site-footer__bottom {
	border-top: 1px solid #44403c;
	padding: 1.5rem 0;
	font-size: .82rem;
	color: #a8a29e;
}
.c-site-footer__bottom p { margin: 0; }
