/* ============================================================
   FERNANDO ARQUITECTURA — Theme v2.0
   Branding: Concepto Espejo · Manual de Marca 2026
   Paleta: Noche #111 · Arena #C8A96E · Cobre #9A7228
           Lino #EDEBE6 · Piedra #CCC9C0 · Grafito #555
   Tipografía: Outfit 200/300 (display) · DM Sans 300/400 (body)
   ============================================================ */

/* ── TOKENS ─────────────────────────────────────────────── */
:root {
	--fa-noche:      #111111;
	--fa-noche-soft: #1A1916;
	--fa-surface:    #1E1C19;
	--fa-surface-2:  #252119;
	--fa-arena:      #C8A96E;
	--fa-arena-strong:#D7BC8A;
	--fa-cobre:      #9A7228;
	--fa-lino:       #EDEBE6;
	--fa-piedra:     #CCC9C0;
	--fa-grafito:    #555555;
	--fa-line:       rgba(200,169,110,.12);
	--fa-line-soft:  rgba(200,169,110,.07);

	--fs-bg:         var(--fa-noche);
	--fs-surface:    var(--fa-surface);
	--fs-surface-2:  var(--fa-surface-2);
	--fs-line:       var(--fa-line);
	--fs-border:     rgba(200,169,110,.22);
	--fs-text:       var(--fa-lino);
	--fs-muted:      #B8AFA0;
	--fs-muted-2:    #8A8070;
	--fs-accent:     var(--fa-arena);
	--fs-accent-strong: var(--fa-arena-strong);
	--fs-shadow:     none;
	--fs-shadow-soft:none;
	--fs-radius:     0px;
	--fs-wrap:       1280px;
	--fs-section:    112px;
	--fs-header:     88px;
}

/* ── RESET BASE ──────────────────────────────────────────── */
*, :before, :after { box-sizing: border-box }
html { scroll-behavior: smooth }
body {
	margin: 0;
	font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.82;
	color: var(--fs-muted);
	background: var(--fs-bg);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
img { max-width: 100%; height: auto; display: block }
a { color: inherit; text-decoration: none; transition: color .24s ease }
a:hover { color: var(--fa-arena) }
p { margin: 0 0 1.1em }
small { font-size: .85em }
[hidden] { display: none !important }
::selection { background: var(--fa-arena); color: #111 }

/* ── TIPOGRAFÍA ──────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
	margin: 0 0 .4em;
	font-family: 'Outfit', system-ui, sans-serif;
	font-weight: 200;
	line-height: 1.02;
	letter-spacing: -.01em;
	color: var(--fs-text);
}
h1 { font-size: clamp(3rem, 5.6vw, 5.8rem); line-height: .98 }
h2 { font-size: clamp(2.2rem, 4vw, 4rem) }
h3 { font-size: clamp(1.3rem, 2vw, 1.9rem) }
h4 { font-size: 1.05rem; font-weight: 300 }

/* ── LAYOUT UTIL ─────────────────────────────────────────── */
.fs-wrap { width: min(calc(100% - 48px), var(--fs-wrap)); margin-inline: auto }
.fs-section { padding: var(--fs-section) 0; position: relative }
.fs-section + .fs-section { border-top: 1px solid var(--fa-line-soft) }

.fs-section--tint,
.fs-generic-page,
.fs-archive-content {
	background:
		repeating-linear-gradient(90deg, transparent 0 54px, rgba(200,169,110,.04) 54px 55px),
		var(--fa-noche-soft);
}

.fs-section--dark,
.fs-archive-hero,
.fs-project-hero,
.fs-site-footer,
.fs-section--portfolio {
	background:
		radial-gradient(circle at 84% 16%, rgba(200,169,110,.08), transparent 22%),
		#0C0B09 !important;
	color: var(--fa-lino);
}
.fs-section--dark h1,.fs-section--dark h2,.fs-section--dark h3,
.fs-section--dark p,.fs-section--dark li,
.fs-archive-hero h1,.fs-archive-hero h2,.fs-archive-hero p,
.fs-project-hero h1,.fs-project-hero h2,.fs-project-hero p,
.fs-site-footer h1,.fs-site-footer h2,.fs-site-footer h3,
.fs-site-footer p,.fs-site-footer li { color: inherit }

/* ── KICKER ──────────────────────────────────────────────── */
.fs-section-kicker {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	font-family: 'DM Sans', sans-serif;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--fa-arena);
}
.fs-section-kicker:before {
	content: "";
	width: 52px;
	height: 1px;
	background: var(--fa-arena);
	opacity: .9;
}
.fs-section-kicker--light { color: var(--fa-arena) }

/* ── SECTION HEAD ────────────────────────────────────────── */
.fs-section__head { max-width: 860px; margin-bottom: 48px }
.fs-section__head p,
.fs-archive-lead,
.fs-project-hero__summary,
.fs-project-card__excerpt,
.fs-project-card__location,
.fs-project-card__subtitle,
.fs-footer-copy,
.fs-service-card p,
.fs-entry-content p,
.fs-entry-content li,
.fs-check-list li,
.fs-ficha-label,
.fs-contact-card p,
.fs-contact-meta,
.fs-home-editorial__content p,
.fs-process-card p,
.fs-home-intro__text p { color: var(--fs-muted) !important }

.fs-section__head--inline {
	max-width: none;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 32px;
}

/* ── TEXT LINK ───────────────────────────────────────────── */
.fs-text-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 3px;
	border-bottom: 1px solid rgba(200,169,110,.4);
	font-family: 'DM Sans', sans-serif;
	font-size: .82rem;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--fa-arena);
	transition: color .24s ease, border-color .24s ease;
}
.fs-text-link:after { content: '↗'; font-size: .9rem }
.fs-text-link:hover { color: var(--fa-lino); border-bottom-color: var(--fa-arena) }
.fs-text-link--light { color: var(--fa-arena) }

/* ── HEADER ──────────────────────────────────────────────── */
.fs-site-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(10,10,9,.82);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid rgba(200,169,110,.14);
}
.fs-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	min-height: var(--fs-header);
}
.fs-site-branding { display: flex; align-items: center; min-width: 0 }
.fs-site-branding img { max-height: 60px; width: auto }

.fs-main-nav { display: flex; align-items: center; gap: 28px }
.fs-main-nav ul {
	display: flex;
	align-items: center;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
}
.fs-main-nav a {
	font-family: 'DM Sans', sans-serif;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(237,235,230,.72);
	transition: color .22s ease;
}
.fs-main-nav a:hover,
.fs-main-nav .current-menu-item > a,
.fs-main-nav .current_page_parent > a { color: var(--fa-arena) }

.fs-header-actions { display: flex; align-items: center; gap: 12px }
.fs-header-phone {
	font-family: 'DM Sans', sans-serif;
	font-size: .8rem;
	font-weight: 300;
	letter-spacing: .06em;
	color: rgba(237,235,230,.72);
	transition: color .22s ease;
}
.fs-header-phone:hover { color: var(--fa-arena) }

/* ── BOTONES ─────────────────────────────────────────────── */
.fs-header-cta,
.fs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 11px 22px;
	border: 1px solid var(--fa-arena);
	font-family: 'DM Sans', sans-serif;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: background .22s ease, color .22s ease, border-color .22s ease;
}
.fs-header-cta,
.fs-btn--primary { background: var(--fa-arena); color: #111 !important }
.fs-header-cta:hover,
.fs-btn--primary:hover { background: var(--fa-arena-strong); color: #111 !important }
.fs-btn--ghost {
	background: transparent;
	color: var(--fa-lino);
	border-color: rgba(200,169,110,.32);
}
.fs-btn--ghost:hover {
	background: rgba(200,169,110,.08);
	border-color: var(--fa-arena);
	color: var(--fa-lino);
}
.fs-btn--full { width: 100% }

.fs-menu-toggle {
	display: none;
	width: 48px; height: 48px;
	padding: 0;
	border: 1px solid rgba(200,169,110,.2);
	background: transparent;
	cursor: pointer;
}
.fs-menu-toggle span {
	display: block;
	width: 18px; height: 1.5px;
	background: var(--fa-lino);
	margin: 5px auto;
}

/* ── HERO ────────────────────────────────────────────────── */
.fs-hero {
	position: relative;
	min-height: calc(100vh - var(--fs-header));
	display: flex;
	align-items: center;
	color: #fff;
	background:
		linear-gradient(180deg, rgba(0,0,0,.12) 0%, rgba(0,0,0,.28) 100%),
		var(--fs-hero) center/cover no-repeat;
}
.fs-hero:before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(5,5,4,.96) 0%, rgba(5,5,4,.84) 36%, rgba(5,5,4,.48) 70%, rgba(5,5,4,.18) 100%),
		radial-gradient(circle at 80% 20%, rgba(200,169,110,.10), transparent 20%);
}
.fs-hero:after {
	content: "";
	position: absolute;
	left: 22px; right: 22px; top: 22px; bottom: 22px;
	border: 1px solid rgba(200,169,110,.16);
	pointer-events: none;
}
.fs-hero__inner {
	position: relative;
	z-index: 1;
	padding: 120px 0 88px;
	display: grid;
	grid-template-columns: minmax(0,1fr);
	gap: 56px;
}
.fs-hero__content { max-width: 800px }
.fs-hero__content p {
	font-size: 1.06rem;
	max-width: 640px;
	color: rgba(255,255,255,.76);
}
.fs-hero h1,.fs-hero h2,.fs-hero h3,
.fs-hero .fs-section-kicker { color: #fff !important }
.fs-hero .fs-section-kicker { margin-bottom: 28px }
.fs-hero__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px }

.fs-hero__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 20px;
	max-width: 1020px;
}
.fs-stat {
	padding: 24px;
	background: rgba(10,10,9,.72);
	border: 1px solid rgba(200,169,110,.18);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.fs-stat__value {
	display: block;
	margin-bottom: 10px;
	font-family: 'Outfit', sans-serif;
	font-size: 1.1rem;
	font-weight: 300;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fa-arena);
}
.fs-stat__label {
	display: block;
	font-size: .96rem;
	font-weight: 300;
	line-height: 1.66;
	color: rgba(237,235,230,.68);
}

/* ── EDITORIAL ───────────────────────────────────────────── */
.fs-home-editorial {
	display: grid;
	grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
	gap: 72px;
	align-items: center;
}
.fs-home-editorial__content { max-width: 620px }
.fs-home-editorial__quote {
	margin-top: 30px;
	padding: 28px 30px;
	background: var(--fa-surface);
	border: 1px solid rgba(200,169,110,.12);
	border-left: 2px solid var(--fa-arena);
}
.fs-home-editorial__quote strong {
	display: block;
	font-family: 'Outfit', sans-serif;
	font-size: 1.08rem;
	font-weight: 200;
	line-height: 1.6;
	color: var(--fa-lino);
}
.fs-home-editorial__visual { position: relative; padding: 0 0 40px 44px }
.fs-home-editorial__frame { position: relative }
.fs-home-editorial__frame:before {
	content: "";
	position: absolute;
	left: -30px; top: -30px;
	width: 70%; height: 72%;
	border: 1px solid rgba(200,169,110,.18);
}
.fs-home-editorial__frame img {
	width: 100%;
	aspect-ratio: 100/112;
	object-fit: cover;
	filter: grayscale(100%) brightness(.82) contrast(1.04);
	position: relative;
	z-index: 1;
}
.fs-home-editorial__label {
	position: absolute;
	left: 0; bottom: 0;
	padding: .8rem 1rem;
	background: var(--fa-arena);
	color: #111;
	font-family: 'DM Sans', sans-serif;
	font-size: .74rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
}

/* ── SERVICE CARDS ───────────────────────────────────────── */
.fs-services-grid,
.fs-process-grid,
.fs-videos-grid { display: grid; gap: 24px }
.fs-services-grid { grid-template-columns: repeat(3, minmax(0,1fr)) }

.fs-service-card,
.fs-project-card,
.fs-contact-card,
.fs-sticky-card,
.fs-project-summary-box,
.fs-process-card,
.fs-entry-content blockquote {
	background: var(--fa-surface) !important;
	border: 1px solid rgba(200,169,110,.10) !important;
	box-shadow: none !important;
}

.fs-service-card {
	padding: 34px 30px 30px;
	position: relative;
	overflow: hidden;
	min-height: 0;
	transition: border-color .26s ease, transform .26s ease;
}
.fs-service-card:hover {
	border-color: rgba(200,169,110,.28) !important;
	transform: translateY(-3px);
}
.fs-service-card:before {
	content: "";
	position: absolute;
	left: 0; top: 0;
	width: 72px; height: 2px;
	background: var(--fa-arena);
	transition: width .3s ease;
}
.fs-service-card:hover:before { width: 100% }
.fs-service-card__index {
	display: inline-block;
	margin-bottom: 18px;
	font-family: 'Outfit', sans-serif;
	font-size: .9rem;
	font-weight: 200;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fa-arena);
	border: 0; padding: 0; background: transparent;
	width: auto; height: auto;
}
.fs-service-card h3 {
	margin-bottom: 14px;
	color: var(--fa-lino);
	font-size: clamp(1.2rem, 1.8vw, 1.6rem);
}

/* ── PROJECT GRID ────────────────────────────────────────── */
.fs-project-grid { display: grid; gap: 24px }
.fs-project-grid--cols-2 { grid-template-columns: repeat(2, minmax(0,1fr)) }
.fs-project-grid--cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)) }
.fs-project-grid--cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)) }
.fs-project-grid--staggered .fs-project-card:nth-child(5n+2),
.fs-project-grid--staggered .fs-project-card:nth-child(5n+5) { transform: translateY(36px) }

.fs-section--portfolio:after { display: none }
.fs-home-featured .fs-project-grid {
	align-items: start;
	grid-template-columns: repeat(12, minmax(0,1fr));
	grid-auto-rows: auto;
	gap: 24px;
}
.fs-home-featured .fs-project-card:first-child { grid-column: span 7 }
.fs-home-featured .fs-project-card:nth-child(2),
.fs-home-featured .fs-project-card:nth-child(3) { grid-column: span 5 }

.fs-project-card {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-self: start;
	transition: border-color .3s ease, transform .3s ease;
}
.fs-project-card:hover {
	transform: translateY(-4px);
	border-color: rgba(200,169,110,.30) !important;
}
.fs-project-card__media {
	position: relative;
	display: block;
	aspect-ratio: 1/1.08;
	overflow: hidden;
	background: #151311;
}
.fs-project-card__media img {
	width: 100%; height: 100%;
	object-fit: cover;
	filter: grayscale(100%) brightness(.82) contrast(1.04);
	transition: transform .8s ease, filter .4s ease;
}
.fs-project-card:hover .fs-project-card__media img {
	transform: scale(1.04);
	filter: grayscale(70%) brightness(.88);
}
.fs-project-card__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7,7,6,.04) 0%, rgba(7,7,6,.22) 48%, rgba(7,7,6,.84) 100%);
}
.fs-project-card__meta {
	position: absolute;
	top: 16px; left: 16px; right: 16px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	z-index: 2;
}
.fs-project-card__subtitle,
.fs-project-card__eyebrow {
	font-family: 'DM Sans', sans-serif;
	font-size: .76rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fa-arena) !important;
	text-align: right;
	max-width: 56%;
}
.fs-project-card__content {
	position: absolute;
	left: 20px; right: 20px; bottom: 18px;
	z-index: 2;
}
.fs-project-card__title,
.fs-project-card__title--dark {
	margin: 0;
	color: #fff !important;
	font-size: clamp(1.4rem, 2vw, 2.2rem);
}
.fs-project-card__location,
.fs-project-card__location--dark {
	margin: 8px 0 0;
	color: rgba(255,255,255,.82);
	font-size: .92rem;
}
.fs-project-card__body,
.fs-project-card__body--featured {
	padding: 22px 22px 24px;
	background: var(--fa-surface) !important;
	border-top: 1px solid rgba(200,169,110,.08);
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-height: 0;
}
.fs-project-card__excerpt,
.fs-project-card__excerpt--featured {
	margin: 0;
	color: var(--fs-muted) !important;
	font-size: .94rem;
	line-height: 1.7;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.fs-project-card__link {
	font-family: 'DM Sans', sans-serif;
	font-size: .8rem;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--fa-arena);
	border-bottom: 1px solid rgba(200,169,110,.36);
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding-bottom: 2px;
	transition: color .22s ease, border-color .22s ease;
}
.fs-project-card__link:after { content: '↗'; font-size: .88rem }
.fs-project-card__link:hover { color: var(--fa-lino); border-bottom-color: var(--fa-arena) }

.fs-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 6px 10px;
	background: rgba(0,0,0,.44);
	border: 1px solid rgba(200,169,110,.24);
	font-family: 'DM Sans', sans-serif;
	font-size: .74rem;
	font-weight: 400;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--fa-lino);
}
.fs-status-badge--en-progreso {
	background: rgba(200,169,110,.12);
	border-color: rgba(200,169,110,.3);
	color: var(--fa-arena);
}
.fs-status-badge--finalizado {
	background: var(--fa-arena);
	border-color: var(--fa-arena);
	color: #111;
}

.fs-project-card--featured {
	background: transparent !important;
	border: 1px solid rgba(200,169,110,.10) !important;
}
.fs-project-card--featured .fs-project-card__media { aspect-ratio: 4/4.8; min-height: 0 }
.fs-project-card--featured:first-child .fs-project-card__media { aspect-ratio: 16/11 }
.fs-project-card--featured .fs-project-card__media img { object-position: center 14% }
.fs-project-card--featured .fs-project-card__shade {
	background: linear-gradient(180deg, rgba(7,7,6,.08) 0%, rgba(7,7,6,.22) 30%, rgba(7,7,6,.82) 100%);
}
.fs-project-card__chips,
.fs-project-card__chips--dark { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px }
.fs-project-card__chip,
.fs-project-card__chip--dark {
	display: inline-flex;
	align-items: center;
	padding: 7px 10px;
	background: rgba(200,169,110,.08);
	border: 1px solid rgba(200,169,110,.18);
	font-family: 'DM Sans', sans-serif;
	font-size: .72rem;
	font-weight: 400;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--fa-lino);
	backdrop-filter: none;
}

/* ── HOME SPLIT ──────────────────────────────────────────── */
.fs-home-split {
	display: grid;
	grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
	gap: 72px;
	align-items: center;
}
.fs-home-split__image { position: relative; padding: 32px 0 0 32px }
.fs-home-split__image:before {
	content: "";
	position: absolute;
	left: 0; top: 0;
	width: 68%; height: 72%;
	border: 1px solid rgba(200,169,110,.18);
}
.fs-home-split__image img {
	position: relative;
	z-index: 1;
	width: 100%;
	aspect-ratio: 100/76;
	object-fit: cover;
	filter: grayscale(100%) brightness(.82) contrast(1.04);
}
.fs-check-list {
	list-style: none; padding: 0; margin: 28px 0 0;
	display: grid; gap: 18px;
}
.fs-check-list li {
	position: relative;
	padding: 0 0 18px 26px;
	border-bottom: 1px solid rgba(200,169,110,.10);
	font-weight: 300;
}
.fs-check-list li:last-child { padding-bottom: 0; border-bottom: 0 }
.fs-check-list li:before {
	content: "";
	position: absolute;
	left: 0; top: .88em;
	width: 7px; height: 7px;
	background: var(--fa-arena);
}

/* ── PROCESS CARDS ───────────────────────────────────────── */
.fs-process-grid { grid-template-columns: repeat(4, minmax(0,1fr)) }
.fs-process-card {
	padding: 34px 28px 30px;
	position: relative;
	transition: border-color .26s ease, transform .26s ease;
}
.fs-process-card:hover {
	border-color: rgba(200,169,110,.28) !important;
	transform: translateY(-3px);
}
.fs-process-card:before {
	content: "";
	position: absolute;
	left: 0; top: 0;
	width: 56px; height: 2px;
	background: var(--fa-arena);
}
.fs-process-card__step {
	display: inline-block;
	margin-bottom: 18px;
	font-family: 'Outfit', sans-serif;
	font-size: .88rem;
	font-weight: 200;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fa-arena);
}
.fs-process-card h3 { margin-bottom: 12px; color: var(--fa-lino) }

/* ── ARCHIVE ─────────────────────────────────────────────── */
.fs-archive-hero,
.fs-generic-page { padding: 108px 0 60px }
.fs-page-title { margin-bottom: 18px }
.fs-filters { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 32px }
.fs-filter {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 9px 14px;
	border: 1px solid rgba(200,169,110,.18);
	background: rgba(200,169,110,.04);
	color: rgba(237,235,230,.72);
	font-family: 'DM Sans', sans-serif;
	font-size: .76rem;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	transition: background .22s ease, border-color .22s ease, color .22s ease;
}
.fs-filter:hover { background: rgba(200,169,110,.08); color: var(--fa-arena) }
.fs-filter.is-active { background: var(--fa-arena); color: #111; border-color: var(--fa-arena) }
.fs-archive-content { padding: 54px 0 90px }
.fs-pagination { margin-top: 72px }
.fs-pagination .nav-links { display: flex; gap: 10px; flex-wrap: wrap }
.fs-pagination a,
.fs-pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px; min-height: 44px;
	padding: 9px 13px;
	background: var(--fa-surface);
	border: 1px solid rgba(200,169,110,.14);
	color: var(--fa-lino);
	font-family: 'DM Sans', sans-serif;
	font-size: .8rem;
	transition: border-color .22s ease, background .22s ease;
}
.fs-pagination a:hover { border-color: var(--fa-arena); color: var(--fa-arena) }
.fs-pagination .current { background: var(--fa-arena); color: #111; border-color: var(--fa-arena) }

/* ── PROJECT SINGLE ──────────────────────────────────────── */
.fs-project-hero { padding: 108px 0 72px; position: relative; overflow: hidden }
.fs-project-hero__wrap {
	display: grid;
	grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);
	gap: 48px;
	align-items: center;
	position: relative;
	z-index: 1;
}
.fs-project-hero__meta { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px }
.fs-project-hero__subtitle {
	font-family: 'DM Sans', sans-serif;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fa-arena);
}
.fs-project-hero__image { position: relative; padding: 28px 0 0 28px }
.fs-project-hero__image:before {
	content: "";
	position: absolute;
	left: 0; top: 0;
	width: 72%; height: 76%;
	border: 1px solid rgba(200,169,110,.18);
}
.fs-project-hero__image img {
	position: relative; z-index: 1;
	width: 100%; aspect-ratio: 1/1;
	object-fit: cover;
	filter: grayscale(100%) brightness(.82);
}
.fs-project-hero__mini-ficha { margin-top: 24px; max-width: 660px }
.fs-project-hero__mini-ficha .fs-ficha-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px }
.fs-project-hero__mini-ficha .fs-ficha-item {
	background: rgba(255,255,255,.04) !important;
	border-color: rgba(200,169,110,.16) !important;
}

.fs-project-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 34px }
.fs-project-summary-box,
.fs-sticky-card,
.fs-contact-card { padding: 30px }
.fs-sticky-card { position: sticky; top: 108px; margin-bottom: 24px }
.fs-ficha-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px }
.fs-ficha-item {
	padding: 14px;
	background: var(--fa-surface-2) !important;
	border: 1px solid rgba(200,169,110,.10) !important;
}
.fs-ficha-label {
	display: block;
	margin-bottom: 6px;
	font-family: 'DM Sans', sans-serif;
	font-size: .7rem;
	font-weight: 400;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--fa-arena) !important;
}
.fs-ficha-value { font-size: 1rem; font-weight: 300; color: var(--fa-lino) }
.fs-project-entry { margin: 38px 0 }
.fs-entry-content,
.fs-entry-content p,
.fs-entry-content li {
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.86;
	color: var(--fs-muted);
}
.fs-entry-content blockquote {
	margin: 28px 0;
	padding: 26px 28px;
	border-left: 2px solid var(--fa-arena) !important;
}
.fs-entry-content blockquote p:last-child { margin-bottom: 0 }

/* ── GALLERY ─────────────────────────────────────────────── */
.fs-gallery-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0,1fr));
	gap: 16px;
	margin-top: 28px;
}
.fs-gallery-item {
	display: block;
	overflow: hidden;
	background: #151311;
	border: 1px solid rgba(200,169,110,.08);
}
.fs-gallery-item img {
	width: 100%; height: 100%;
	aspect-ratio: 1/1.08;
	object-fit: cover;
	filter: grayscale(100%) brightness(.82);
	transition: transform .6s ease, filter .4s ease;
}
.fs-gallery-item:hover img {
	transform: scale(1.04);
	filter: grayscale(60%) brightness(.9);
}
.fs-gallery-item:nth-child(5n+1) { grid-column: span 2 }
.fs-gallery-item:nth-child(5n+1) img { aspect-ratio: 1.7/1 }
.fs-video-embed {
	position: relative;
	padding-top: 56.25%;
	background: #111;
	border: 1px solid rgba(200,169,110,.10);
	overflow: hidden;
}
.fs-video-embed iframe,
.fs-video-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0 }

/* ── CONTACT ─────────────────────────────────────────────── */
.fs-contact-card {
	padding: 36px;
	background: rgba(255,255,255,.04) !important;
	border: 1px solid rgba(200,169,110,.16) !important;
}
.fs-contact-card h3,
.fs-contact-card a,
.fs-contact-card .fs-contact-meta { color: var(--fa-lino) }
.fs-contact-card h3 { font-size: clamp(1.3rem, 2vw, 1.8rem); margin-bottom: 8px }
.fs-contact-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 24px }
.fs-contact-meta {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
	margin-top: 16px;
	font-size: .94rem;
	color: rgba(237,235,230,.8);
}

/* ── FORMS ───────────────────────────────────────────────── */
input, textarea, select, button { font: inherit }
textarea,
input:not([type="checkbox"]):not([type="radio"]),
select {
	width: 100%;
	min-height: 48px;
	padding: 11px 14px;
	border: 1px solid rgba(200,169,110,.18);
	background: #0E0D0B;
	color: var(--fa-lino);
	font-weight: 300;
}
textarea { min-height: 140px; resize: vertical }
input::placeholder, textarea::placeholder { color: rgba(237,235,230,.36); opacity: 1 }
textarea:focus,
input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus {
	outline: 0;
	border-color: var(--fa-arena);
	box-shadow: 0 0 0 3px rgba(200,169,110,.10);
}

/* ── FOOTER ──────────────────────────────────────────────── */
.fs-site-footer { padding: 92px 0 30px }
.fs-site-footer__top {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 28px;
	padding-bottom: 36px;
	margin-bottom: 36px;
	border-bottom: 1px solid rgba(200,169,110,.14);
}
.fs-site-footer__top h2 { max-width: 740px; font-size: clamp(1.8rem, 3vw, 3rem) }
.fs-site-footer__grid { display: grid; grid-template-columns: 1.1fr .8fr .95fr .75fr; gap: 40px }
.fs-footer-logo { max-height: 54px; width: auto; margin-bottom: 22px }
.fs-site-footer h3 {
	font-family: 'DM Sans', sans-serif;
	font-size: .78rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--fa-arena);
	margin-bottom: 18px;
}
.fs-site-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 12px }
.fs-site-footer a { color: rgba(237,235,230,.72); font-size: .9rem; font-weight: 300; transition: color .22s ease }
.fs-site-footer a:hover { color: var(--fa-arena) }
.fs-footer-contact li { line-height: 1.6 }
.fs-footer-copy {
	max-width: 340px;
	font-size: .88rem;
	font-weight: 300;
	color: rgba(237,235,230,.56) !important;
	line-height: 1.7;
}
.fs-site-footer__bottom {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	padding-top: 22px;
	margin-top: 36px;
	border-top: 1px solid rgba(200,169,110,.10);
}
.fs-site-footer__bottom p {
	margin: 0;
	font-size: .82rem;
	font-weight: 300;
	color: rgba(237,235,230,.48) !important;
}

/* ── LIGHTBOX ────────────────────────────────────────────── */
.fs-lightbox {
	position: fixed; inset: 0;
	display: flex; align-items: center; justify-content: center;
	padding: 32px;
	background: rgba(6,6,5,.96);
	z-index: 9999;
}
.fs-lightbox img { max-width: min(92vw,1260px); max-height: 88vh; object-fit: contain }
.fs-lightbox__close {
	position: absolute;
	top: 20px; right: 20px;
	width: 48px; height: 48px;
	border: 1px solid rgba(200,169,110,.22);
	background: rgba(200,169,110,.06);
	color: var(--fa-lino);
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
	transition: background .22s ease, border-color .22s ease;
}
.fs-lightbox__close:hover { background: rgba(200,169,110,.14); border-color: var(--fa-arena) }

/* ── ELEMENTOR ───────────────────────────────────────────── */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.elementor-widget-text-editor li,
.elementor-widget-image-box .elementor-image-box-description,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-post-info,
.elementor-widget-post-info a { color: var(--fs-muted) }
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-image-box .elementor-image-box-title { color: var(--fa-lino) }
.elementor-button,
.elementor-button:visited { background: var(--fa-arena); color: #111; border: 1px solid var(--fa-arena) }
.elementor-button:hover { background: var(--fa-arena-strong); color: #111 }
.elementor-field,
.elementor-field-textual { background: #0E0D0B; border-color: rgba(200,169,110,.18); color: var(--fa-lino); font-weight: 300 }
.elementor-field::placeholder { color: rgba(237,235,230,.36); opacity: 1 }

/* Hard reset: no border-radius */
:where(
	.fs-btn,.fs-header-cta,.fs-service-card,.fs-process-card,
	.fs-project-card,.fs-gallery-item,.fs-stat,.fs-ficha-item,
	.fs-filter,.fs-pagination a,.fs-pagination span,.fs-status-badge,
	.fs-lightbox__close,.elementor-button,
	.elementor-widget-wrap > .elementor-element-populated
) { border-radius: 0 !important }

/* ── ADMIN BAR ───────────────────────────────────────────── */
body.admin-bar .fs-site-header { top: 32px }
@media (max-width:782px) { body.admin-bar .fs-site-header { top: 46px } }

/* ── ANIMATIONS ──────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
	.fs-reveal {
		opacity: 0;
		transform: translate3d(0, 20px, 0);
		transition: opacity .72s cubic-bezier(.2,.65,.2,1), transform .72s cubic-bezier(.2,.65,.2,1);
		will-change: opacity, transform;
	}
	.fs-reveal.is-visible  { opacity: 1; transform: translate3d(0,0,0) }
	.fs-reveal--left  { transform: translate3d(-22px,0,0) }
	.fs-reveal--right { transform: translate3d(22px,0,0) }
	.fs-reveal--soft  { transform: translate3d(0,12px,0) }
	body.fs-ready .fs-hero__content > * {
		opacity: 0;
		transform: translate3d(0,16px,0);
		animation: faHeroUp .8s cubic-bezier(.2,.65,.2,1) forwards;
	}
	body.fs-ready .fs-hero__content > *:nth-child(1) { animation-delay: .06s }
	body.fs-ready .fs-hero__content > *:nth-child(2) { animation-delay: .14s }
	body.fs-ready .fs-hero__content > *:nth-child(3) { animation-delay: .22s }
	body.fs-ready .fs-hero__content > *:nth-child(4) { animation-delay: .30s }
	body.fs-ready .fs-hero__facts .fs-stat {
		opacity: 0;
		transform: translate3d(0,16px,0);
		animation: faHeroUp .82s cubic-bezier(.2,.65,.2,1) forwards;
	}
	body.fs-ready .fs-hero__facts .fs-stat:nth-child(1) { animation-delay: .32s }
	body.fs-ready .fs-hero__facts .fs-stat:nth-child(2) { animation-delay: .40s }
	body.fs-ready .fs-hero__facts .fs-stat:nth-child(3) { animation-delay: .48s }
	.fs-project-card,.fs-service-card,.fs-process-card,
	.fs-gallery-item,.fs-btn,.fs-header-cta,.elementor-button {
		transition: transform .26s ease, box-shadow .26s ease, opacity .26s ease,
		            background-color .26s ease, color .26s ease, border-color .26s ease;
	}
}
@keyframes faHeroUp {
	from { opacity: 0; transform: translate3d(0,16px,0) }
	to   { opacity: 1; transform: none }
}

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width: 1180px) {
	.fs-home-editorial,
	.fs-home-split,
	.fs-project-hero__wrap,
	.fs-project-layout { grid-template-columns: 1fr }
	.fs-project-layout { gap: 26px }
	.fs-services-grid,
	.fs-process-grid,
	.fs-project-grid--cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)) }
	.fs-sticky-card { position: static }
	.fs-site-footer__grid { grid-template-columns: 1fr 1fr }
	.fs-project-grid--staggered .fs-project-card:nth-child(5n+2),
	.fs-project-grid--staggered .fs-project-card:nth-child(5n+5) { transform: none }
}
@media (max-width: 960px) {
	.fs-menu-toggle { display: inline-block }
	.fs-main-nav {
		position: absolute;
		top: 100%; left: 0; right: 0;
		padding: 20px 22px 24px;
		background: rgba(10,10,9,.97);
		border-bottom: 1px solid rgba(200,169,110,.14);
		display: none;
		flex-direction: column;
		align-items: stretch;
	}
	.fs-main-nav.is-open { display: flex }
	.fs-main-nav ul { flex-direction: column; align-items: flex-start; gap: 16px }
	.fs-header-actions { flex-direction: column; align-items: stretch }
	.fs-header-phone { text-align: left }
	.fs-header-cta { width: 100% }
	.fs-hero { min-height: 840px; align-items: flex-end }
	.fs-hero__inner { padding: 100px 0 64px }
	.fs-hero__facts,
	.fs-services-grid,
	.fs-project-grid--cols-3,
	.fs-videos-grid,
	.fs-gallery-grid,
	.fs-process-grid { grid-template-columns: 1fr }
	.fs-home-featured .fs-project-grid { grid-template-columns: 1fr }
	.fs-home-featured .fs-project-card:first-child,
	.fs-home-featured .fs-project-card:nth-child(2),
	.fs-home-featured .fs-project-card:nth-child(3) { grid-column: auto }
	.fs-gallery-item:nth-child(5n+1) { grid-column: auto }
	.fs-gallery-item:nth-child(5n+1) img { aspect-ratio: 1/1.08 }
	.fs-home-editorial__visual { padding-left: 24px }
	.fs-site-footer__top { align-items: flex-start; flex-direction: column }
}
@media (max-width: 640px) {
	:root { --fs-section: 84px; --fs-header: 76px }
	body { font-size: 15px; line-height: 1.72 }
	h1 { font-size: clamp(2.4rem, 12vw, 3.8rem) }
	h2 { font-size: clamp(1.9rem, 9vw, 2.8rem) }
	.fs-wrap { width: min(calc(100% - 30px), var(--fs-wrap)) }
	.fs-hero__inner { padding: 80px 0 54px }
	.fs-hero:after { left: 14px; right: 14px; top: 14px; bottom: 14px }
	.fs-hero__actions,
	.fs-contact-actions { flex-direction: column; align-items: stretch }
	.fs-ficha-grid,
	.fs-project-hero__mini-ficha .fs-ficha-grid,
	.fs-project-grid--cols-2,
	.fs-services-grid,
	.fs-process-grid { grid-template-columns: 1fr }
	.fs-service-card,
	.fs-process-card,
	.fs-project-card__body,
	.fs-contact-card,
	.fs-project-summary-box,
	.fs-sticky-card { padding: 22px 18px }
	.fs-home-editorial__visual,
	.fs-home-split__image,
	.fs-project-hero__image { padding: 20px 0 0 20px }
	.fs-site-footer { padding-top: 72px }
	.fs-site-footer__grid { grid-template-columns: 1fr }
	.fs-site-footer__bottom { padding-top: 18px; margin-top: 28px; flex-direction: column }
	.fs-site-footer__top .fs-btn { width: 100% }
}
