:root {
	--ink: #25221f;
	--cream: #f2e8dc;
	--paper: #f8f2e9;
	--terra: #994a2b;
	--terra-light: #d38a64;
	--wood: #7a573d;
	--olive: #687250;
	--blue: #24384a;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; max-width: 100%; overflow-x: hidden; }
body { margin: 0; max-width: 100%; overflow-x: hidden; background: var(--cream); color: var(--ink); }
@supports (overflow: clip) { html, body { overflow-x: clip; } }
/* Juan solicita impedir la ampliación por pellizco en móvil (2026-09-26).
   Conserva el desplazamiento y el zoom del menú/teclado; no limita el viewport. */
@media (max-width: 782px), (hover: none) and (pointer: coarse) {
	html, body { touch-action: pan-x pan-y !important; }
	body * { touch-action: inherit !important; }
	/* El carrusel conserva su arrastre horizontal propio y el scroll vertical nativo. */
	.home-work.is-carousel .home-work-viewport { touch-action: pan-y !important; }
}
a { color: inherit; text-decoration: none; }
:where(a, button, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }
.skip-link:focus { position: fixed; top: 12px; left: 12px; width: auto; height: auto; clip: auto; padding: 12px 16px; background: var(--paper); color: var(--ink); border: 2px solid var(--ink); z-index: 100001; font-weight: 700; }
img { display: block; max-width: 100%; height: auto; }
.wp-site-blocks, .wp-site-blocks > * { margin-block-start: 0; }
.wp-block-group { box-sizing: border-box; }
.wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { clip: auto; width: auto; height: auto; margin: 0; padding: 12px; background: var(--paper); color: var(--ink); z-index: 100000; }

.site-header { min-height: 100px; display: flex; align-items: center; justify-content: space-between; padding: 22px 4vw; border-bottom: 1px solid rgba(37,34,31,.3); position: relative; z-index: 5; background: var(--cream); }
.brand { display: flex; align-items: center; gap: 14px; flex-wrap: nowrap; }
.brand .wp-block-site-logo { margin: 0; flex: 0 0 42px; }
.brand .custom-logo { width: 42px; height: 42px; object-fit: contain; }
.brand-copy { margin: 0; }
.brand-copy .wp-block-site-title { margin: 0; font: 30px/1 Georgia, serif; letter-spacing: -.04em; }
.brand-copy .wp-block-site-tagline { margin: 6px 0 0; font-size: 9px; letter-spacing: .32em; text-transform: uppercase; }
.site-nav { text-transform: uppercase; font-size: 11px; letter-spacing: .14em; }
.site-nav .wp-block-navigation__container { gap: clamp(18px, 3vw, 48px); }
.site-nav .wp-block-navigation-item:not(.nav-contact) > a { position: relative; min-height: 44px; display: flex; align-items: center; }
.site-nav .wp-block-navigation-item:not(.nav-contact) > a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -5px; height: 1px; background: currentColor; transition: right .3s; }
.site-nav .wp-block-navigation-item:not(.nav-contact) > a:hover::after { right: 0; }
.site-nav .nav-contact > a { background: transparent; color: var(--ink); padding: 13px 18px; border: 1px solid rgba(37,34,31,.55); transition: background .25s, color .25s, border-color .25s; }
.site-nav .nav-contact > a:hover, .site-nav .nav-contact > a:focus-visible { background: var(--terra); color: var(--paper); border-color: var(--terra);  }

.hero { min-height: calc(100vh - 100px); display: grid; grid-template-columns: 46% 54%; position: relative; overflow: hidden; }
.hero-copy { min-width: 0; padding: clamp(70px, 9vw, 145px) 4vw 70px; position: relative; z-index: 2; }
.hero-copy > * { margin-inline: 0 !important; }
.eyebrow, .section-index { margin: 0 0 48px; font-size: 10px; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.hero h1, .manifesto h2, .section-heading h2, .project h2, .method h2, .human-ai h2, .studio h2, .journal h2, .contact h2, .carousel-heading h2, .page-hero h1 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; }
.hero h1 { font-size: clamp(68px, 8.6vw, 148px); line-height: .9; letter-spacing: -.075em; margin: 0; }
.hero h1 em, .contact h2 em, .carousel-heading h2 em { color: var(--terra); font-weight: 400; }
.hero-intro { position: relative; margin: 44px 0 46px; max-width: 520px; font: clamp(26px, 2.6vw, 38px)/1.28 Georgia, serif; letter-spacing: -.02em; }
.hero-intro-line { display: block; }
.hero-intro-line + .hero-intro-line { margin-top: 14px; }
.hero-type-source { display: block; }
.hero-intro.is-typing .hero-type-source { opacity: 0; }
.hero-type-overlay { position: absolute; inset: 0; display: block; pointer-events: none; }
.hero-type-overlay .hero-intro-line.is-active::after,
.hero-intro[data-typing-state="complete"] > .hero-intro-line:last-child::after,
.hero-intro[data-typing-state="reduced"] > .hero-intro-line:last-child::after { content: ""; display: inline-block; width: 2px; height: .85em; margin-left: .08em; vertical-align: -.02em; background: var(--terra); animation: hero-caret .85s steps(1, end) infinite; }
@keyframes hero-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
	.hero-intro.is-typing .hero-type-source { opacity: 1; }
	.hero-type-overlay { display: none; }
}
.text-link { margin: 0; }
.text-link a { min-height: 44px; display: inline-flex; gap: 45px; align-items: center; border-bottom: 1px solid; padding: 10px 0; text-transform: uppercase; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.hero-visual { min-height: 680px; position: relative; margin: 30px 30px 30px 0; background: var(--wood); overflow: hidden; }
.hero-visual figure, .hero-visual img { width: 100%; height: 100%; margin: 0; }
.hero-visual img { object-fit: cover; object-position: center 54%; filter: saturate(.78) contrast(1.04); }
.hero-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(37,34,31,.08), transparent 40%, rgba(37,34,31,.1)); pointer-events: none; }
.image-note { position: absolute; right: 18px; bottom: 18px; z-index: 2; color: var(--cream); font-size: 8px; letter-spacing: .15em; background: rgba(37,34,31,.72); padding: 10px 12px; }
.terracotta-block { width: 105px; height: 150px; background: var(--terra); position: absolute; left: -45px; bottom: 15%; z-index: 3; mix-blend-mode: multiply; }
.hero-side { position: absolute; right: -185px; top: 50%; margin: 0; font-size: 9px; letter-spacing: .25em; transform: rotate(90deg); z-index: 3; color: var(--cream); }

.manifesto { padding: 120px 4vw; display: grid; grid-template-columns: minmax(180px, .45fr) minmax(0, 1.3fr) minmax(280px, .75fr); gap: 5vw; align-items: start; background: var(--cream); }
.manifesto .section-index { padding-top: 12px; }
.manifesto h2 { margin: 0; font-size: clamp(54px, 6.5vw, 102px); line-height: .91; letter-spacing: -.06em; }
.manifesto h2 em { color: var(--terra); font-weight: 400; }
.manifesto-copy { padding-top: 12px; }
.manifesto-copy > p { margin: 0 0 24px; font: 18px/1.58 Georgia, serif; }
.manifesto-copy .manifesto-line { margin-top: 54px; padding-top: 22px; border-top: 1px solid var(--ink); font: 11px/1.6 Arial, sans-serif; letter-spacing: .16em; text-transform: uppercase; }

.services { padding: 120px 4vw 0; background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1.3fr .7fr; gap: 10vw; align-items: end; margin-bottom: 80px; }
.section-heading h2, .method h2, .studio h2, .journal h2 { font-size: clamp(52px, 6vw, 92px); line-height: .94; letter-spacing: -.055em; margin: 0; }
.section-heading > p { max-width: 440px; font: 18px/1.55 Georgia, serif; margin: 0; }
body.home #servicios { padding-top: clamp(64px, 6vw, 96px); }
body.home #servicios .section-heading { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 28px clamp(40px, 6vw, 96px); align-items: start; margin-bottom: 48px; }
body.home #servicios .section-heading > * { min-width: 0; margin: 0; }
body.home #servicios .section-heading > .section-index { grid-column: 1 / -1; font: 700 10px/1.5 Arial, Helvetica, sans-serif; }
body.home #servicios .section-heading h2 { font-size: clamp(48px, 5.4vw, 84px); line-height: 1; }
body.home #servicios .section-heading h2 > span { display: block; text-wrap: balance; }
body.home #servicios .section-heading h2 > em { display: block; color: var(--terra); font-weight: 400; }
body.home #servicios .section-heading > p:not(.section-index) { max-width: 40ch; }
@media (min-width: 901px) {
	body.home #servicios .section-heading > p:not(.section-index) { margin-top: clamp(48px, 5.4vw, 84px); }
}
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); }
.service-grid > li { min-height: 420px; display: flex; flex-direction: column; padding: 28px 30px; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); position: relative; transition: background .25s, color .25s; counter-increment: service; }
.service-grid { counter-reset: service; }
.service-grid > li::before { content: counter(service, decimal-leading-zero); font-size: 10px; letter-spacing: .18em; }
.service-grid > li:nth-child(3n) { border-right: 0; }
.service-grid > li:hover { background: var(--terra); color: var(--paper); }
.service-grid h3 { margin: 55px 0 22px; font-size: clamp(28px, 2.5vw, 42px); line-height: 1; letter-spacing: -.04em; max-width: 300px; overflow-wrap: normal; word-break: normal; }
.service-grid .wp-block-post-excerpt { margin: 0; line-height: 1.55; max-width: 330px; }
.service-grid .wp-block-post-excerpt__excerpt { margin: 0; }
.service-grid .wp-block-post-content { position: static; width: 100%; margin-top: auto; padding-top: 30px; font-size: 8px; letter-spacing: .16em; text-transform: uppercase; }
.service-grid .wp-block-post-content p { margin: 0; }
.service-grid .wp-block-post-content .service-consultation { margin-top: 12px; color: var(--terra); font-size: 10px; font-weight: 700; }
.service-grid .service-consultation a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 5px; }
.service-grid > li:hover .service-consultation { color: var(--paper); }
.service-territories { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.service-territory { margin: 0; border: 0; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); background: var(--terra); color: var(--paper); transition: background .25s, color .25s; }
.service-territory > summary { min-height: 320px; padding: 28px 30px; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; gap: 28px; list-style: none; cursor: pointer; }
.service-territory > summary::-webkit-details-marker { display: none; }
.service-territory > summary::marker { content: ""; }
.service-territory > summary:focus-visible { outline: 3px solid var(--paper); outline-offset: -6px; }
.service-territory a:focus-visible { outline-color: var(--paper); }
.service-territory[open] > summary:focus-visible { outline-color: var(--paper); }
@media (hover: hover) and (pointer: fine) {
	.service-territory:not([open]) > summary:hover { background: var(--terra); color: var(--paper); }
	.service-territory:not([open]) > summary:hover:focus-visible { outline-color: var(--paper); }
}
.service-territory[open] { background: var(--terra); color: var(--paper); }
.service-territory-heading { grid-column: 1 / -1; grid-row: 2; align-self: start; display: flex; flex-direction: column; gap: 22px; }
.service-territory-title { max-width: 330px; font: 400 clamp(34px, 3vw, 48px)/.98 Georgia, "Times New Roman", serif; letter-spacing: -.045em; }
body.home #servicios .service-territory-title { max-width: none; }
@media (min-width: 901px) and (max-width: 1199px) {
	body.home #servicios .service-territory-title { min-height: 1.96em; }
}
.service-territory-intro { max-width: 34ch; font: 16px/1.5 Georgia, "Times New Roman", serif; }
.service-territory-toggle { grid-column: 2; grid-row: 1; width: 36px; height: 36px; display: inline-grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.service-territory-toggle::before { content: "+"; font: 24px/1 Arial, sans-serif; }
.service-territory[open] .service-territory-toggle::before { content: "−"; }
.service-territory-panel { padding: 0 30px 32px; border-top: 1px solid rgba(248,242,233,.45); }
.service-territory-capabilities { margin: 0; padding: 26px 0 0; list-style: none; }
.service-territory-capabilities li { position: relative; margin: 0; padding: 13px 0; border-bottom: 1px solid rgba(248,242,233,.24); font-size: 14px; line-height: 1.45; }
.service-territory-cta { margin: 28px 0 0; }
.service-territory-cta a { min-height: 44px; display: inline-flex; align-items: center; gap: 16px; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 6px; }
.packages-strip { margin: 80px -4vw 0; padding: 55px 4vw; display: grid; grid-template-columns: .7fr 1.4fr .6fr; gap: 40px; align-items: center; background: var(--olive); color: #fff; }
.packages-strip > p, .packages-strip > p a { margin: 0; font-size: 10px; line-height: 1.5; letter-spacing: .14em; text-transform: uppercase; }
.packages-strip > .wp-block-group { display: flex; gap: 38px; }
.packages-strip > .wp-block-group p { margin: 0; font: 26px/1.2 Georgia, serif; }
.packages-strip a { min-height: 44px; display: inline-flex; align-items: center; text-decoration: underline; text-underline-offset: 6px; }

.editorial-carousel { padding: 120px 0 85px 4vw; overflow: hidden; background: var(--ink); color: var(--cream); }
.carousel-heading { padding-right: 4vw; display: grid; grid-template-columns: 1.35fr .65fr; gap: 9vw; align-items: end; margin-bottom: 70px; }
.carousel-heading h2 { margin: 0; font-size: clamp(58px, 7vw, 108px); line-height: .88; letter-spacing: -.06em; }
.carousel-heading h2 em { color: #d38a64; }
.carousel-intro > p { max-width: 470px; margin: 0 0 44px; font: 18px/1.55 Georgia, serif; color: rgba(242,232,220,.82); }
.manifesto-carousel { padding-top: clamp(60px, 6vw, 84px); padding-bottom: 52px; }
.manifesto-carousel .carousel-heading { grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 24px clamp(40px, 6vw, 96px); align-items: start; margin-bottom: 40px; }
.manifesto-carousel .carousel-heading > * { min-width: 0; margin: 0; }
.manifesto-carousel .carousel-heading > .section-index { grid-column: 1 / -1; }
.manifesto-carousel .carousel-heading h2 { font-size: clamp(52px, 6vw, 94px); }
.manifesto-carousel .carousel-intro > p { margin-bottom: 20px; }
.manifesto-carousel .carousel-image-wrap { height: clamp(340px, 38vw, 500px); }
.manifesto-carousel .carousel-track { padding-bottom: 16px; }
.manifesto-carousel .carousel-progress { margin-top: 24px; }
.carousel-controls { display: flex; align-items: center; gap: 18px; }
.carousel-controls button { width: auto; min-width: 88px; padding: 0 14px; height: 48px; border: 1px solid rgba(242,232,220,.45); border-radius: 0; background: transparent; color: var(--cream); font: 12px/1 Arial, Helvetica, sans-serif; cursor: pointer; transition: background .25s, color .25s, border-color .25s; }
.carousel-controls button:hover, .carousel-controls button:focus-visible { background: var(--cream); color: var(--ink); border-color: var(--cream);  }
.carousel-controls p { min-width: 64px; margin: 0; font-size: 9px; letter-spacing: .17em; color: rgba(242,232,220,.55); text-align: center; }
.carousel-controls strong { color: var(--cream); font-size: 13px; font-weight: 400; }
.manifesto-carousel .carousel-controls { flex-wrap: wrap; gap: 12px; }
.manifesto-carousel .carousel-controls button { min-width: 76px; padding-inline: 12px; }
.manifesto-carousel .carousel-controls p { min-width: 48px; }
.carousel-track { display: flex; align-items: stretch; gap: 24px; overflow-x: auto; padding: 0 8vw 28px 0; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; scrollbar-width: none; cursor: grab; }
.carousel-track::-webkit-scrollbar { display: none; }
.carousel-track:active { cursor: grabbing; }
.carousel-track:focus-visible { outline: 1px solid var(--terra); outline-offset: 8px; }
.carousel-track > li { flex: 0 0 min(46vw, 700px); scroll-snap-align: start; }
.carousel-track > li:nth-child(3n+1) { flex-basis: min(62vw, 930px); }
.carousel-track > li:nth-child(4n) { flex-basis: min(32vw, 490px); }
.carousel-image-wrap { height: clamp(460px, 51vw, 680px); overflow: hidden; position: relative; background: #171512; }
.carousel-image-wrap::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(242,232,220,.08); pointer-events: none; }
.carousel-image-wrap .wp-block-post-featured-image, .carousel-image-wrap img { width: 100%; height: 100%; margin: 0; }
.carousel-image-wrap img { object-fit: cover; filter: saturate(.82) contrast(1.03); transition: transform .8s cubic-bezier(.2,.7,.2,1), filter .5s; }
.carousel-track > li:hover img { transform: scale(1.025); filter: saturate(1) contrast(1); }
.carousel-caption { display: flex; justify-content: space-between; gap: 30px; align-items: baseline; padding: 17px 2px 0; border-top: 1px solid rgba(242,232,220,.24); }
.carousel-caption h3 { margin: 0; font: 23px/1.2 Georgia, serif; font-weight: 400; }
.carousel-caption .wp-block-post-excerpt { margin: 0; font-size: 8px; letter-spacing: .15em; color: rgba(242,232,220,.55); text-align: right; text-transform: uppercase; }
.carousel-caption .wp-block-post-excerpt__excerpt { margin: 0; }
.carousel-progress { width: calc(100% - 4vw); height: 1px; margin-top: 48px; background: rgba(242,232,220,.2); }
.carousel-progress span { display: block; width: 12.5%; height: 1px; background: var(--terra); transition: width .45s ease; }
.carousel-hint { display: flex; justify-content: space-between; width: calc(100% - 4vw); margin: 16px 0 0; font-size: 8px; letter-spacing: .19em; color: rgba(242,232,220,.55); }
.carousel-hint span { color: var(--cream); }

.project { display: grid; grid-template-columns: 35% 40% 25%; min-height: 900px; background: #312a25; color: var(--cream); overflow: hidden; }
.project-image { overflow: hidden; }
.project-image figure, .project-image img { width: 100%; height: 100%; margin: 0; }
.project-image img { object-fit: cover; filter: saturate(.78); transition: transform .8s; }
.project:hover .project-image img { transform: scale(1.025); }
.project-copy { padding: 110px 5vw 80px; align-self: center; }
.light { color: rgba(242,232,220,.65); }
.project-kicker { color: var(--terra-light); font-size: 10px; letter-spacing: .2em; margin-bottom: 28px; }
.project h2 { font-size: clamp(70px, 7.5vw, 120px); line-height: .82; letter-spacing: -.06em; margin: 0 0 45px; }
.project-copy > p:not(.section-index):not(.project-kicker) { font: 18px/1.55 Georgia, serif; max-width: 430px; }
.project-facts { margin-top: 60px; }
.project-facts p { display: grid; grid-template-columns: 100px 1fr; border-top: 1px solid rgba(242,232,220,.25); padding: 13px 0; margin: 0; font-size: 10px; text-transform: uppercase; letter-spacing: .1em; }
.project-facts strong { color: rgba(242,232,220,.5); font-weight: 400; }
.secondary { margin: 100px 0; }

.project-showcase { padding: 120px 4vw 105px; background: var(--paper); color: var(--ink); }
.project-showcase-heading { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 9vw; align-items: end; margin-bottom: 70px; }
.project-showcase-heading h2 { margin: 0; font: 400 clamp(52px, 6vw, 92px)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.055em; }
.project-showcase-heading h2 em { color: var(--terra); font-weight: 400; }
.project-showcase-heading > p { max-width: 450px; margin: 0; font: 18px/1.55 Georgia, serif; color: rgba(37,34,31,.76); }
.project-showcase-grid { --project-card-height: clamp(330px, 29vw, 410px); display: block; width: 100%; max-width: 1240px; margin-inline: auto; border-bottom: 1px solid rgba(37,34,31,.35); counter-reset: project-card; }
.project-showcase-grid > li { min-width: 0; display: grid; grid-template-columns: minmax(220px, 30fr) minmax(90px, 12fr) minmax(0, 58fr); gap: 7px; align-items: stretch; padding: 14px 0 22px; border-top: 1px solid rgba(37,34,31,.35); counter-increment: project-card; }
.project-card-image { position: relative; height: var(--project-card-height); aspect-ratio: auto; margin: 0; overflow: hidden; background: #e8ded2; }
.project-card-image::before { content: "0" counter(project-card); position: absolute; top: 14px; left: 14px; z-index: 2; padding: 7px 9px; background: rgba(248,242,233,.88); color: var(--terra); font-size: 10px; letter-spacing: .15em; }
.project-card-image a, .project-card-image img { width: 100%; height: 100%; }
.project-card-image img { object-fit: cover; object-position: center top; filter: saturate(.82); transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .4s; }
.project-showcase-grid > li:hover .project-card-image img { transform: scale(1.025); filter: saturate(1); }
.project-card-gallery { min-width: 0; height: var(--project-card-height); margin: 0; }
.project-card-gallery > :not(.project-mini-gallery) { display: none; }
.project-mini-gallery { height: 100%; display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); gap: 7px; }
.project-mini-gallery .wp-block-image { min-height: 0; margin: 0; overflow: hidden; background: #e8ded2; }
.project-mini-gallery img { width: 100%; height: 100%; object-fit: cover; object-position: center top; filter: saturate(.84); transition: transform .6s ease, filter .4s; }
.project-showcase-grid > li:hover .project-mini-gallery img { filter: saturate(1); }
.project-card-copy { min-width: 0; align-self: center; padding: 4px 0 4px 25px; border-left: 1px solid rgba(37,34,31,.22); }
.project-card-terms { min-height: 1.4em; margin: 0 0 13px; color: var(--terra); font-size: 8px; letter-spacing: .16em; text-transform: uppercase; }
.project-card-terms a { min-height: 44px; display: inline-flex; align-items: center; }
.project-card-copy h2 { margin: 0 0 14px; font: 400 clamp(30px, 2.9vw, 46px)/.98 Georgia, serif; letter-spacing: -.045em; }
.project-card-copy .wp-block-post-excerpt { min-height: 0; margin: 0; max-width: 540px; color: rgba(37,34,31,.76); font-size: 14px; line-height: 1.52; }
.project-card-copy .wp-block-post-excerpt__excerpt { margin: 0; }
.project-card-link, .journal-link { min-height: 44px; display: inline-flex; align-items: center; margin-top: 16px; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 9px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.projects-all-link { margin-top: 56px; color: var(--ink); }

.method { padding: 120px 4vw; display: grid; grid-template-columns: minmax(0, 43fr) minmax(0, 57fr); gap: 8vw; background: var(--cream); }
.method-title { position: sticky; top: 40px; align-self: start; }
.method-list { margin: 0; }
.method-item { display: grid; grid-template-columns: 70px 1fr; border-top: 1px solid var(--ink); padding: 28px 0 42px; }
.method-item > p { margin: 0; font-size: 10px; letter-spacing: .2em; }
.method-item h3 { font-size: 42px; margin: 0 0 12px; }
.method-item > div p { margin: 0; max-width: 430px; line-height: 1.55; }

.human-ai { padding: 120px 4vw; background: var(--terra); color: var(--cream); }
.human-ai h2 { max-width: 1080px; margin: 0; font-size: clamp(58px, 7.3vw, 116px); line-height: .9; letter-spacing: -.06em; }
.human-ai h2 em { color: var(--ink); font-weight: 400; }
.human-ai-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7vw; margin: 90px 0 0 34%; border-top: 1px solid rgba(242,232,220,.5); }
.human-ai-grid > div { padding-top: 28px; }
.human-ai-grid > div > p:not(.human-ai-label) { max-width: 470px; margin: 0; font: 19px/1.55 Georgia, serif; }
.human-ai-label { margin: 0 0 32px; font-size: 9px; letter-spacing: .18em; }

.studio { padding: 120px 4vw; display: grid; grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); gap: 8vw; background: var(--blue); color: var(--cream); }
.studio-copy > p:not(.section-index) { max-width: 520px; font: 18px/1.6 Georgia, serif; }
.studio-copy h2 { margin-bottom: 55px; }
.team-list > li { display: grid; grid-template-columns: 60px 1fr; gap: 10px; border-top: 1px solid rgba(242,232,220,.3); padding: 28px 0 42px; counter-increment: member; }
.team-list { counter-reset: member; }
.team-list > li::before { content: counter(member, decimal-leading-zero); font-size: 10px; letter-spacing: .15em; color: rgba(242,232,220,.55); }
.team-list > li::before { grid-column: 1; grid-row: 1 / span 3; }
.team-list h3, .team-list .wp-block-post-excerpt, .team-list .wp-block-post-content { grid-column: 2; }
.team-list h3 { font-size: 46px; margin: 0; }
.team-list .wp-block-post-excerpt { color: #d39a79; margin: 5px 0 18px; font-size: 10px; text-transform: uppercase; letter-spacing: .13em; }
.team-list .wp-block-post-excerpt p { margin: 0; }
.team-list .wp-block-post-content { margin: 0; line-height: 1.5; max-width: 430px; }
.team-list .wp-block-post-content p { margin: 0 0 15px; }
.team-list .wp-block-post-content a { min-height: 44px; width: fit-content; max-width: 100%; display: inline-flex; align-items: center; gap: 18px; margin-top: 10px; padding: 11px 0 9px; background: transparent; color: inherit; border-bottom: 1px solid rgba(242,232,220,.45); border-radius: 0; box-shadow: none; font-size: 9px; letter-spacing: .12em; transition: color .25s, border-color .25s; }
.team-list .wp-block-post-content a:hover { color: #d39a79; border-color: #d39a79; }

.journal { padding: 110px 4vw; background: var(--paper); }
.journal-grid { display: grid; grid-template-columns: minmax(0, 70fr) minmax(280px, 30fr); gap: 6vw; align-items: end; }
.journal-grid > * { min-width: 0; }
.journal-grid > .wp-block-group { width: 100%; max-width: none; margin-inline: 0; }
.journal-label { display: inline-block; background: var(--terra); color: #fff; padding: 8px 10px; font-size: 8px; letter-spacing: .2em; margin-bottom: 30px; }
.journal-grid > p { width: 100%; max-width: 520px; margin: 0; font: 18px/1.55 Georgia, serif; overflow-wrap: anywhere; }
.journal-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 65px; border-top: 1px solid var(--ink); }
.journal-list > li { min-width: 0; padding: 28px 30px 32px 0; border-bottom: 1px solid var(--ink); }
.journal-list > li + li { padding-left: 30px; border-left: 1px solid var(--ink); }
.journal-card { height: 100%; display: flex; flex-direction: column; align-items: flex-start; }
.journal-date { margin: 0 0 34px; color: var(--terra); font-size: 9px; letter-spacing: .16em; }
.journal-card h3 { margin: 0 0 16px; font: 400 clamp(28px, 2.6vw, 42px)/1 Georgia, serif; letter-spacing: -.04em; }
.journal-card .wp-block-post-excerpt { margin: 0; max-width: 390px; line-height: 1.55; }
.journal-card .wp-block-post-excerpt__excerpt { margin: 0; }
.journal-card .journal-link { margin-top: auto; padding-top: 28px; }
.journal-all-link { margin-top: 52px; }

.contact { background: var(--terra); color: var(--paper); padding: 82px 4vw 72px; display: grid; grid-template-columns: minmax(0, 58fr) minmax(340px, 42fr); gap: 7vw; align-items: start; }
.contact > * { min-width: 0; }
.contact > .wp-block-group { width: 100%; max-width: none; margin-inline: 0; }
.contact .section-index.light { color: var(--paper); }
.contact h2 { font-size: clamp(64px, 7.5vw, 120px); line-height: .88; letter-spacing: -.06em; margin: 0; }
.contact h2 em { display: inline-block; color: #12100f; transform: translateY(clamp(12px, 1.7vw, 26px)); }
.contact-info { width: 100%; min-width: 0; max-width: none; margin: 0; padding-top: 0; }
.contact-info > p:first-child { max-width: 480px; font: 19px/1.55 Georgia, serif; }
.contact-direct-intro { margin: 0 0 30px; }
.contact-direct { margin: 0; border-top: 1px solid rgba(248,242,233,.7); }
.contact-direct__item { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 18px; align-items: center; margin: 0; border-bottom: 1px solid rgba(248,242,233,.7); }
.contact-direct__item > span { font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.contact-direct__item > a { min-width: 0; min-height: 70px; display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 12px 0; font: clamp(18px, 1.7vw, 27px)/1.25 Georgia, serif; overflow-wrap: anywhere; }
.contact-direct__item i { font: normal 18px/1 Georgia, serif; transition: transform .2s; }
.contact-direct__item a:hover i, .contact-direct__item a:focus-visible i { transform: translate(3px, -3px); }
.contact-direct-note { max-width: 720px; margin: 14px 0 0; font-size: 11px; line-height: 1.55; opacity: .82; }
.contact-proof-links { display: flex; gap: 10px 24px; margin-top: 24px; }
.contact-proof-links p { margin: 0; }
.contact-proof-links a { min-height: 44px; display: inline-flex; align-items: center; border-bottom: 1px solid currentColor; font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.contact-social { width: 100%; min-width: 0; display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-top: 48px; }
.contact-social > p { margin: 0; font-size: 10px; letter-spacing: .15em; }
.contact-social__links { display: flex; justify-content: flex-end; gap: 10px; }
.society-social-link { max-width: 100%; margin: 0; }
.society-social-link a { max-width: 100%; min-height: 62px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: 5px 15px; padding: 12px 15px; border: 1px solid rgba(248,242,233,.65); transition: background .25s, color .25s, border-color .25s; }
.society-social-link span { grid-column: 1 / -1; font-size: 9px; letter-spacing: .2em; text-transform: uppercase; opacity: 1; }
.society-social-link strong { min-width: 0; font-size: 10px; font-weight: 400; letter-spacing: .08em; overflow-wrap: anywhere; }
.society-social-link i { font: normal 15px/1 Georgia, serif; transition: transform .25s; }
.society-social-link a:hover, .society-social-link a:focus-visible { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.society-social-link a:hover i { transform: translate(3px, -3px); }

.site-footer { padding: 26px 4vw; background: var(--ink); color: var(--cream); display: grid; grid-template-columns: auto minmax(220px, 1fr) auto; align-items: center; column-gap: clamp(28px, 4vw, 68px); border-top: 1px solid rgba(248,242,233,.16); }
.footer-brand { margin: 0; font: clamp(32px, 2.5vw, 38px)/.95 Georgia, serif; letter-spacing: -.035em; white-space: nowrap; }
.footer-brand a { min-height: 44px; display: inline-flex; align-items: center; transition: opacity .2s; }
.footer-brand a:hover { opacity: .72; }
.site-footer > p:not(.footer-brand), .footer-links { margin: 0; font-size: 10px; letter-spacing: .18em; }
.site-footer > p:not(.footer-brand) { max-width: 290px; line-height: 1.5; opacity: .72; }
.footer-links { display: flex; justify-content: flex-end; align-items: center; gap: 0 20px; }
.footer-links p { margin: 0; }
.footer-links p:last-child { opacity: .62; }
.footer-links a { min-height: 44px; display: inline-flex; align-items: center; position: relative; opacity: .78; transition: opacity .2s; }
.footer-links a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 7px; height: 1px; background: currentColor; transition: right .2s; }
.footer-links a:hover, .footer-links a:focus-visible { opacity: 1; }
.footer-links a:hover::after, .footer-links a:focus-visible::after { right: 0; }

.page-hero { padding: clamp(90px, 12vw, 180px) 4vw 90px; background: var(--paper); border-bottom: 1px solid var(--ink); }
.page-hero .section-index { margin-bottom: 35px; }
.page-hero .post-meta { gap: 10px; margin-bottom: 35px; }
.page-hero .post-meta .section-index { margin: 0; }
.page-hero .post-meta .wp-block-post-date::before { content: "· "; }
.page-hero h1 { max-width: 1150px; margin: 0; font-size: clamp(64px, 9vw, 140px); line-height: .84; letter-spacing: -.065em; }
.page-hero > p:last-child { max-width: 650px; margin: 50px 0 0; font: 20px/1.55 Georgia, serif; }
.content-shell { padding: 90px 4vw 120px; background: var(--paper); }
.content-shell > .wp-block-post-content, .legal-content { max-width: 860px; margin: 0 auto; font: 18px/1.7 Georgia, serif; }
.content-shell h2, .legal-content h2 { margin-top: 2.2em; font-size: 42px; }
.article-content .wp-block-post-content { max-width: 760px; margin: 0 auto; font: 20px/1.75 Georgia, serif; }
.article-content .wp-block-post-content h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.05; }
.blog-query { padding: 90px 4vw 120px; background: var(--paper); }
.blog-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--ink); }
.blog-list > li { min-width: 0; min-height: 330px; padding: 28px 30px 36px 0; border-bottom: 1px solid var(--ink); }
.blog-list > li + li { padding-left: 30px; border-left: 1px solid var(--ink); }
.blog-list h2 { margin: 0 0 18px; font-size: clamp(30px, 3vw, 48px); line-height: 1; }
.blog-list .wp-block-post-excerpt { margin: 0; line-height: 1.6; }
.projects-archive-query { padding: 70px 4vw 120px; background: var(--paper); }
.projects-list-editorial { margin: 0; }
.single-project { background: var(--paper); }
.single-project-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 78vh; }
.single-project-copy { padding: 110px 5vw; align-self: center; }
.single-project-copy h1 { font-size: clamp(64px, 8vw, 120px); letter-spacing: -.06em; margin: 0 0 35px; }
.single-project-image .wp-block-post-featured-image, .single-project-image img { width: 100%; height: 100%; margin: 0; object-fit: cover; }
.single-project-body { padding: 100px 4vw 130px; }
.single-project-body > * { max-width: 860px; margin-left: auto; margin-right: auto; }
.single-project-body > .project-mini-gallery { max-width: 1120px; height: auto; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; gap: 12px; margin-bottom: 75px; }
.single-project-body > .project-mini-gallery .wp-block-image { aspect-ratio: 4 / 5; }
.not-found { min-height: 70vh; display: grid; align-content: center; padding: 90px 4vw; }
.not-found h1 { margin: 0; font-size: clamp(90px, 18vw, 260px); line-height: .75; letter-spacing: -.08em; }
.not-found h2 { margin: 35px 0 20px; font-size: clamp(38px, 5vw, 72px); }
.legal-identity, .legal-controller-details { margin-top: 54px; padding-top: 26px; border-top: 1px solid rgba(37,34,31,.22); }
.legal-identity dl { display: grid; gap: 12px; margin: 22px 0 0; }
.legal-identity dl > div { display: grid; grid-template-columns: minmax(150px, 210px) minmax(0, 1fr); gap: 18px; }
.legal-identity dt { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.legal-identity dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.legal-document-review { padding: clamp(28px, 5vw, 54px); border: 1px solid rgba(37,34,31,.25); background: rgba(216,106,69,.06); }
.legal-document-review h2 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 42px); }
.legal-document-review p { max-width: 650px; margin: 0; }
.legal-preview-warning { margin: 0 0 38px; padding: 18px 20px; border: 2px solid var(--terra); background: rgba(216,106,69,.08); }
.legal-preview-warning strong { display: block; margin-bottom: 5px; font: 700 11px/1.4 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.legal-preview-warning p { margin: 0; font-size: 15px; line-height: 1.55; }
.legal-controlled-document .legal-document-meta { margin: 0 0 38px; font: 700 10px/1.5 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; opacity: .7; }
.legal-controlled-document > h2:first-of-type { margin-top: 0; }
.legal-controlled-document > p, .legal-controlled-document > ul { max-width: 780px; }
.legal-controlled-document .legal-identity { display: grid; gap: 12px; margin: 24px 0 30px; padding: 22px 0; border-top: 1px solid rgba(37,34,31,.22); border-bottom: 1px solid rgba(37,34,31,.22); }
.legal-controlled-document .legal-identity > div { display: grid; grid-template-columns: minmax(150px, 210px) minmax(0, 1fr); gap: 18px; }
.legal-controlled-document .legal-identity dt { font: 700 11px/1.5 Arial, sans-serif; letter-spacing: .1em; text-transform: uppercase; }
.legal-controlled-document .legal-identity dd { min-width: 0; margin: 0; overflow-wrap: anywhere; }
.legal-configuration-error { color: #8a3e2b; font-style: italic; }

.site-nav .wp-block-navigation__responsive-container-open,
.site-nav .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid currentColor; background: transparent; color: inherit; }
.site-nav .wp-block-navigation__responsive-container-open svg,
.site-nav .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }

/* Portada local: fotografía de borde superior a inferior, con altura conservada. */
.hero .hero-intro { margin-bottom: 0; }
@media (min-width: 901px) {
	.hero { --hero-inset: clamp(64px, 6vw, 96px); min-height: calc(clamp(560px, 50vw, 720px) + var(--hero-inset) + 70px); grid-template-columns: 46% 54%; }
	.hero-copy { padding-top: var(--hero-inset); display: flex; flex-direction: column; justify-content: space-between; }
	.hero-visual { min-height: 0; margin: 0; }
	.hero-visual figure { position: absolute; inset: 0; }
}

@media (max-width: 900px) {
	.site-header { padding: 18px 22px; }
	.site-nav .wp-block-navigation__responsive-container-open { display: flex; }
	.site-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open { display: flex; background-color: var(--ink) !important; color: var(--paper) !important; padding: 24px 22px 32px; }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px; align-items: stretch; }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { width: 100%; align-items: stretch; gap: 0; }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; display: block; }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a { width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 12px 0; border-top: 1px solid rgba(248,242,233,.32); color: var(--paper); font-size: 18px; }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-contact > a { justify-content: center; margin-top: 18px; padding: 14px 18px; background: var(--terra); border: 1px solid var(--paper); color: var(--paper); }
	.site-nav .wp-block-navigation__responsive-container-close { position: absolute; top: 18px; right: 22px; color: var(--paper); }
	.site-nav .wp-block-navigation__responsive-container.is-menu-open :focus-visible { outline-color: var(--paper); }
	.site-nav .wp-block-navigation__responsive-container-close:focus-visible { outline: 3px solid var(--paper); outline-offset: 3px; }
	.brand-copy .wp-block-site-title { font-size: 24px; }
	.hero { grid-template-columns: 1fr; min-height: auto; }
	.hero-copy { padding: 64px 22px 36px; }
	.hero-visual { min-height: 560px; margin: 0 22px; }
	.terracotta-block { left: 22px; bottom: -55px; }
	.hero-side { display: none; }
	.manifesto, .services, .method, .human-ai, .studio, .journal, .contact { padding-left: 22px; padding-right: 22px; }
	.manifesto, .section-heading, .method, .studio, .journal-grid, .contact { grid-template-columns: 1fr; }
	.manifesto { gap: 24px; }
	.manifesto .section-index { margin-bottom: 12px; }
	.manifesto-copy { max-width: 620px; margin-left: auto; }
	.human-ai-grid { margin-left: 0; }
	.section-heading { gap: 35px; }
	body.home #servicios .section-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; margin-bottom: 36px; }
	.service-territories { grid-template-columns: 1fr; }
	.service-territory > summary { min-height: 240px; }
	.service-grid { grid-template-columns: 1fr 1fr; }
	.service-grid > li:nth-child(3n) { border-right: 1px solid var(--ink); }
	.service-grid > li:nth-child(2n) { border-right: 0; }
	.packages-strip { margin-left: -22px; margin-right: -22px; padding-left: 22px; padding-right: 22px; grid-template-columns: 1fr; }
	.packages-strip > .wp-block-group { flex-wrap: wrap; gap: 18px 30px; }
	.editorial-carousel { padding-left: 22px; }
	.carousel-heading { grid-template-columns: 1fr; gap: 42px; padding-right: 22px; }
	.manifesto-carousel .carousel-heading { grid-template-columns: minmax(0, 1fr); }
	.carousel-track { gap: 16px; padding-right: 22vw; }
	.carousel-track > li, .carousel-track > li:nth-child(3n+1), .carousel-track > li:nth-child(4n) { flex-basis: min(78vw, 620px); }
	.carousel-progress, .carousel-hint { width: calc(100% - 22px); }
	.project { grid-template-columns: 45% 55%; min-height: 800px; }
	.project-showcase { padding-left: 22px; padding-right: 22px; }
	.project-showcase-heading { grid-template-columns: 1fr; gap: 35px; }
	.project-showcase-grid { --project-card-height: clamp(320px, 42vw, 380px); }
	.project-showcase-grid > li { grid-template-columns: minmax(200px, 39fr) minmax(84px, 15fr) minmax(0, 46fr); }
	.project-card-copy { padding-left: 20px; }
	.secondary { display: none; }
	.project-copy { padding: 80px 35px; }
	.method { gap: 60px; }
	.method-title { position: static; }
	.studio { gap: 70px; }
	.contact-info { padding-top: 0; }
	.journal-list, .blog-list { grid-template-columns: 1fr; }
	.journal-list > li, .journal-list > li + li, .blog-list > li, .blog-list > li + li { padding-left: 0; padding-right: 0; border-left: 0; }
	.journal-card .journal-link { margin-top: 10px; }
	.site-footer { padding: 24px 4vw 20px; grid-template-columns: minmax(0, 1fr); gap: 8px; align-items: start; }
	.footer-brand { font-size: 34px; }
	.site-footer > p:not(.footer-brand) { max-width: none; }
	.footer-links { justify-content: flex-start; gap: 0 16px; padding-top: 6px; border-top: 1px solid rgba(248,242,233,.16); }
	.single-project-hero { grid-template-columns: 1fr; }
	.single-project-image { min-height: 620px; }
	.projects-archive-query { padding-left: 22px; padding-right: 22px; }
}

@media (max-width: 560px) {
	body.home #servicios { padding-top: 56px; }
	body.home #servicios .section-heading h2 { font-size: clamp(38px, 10.8vw, 56px); line-height: 1.04; }
	.site-nav .nav-contact > a { padding: 13px 14px; }
	.brand .wp-block-site-logo, .brand .custom-logo { width: 34px; height: 34px; flex-basis: 34px; }
	.brand-copy .wp-block-site-tagline { display: none; }
	.hero h1 { font-size: clamp(52px, 16.9vw, 66px); }
	.hero-intro { font-size: clamp(23px, 6.2vw, 28px); }
	.hero-intro-line + .hero-intro-line { margin-top: 12px; }
	.manifesto { padding-top: 80px; padding-bottom: 80px; }
	.manifesto h2 { font-size: 53px; }
	.human-ai { padding-top: 80px; padding-bottom: 80px; }
	.human-ai h2 { font-size: 52px; }
	.human-ai-grid { grid-template-columns: 1fr; gap: 45px; margin-top: 60px; }
	.hero-visual { min-height: 470px; }
	.hero-visual img { object-position: 58% center; }
	.editorial-carousel { padding-top: 80px; padding-bottom: 65px; }
	.manifesto-carousel { padding-top: 56px; padding-bottom: 40px; }
	.manifesto-carousel .carousel-heading { gap: 24px; margin-bottom: 32px; align-items: start; }
	.manifesto-carousel .carousel-heading > *, .manifesto-carousel .carousel-intro { min-width: 0; }
	.carousel-heading h2, .manifesto-carousel .carousel-heading h2 { font-size: clamp(42px, 13vw, 50px); line-height: .92; }
	.carousel-intro > p { font-size: 17px; }
	.manifesto-carousel .carousel-intro > p { margin-bottom: 18px; }
	.manifesto-carousel .carousel-controls { flex-wrap: wrap; }
	.carousel-track > li, .carousel-track > li:nth-child(3n+1), .carousel-track > li:nth-child(4n) { flex-basis: 84vw; }
	.carousel-image-wrap { height: 520px; }
	.manifesto-carousel .carousel-image-wrap { height: clamp(280px, 90vw, 380px); }
	.carousel-caption { align-items: flex-start; }
	.carousel-caption h3 { font-size: 20px; }
	.service-territory > summary { min-height: 210px; padding: 24px 20px; }
	.service-territory-heading { gap: 18px; }
	.service-territory-title { font-size: 36px; }
	.service-territory-panel { padding: 0 20px 26px; }
	.service-grid { grid-template-columns: 1fr; }
	.service-grid > li { border-right: 0 !important; }
	.project { display: flex; flex-direction: column; }
	.project-showcase { padding-top: 82px; padding-bottom: 78px; }
	.project-showcase-grid { --project-card-height: clamp(280px, 96vw, 410px); }
	.project-showcase-grid > li { grid-template-columns: minmax(0, 68fr) minmax(88px, 32fr); gap: 7px; padding: 12px 0 34px; }
	.project-card-image { grid-column: 1; height: var(--project-card-height); }
	.project-card-gallery { grid-column: 2; }
	.project-card-copy { grid-column: 1 / -1; align-self: auto; padding: 20px 0 0; border-left: 0; }
	.project-card-copy .wp-block-post-excerpt { min-height: 0; }
	.project-image.primary { height: 600px; }
	.project-copy { padding: 75px 22px; }
	.method-item { grid-template-columns: 45px 1fr; }
	.contact-direct__item { grid-template-columns: minmax(0, 1fr); gap: 2px; padding-top: 12px; }
	.contact-direct__item > a { min-height: 54px; padding-top: 4px; font-size: 17px; }
	.legal-identity dl > div, .legal-controlled-document .legal-identity > div { grid-template-columns: 1fr; gap: 4px; }
	.contact-proof-links { align-items: flex-start; flex-direction: column; gap: 4px; }
	.contact-social { align-items: flex-start; flex-direction: column; gap: 22px; }
	.contact-social__links { width: 100%; align-items: stretch; flex-direction: column; }
	.society-social-link, .society-social-link a { width: 100%; }
	.society-social-link strong { overflow-wrap: anywhere; }
	.single-project-body > .project-mini-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.single-project-body > .project-mini-gallery .wp-block-image:last-child { grid-column: 1 / -1; aspect-ratio: 16 / 9; }
	.page-hero { padding-left: 22px; padding-right: 22px; }
	.content-shell, .single-project-body, .single-project-copy { padding-left: 22px; padding-right: 22px; }
}

/* Cierre editorial local: una invitación y una jerarquía de contacto clara. */
.contact.contact--editorial {
	background: var(--paper); color: var(--ink); padding: clamp(64px, 7vw, 100px) 4vw 24px;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 52px 8vw;
	border-top: 1px solid rgba(37,34,31,.22); font-family: Arial, Helvetica, sans-serif;
}
.contact--editorial .contact-eyebrow {
	display: flex; align-items: center; gap: 14px; margin: 0 0 28px;
	font: italic 24px/1.2 Georgia, "Times New Roman", serif; color: var(--terra);
}
.contact-eyebrow::before { content: ""; width: 32px; height: 1px; background: currentColor; }
.contact--editorial :is(h1, h2) { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 400; font-size: clamp(44px, 4.5vw, 72px); line-height: 1.02; letter-spacing: -.05em; text-wrap: balance; }
.contact--editorial :is(h1, h2) em { display: inline; transform: none; color: var(--terra); }
.contact--editorial .contact-lead { margin: 0 0 28px; max-width: 36ch; font: 19px/1.55 Georgia, "Times New Roman", serif; }
.contact-form-shell { margin: 0 0 34px; padding: 28px; border: 1px solid rgba(37,34,31,.24); background: var(--cream); }
.contact-form-heading { display: grid; gap: 8px; margin-bottom: 22px; }
.contact-form-heading h2 { margin: 0; font-size: clamp(28px, 2.4vw, 38px); letter-spacing: -.035em; }
.contact-form-privacy { margin: 18px 0 0; max-width: 62ch; font-size: 12px; line-height: 1.55; color: rgba(37,34,31,.78); }
.contact-form-privacy a { text-decoration: underline; text-underline-offset: 3px; }
.contact-form-status { margin: 0 0 28px; padding: 14px 16px; border-left: 3px solid var(--terra); background: rgba(173,76,48,.08); font-size: 14px; line-height: 1.5; }
.contact-form-shell .ff-el-group { margin-bottom: 18px; }
.contact-form-shell .ff-el-input--label label { display: inline-block; margin-bottom: 8px; font: 700 11px/1.4 Arial, Helvetica, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.contact-form-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid rgba(37,34,31,.4); border-radius: 0; background: var(--paper); color: var(--ink); font: 16px/1.45 Arial, Helvetica, sans-serif; }
.contact-form-shell textarea { min-height: 140px; resize: vertical; }
.contact-form-shell :is(input, select, textarea, button):focus-visible { outline: 3px solid rgba(173,76,48,.32); outline-offset: 2px; border-color: var(--terra); }
.contact-form-shell .ff-el-form-check { display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; }
.contact-form-shell .ff-el-form-check-input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--terra); }
.contact-form-shell .ff-el-form-check-label { font-size: 13px; line-height: 1.5; }
.contact-form-shell .ff-btn-submit { min-height: 48px; padding: 12px 22px; border: 1px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--paper); font: 700 12px/1.2 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.contact-form-shell .ff-btn-submit:hover { background: var(--terra); border-color: var(--terra); color: var(--paper); }
.contact-form-shell :is(.error, .text-danger, .ff-el-is-error .text-danger) { color: #8f241e; font-size: 13px; }
.contact-form-shell .ff-message-success { padding: 16px; border: 1px solid #315c3a; background: #edf6ef; color: #24472c; }
.contact-email { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 22px 0; border-block: 1px solid rgba(37,34,31,.3); }
.contact-label { grid-column: 1 / -1; font: 700 10px/1.4 Arial, Helvetica, sans-serif; letter-spacing: .14em; text-transform: uppercase; }
.contact-email-address { font: 400 clamp(20px, 2.05vw, 32px)/1.3 Georgia, "Times New Roman", serif; letter-spacing: -.025em; overflow-wrap: anywhere; }
.contact-alternatives { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.contact-alternatives a { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 22px 0; min-height: 88px; font-size: 14px; line-height: 1.5; }
.contact--editorial a:hover, .contact--editorial a:focus-visible { color: var(--terra); }
.contact--editorial .contact-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 16px 30px; border-top: 1px solid rgba(37,34,31,.18); padding-top: 16px; }
.contact-bottom p { margin: 0; font-size: 12px; line-height: 1.5; }
.contact-bottom nav { display: flex; flex-wrap: wrap; gap: 26px; }
.contact-bottom a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 12px; }
.contact-bottom a:hover { text-decoration: underline; text-underline-offset: 5px; }
.method { padding-block: clamp(72px, 8vw, 120px); }
@media (max-width: 900px) {
	.contact.contact--editorial { grid-template-columns: 1fr; gap: 36px; padding: 64px 22px 20px; }
	.contact--editorial :is(h1, h2) { max-width: 640px; font-size: clamp(44px, 7vw, 64px); }
	.contact--editorial .contact-lead { max-width: 44ch; margin-bottom: 20px; }
	.contact-form-shell { padding: 22px; }
	.contact-email-address { font-size: clamp(20px, 3.5vw, 28px); }
	.contact--editorial .contact-bottom { gap: 12px; flex-wrap: wrap; }
}
@media (max-width: 420px) {
	.contact.contact--editorial { padding-top: 50px; gap: 30px; }
	.contact--editorial :is(h1, h2) { font-size: 42px; }
	.contact--editorial .contact-eyebrow { margin-bottom: 22px; }
	.contact-form-shell { padding: 18px; }
	.contact-alternatives { gap: 20px; }
	.contact-alternatives a { font-size: 13px; }
	.contact-bottom nav { gap: 24px; }
}

/* Marcas: fila fija con logotipos originales, sin recorte ni filtros. */
.services { padding-bottom: clamp(48px, 6vw, 80px); }
.client-strip { margin: 0; padding: 36px 4vw; display: grid; grid-template-columns: minmax(240px, .8fr) minmax(0, 1.6fr); align-items: center; gap: 5vw; background: var(--cream); border-block: 1px solid rgba(37,34,31,.2); }
.client-strip h2 { margin: 0; font: 400 clamp(24px, 2.2vw, 32px)/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.client-logos { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; list-style: none; margin: 0; padding: 0; }
.client-logos li { display: flex; justify-content: center; align-items: center; min-width: 0; }
.client-logo { display: block; max-width: 100%; height: auto; object-fit: contain; }
.client-logo--honeygloss { width: 100px; }
.client-logo--maison { width: 240px; }
@media (max-width: 900px) {
	.client-strip { padding-inline: 22px; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.4fr); gap: 24px; }
	.client-logos { gap: 28px; }
}
@media (max-width: 600px) {
	.client-strip { grid-template-columns: 1fr; gap: 30px; padding-block: 30px; }
	.client-strip h2 { font-size: 26px; }
	.client-logos { gap: 24px; }
	.client-logo--honeygloss { width: 86px; }
	.client-logo--maison { width: 180px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}


/* La libreta: apertura editorial y lectura pausada, propuesta local. */
.notebook-main { background: var(--paper); color: var(--ink); }
.notebook-hero { padding: clamp(70px, 8vw, 124px) 4vw clamp(52px, 6vw, 84px); }
.notebook-eyebrow, .notebook-meta { font-family: Arial, Helvetica, sans-serif; font-size: 11px; line-height: 1.5; letter-spacing: .13em; }
.notebook-eyebrow { margin: 0 0 30px; text-transform: uppercase; font-weight: 700; }
.notebook-hero h1 { max-width: 1100px; margin: 0; font: 400 clamp(62px, 8.4vw, 128px)/.94 Georgia, "Times New Roman", serif; letter-spacing: -.06em; }
.notebook-hero h1 em { display: block; color: var(--terra); font-weight: 400; }
.notebook-intro { max-width: 51ch; margin: 36px 0 0; font: 19px/1.6 Georgia, "Times New Roman", serif; }
.notebook-entries { padding: 0 4vw clamp(68px, 7vw, 108px); }
.notebook-entry { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, .8fr); gap: clamp(40px, 7vw, 110px); padding: clamp(34px, 4vw, 60px) 0 0; border-top: 1px solid rgba(37,34,31,.35); }
.notebook-entry + .notebook-entry { margin-top: 52px; }
.notebook-entry-copy { min-width: 0; }
.notebook-meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 0 24px; color: #645c54; letter-spacing: .025em; }
.notebook-meta > * { margin: 0; }
.notebook-entry h2 { max-width: 19ch; margin: 0 0 26px; font: 400 clamp(34px, 4.1vw, 62px)/1.06 Georgia, "Times New Roman", serif; letter-spacing: -.04em; text-wrap: balance; }
.notebook-entry h2 a { text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 1px; text-underline-offset: .1em; transition: color .2s, text-decoration-color .2s; }
.notebook-entry h2 a:hover, .notebook-entry h2 a:focus-visible { color: var(--terra); text-decoration-color: currentColor; }
.notebook-entry-excerpt { max-width: 49ch; margin: 0 0 24px; font: 18px/1.65 Georgia, "Times New Roman", serif; }
.notebook-link, .notebook-back { display: inline-flex; align-items: center; min-height: 44px; font: 700 11px/1.5 Arial, Helvetica, sans-serif; letter-spacing: .1em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.notebook-link:hover, .notebook-back:hover { color: var(--terra); }
.notebook-entry-quote { align-self: center; margin: 0; padding: 8px 0 8px clamp(24px, 3vw, 42px); border-left: 1px solid rgba(37,34,31,.3); font: italic 400 clamp(25px, 2.5vw, 36px)/1.35 Georgia, "Times New Roman", serif; letter-spacing: -.025em; color: var(--terra); }
.notebook-entry-quote p { margin: 0; }
.notebook-entry-quote cite { display: block; margin-top: 22px; font: 11px/1.5 Arial, Helvetica, sans-serif; letter-spacing: .05em; color: #645c54; }
.notebook-article-header { max-width: 1120px; margin: 0 auto; padding: clamp(48px, 6vw, 84px) 4vw 48px; }
.notebook-article-header .notebook-back { margin-bottom: 38px; }
.notebook-article-header h1 { max-width: 22ch; margin: 0 0 28px; font: 400 clamp(40px, 5.6vw, 78px)/1.04 Georgia, "Times New Roman", serif; letter-spacing: -.045em; text-wrap: balance; }
.notebook-article-header .notebook-meta { margin-bottom: 0; }
.notebook-article-deck { max-width: 55ch; margin: 0 0 28px; font: 21px/1.55 Georgia, "Times New Roman", serif; }
.notebook-prose { max-width: 65ch; margin: 0 auto; padding: 0 0 clamp(64px, 7vw, 100px); font: 19px/1.7 Georgia, "Times New Roman", serif; overflow-wrap: break-word; }
.notebook-prose p { margin: 0 0 1.4em; }
.notebook-prose h2 { margin: 1.8em 0 .65em; font: 400 clamp(29px, 3vw, 40px)/1.15 Georgia, "Times New Roman", serif; letter-spacing: -.03em; }
.notebook-prose h3 { margin: 1.8em 0 .65em; font: 400 26px/1.2 Georgia, "Times New Roman", serif; letter-spacing: -.025em; }
.notebook-prose ul, .notebook-prose ol { padding-left: 1.3em; margin: 0 0 1.4em; }
.notebook-prose li + li { margin-top: .5em; }
.notebook-prose a { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.notebook-prose a:hover { color: var(--terra); }
.notebook-prose blockquote { margin: 2em 0; padding: 0 0 0 1.2em; border-left: 2px solid var(--terra); font-size: 1.16em; font-style: italic; }
.notebook-prose blockquote p:last-child { margin-bottom: 0; }
.notebook-prose figure { margin: 2em 0; }
.notebook-prose figure img { width: 100%; height: auto; }
.notebook-prose figcaption { margin-top: 12px; color: #645c54; font: 12px/1.5 Arial, Helvetica, sans-serif; }
.notebook-prose hr { margin: 2.2em 0; border: 0; border-top: 1px solid rgba(37,34,31,.3); }
.notebook-source { margin-top: 3em; padding-top: 22px; border-top: 1px solid rgba(37,34,31,.3); font: 13px/1.6 Arial, Helvetica, sans-serif; color: #645c54; }
.notebook-source p { margin-bottom: 12px; }
.notebook-source a { text-decoration: underline; text-underline-offset: 3px; }
.notebook-article .notebook-prose { padding-bottom: 0; }
.notebook-references { margin-top: 56px; padding-top: 28px; border-top: 1px solid rgba(37,34,31,.25); }
.notebook-references h2 { margin-top: 0; }
.notebook-references p { font: 14px/1.65 Arial, Helvetica, sans-serif; overflow-wrap: anywhere; }
.notebook-article-footer { max-width: 65ch; margin: 42px auto 0; padding: 28px 0 64px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px 30px; font-size: 19px; border-top: 1px solid rgba(37,34,31,.25); }
.notebook-article-footer { font-family: Georgia, "Times New Roman", serif; }
@media (max-width: 900px) { .notebook-article-footer { max-width: min(65ch, calc(100% - 44px)); } }
.site-nav .nav-notebook > a[aria-current="page"]::after { right: 0; }
@media (min-width: 901px) {
  .site-header { gap: 24px; }
  .site-nav .wp-block-navigation__container { gap: clamp(18px, 2vw, 32px); }
  .site-nav .wp-block-navigation-item > a { white-space: nowrap; }
}
@media (min-width: 901px) and (max-width: 1080px) {
  .site-nav { font-size: 10px; letter-spacing: .1em; }
  .site-nav .wp-block-navigation__container { gap: 16px; }
  .site-nav .nav-contact > a { padding-inline: 14px; }
  .brand-copy .wp-block-site-tagline { letter-spacing: .18em; }
}
@media (max-width: 900px) {
  .notebook-hero { padding: 72px 22px 50px; }
  .notebook-entries { padding: 0 22px 72px; }
  .notebook-entry { gap: 40px; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
  .notebook-prose { max-width: min(65ch, calc(100% - 44px)); }
  .notebook-article-header { padding: 48px 22px 40px; }
}
@media (max-width: 600px) {
  .notebook-hero { padding-top: 58px; }
  .notebook-hero h1 { font-size: clamp(48px, 12vw, 70px); line-height: 1; }
  .notebook-intro { margin-top: 28px; font-size: 18px; }
  .notebook-entry { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .notebook-entry h2 { font-size: clamp(33px, 8.5vw, 44px); }
  .notebook-entry-quote { font-size: 25px; padding-left: 22px; }
  .notebook-article-header h1 { font-size: clamp(37px, 9.4vw, 52px); }
  .notebook-article-header .notebook-back { margin-bottom: 30px; }
  .notebook-article-deck { font-size: 20px; }
}

/* Revisión local: orientación en verde oliva y ajustes de lectura. */
:root {
  --olive-ui: #606a49;
  --olive-light: #a5b18c;
  --section-label: #d38a64;
}

/* Etiquetas pequeñas: terracota oscuro sobre papel, claro sobre tinta. */
.services-page :is(.sp-hero, .sp-territory--creative, .sp-territory--ai, .sp-combination),
.about-page :is(.ap-hero, .ap-collaboration, .ap-approach),
.projects-page .pp-archive,
.notebook-main,
.single-project .single-project-copy,
.page-hero,
.contact.contact--editorial:not(.home-contact) {
  --section-label: var(--terra);
}
.contact.contact--editorial .contact-form-shell,
body.home:has(.art-home) #contacto {
  --section-label: var(--terra-light);
}

/* Navegación: página actual y contacto, con los estados móviles existentes. */
.site-header .site-nav .nav-contact > a {
  border-color: var(--olive-ui);
  color: var(--olive-ui);
}
.site-header .site-nav .nav-contact > a:is(:hover, :focus-visible, :active, [aria-current="page"], [aria-current="true"]) {
  background: var(--olive-ui);
  border-color: var(--olive-ui);
  color: var(--paper);
}
.site-header .site-nav .wp-block-navigation-item:not(.nav-contact) > a:is([aria-current="page"], [aria-current="true"]) {
  color: var(--olive-ui);
}
.site-header .site-nav .wp-block-navigation-item:not(.nav-contact) > a:is([aria-current="page"], [aria-current="true"])::after {
  right: 0;
  background: currentColor;
}
.site-header .site-nav .wp-block-navigation-item > a:focus-visible {
  outline-color: var(--olive-ui);
}
.site-header .site-nav .wp-block-navigation__responsive-container-open,
.site-header .site-nav .wp-block-navigation__responsive-container-close {
  box-sizing: border-box;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 9px;
}
.site-header .site-nav .wp-block-navigation__responsive-container-open {
  color: var(--ink);
}
.site-header .site-nav .wp-block-navigation__responsive-container-open svg,
.site-header .site-nav .wp-block-navigation__responsive-container-close svg {
  width: 24px;
  height: 24px;
}
.site-header .site-nav .wp-block-navigation__responsive-container-open:focus-visible {
  outline-color: var(--ink);
}

/* Invitaciones y vínculos editoriales. */
.contact.contact--editorial .contact-eyebrow,
.contact.contact--editorial a:hover,
.contact.contact--editorial a:focus-visible {
  color: var(--section-label);
}
.contact.contact--editorial .contact-eyebrow {
  display: block;
  margin: 0 0 28px;
  font: 700 10px/1.4 Arial, Helvetica, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.contact.contact--editorial .contact-eyebrow::before { display: none; }
.contact.contact--editorial a:focus-visible {
  outline-color: var(--olive-ui);
}
.contact.contact--editorial.home-contact a:focus-visible,
.contact.contact--editorial .contact-form-shell a:focus-visible {
  outline-color: var(--olive-light);
}
.notebook-main .notebook-link,
.notebook-main .notebook-back,
.notebook-main .notebook-link:hover,
.notebook-main .notebook-back:hover,
.about-page .ap-related a {
  color: var(--olive-ui);
}
.notebook-main :is(.notebook-link, .notebook-back):focus-visible,
.about-page .ap-related a:focus-visible {
  outline-color: var(--olive-ui);
}
.about-page .ap-related a:hover { color: var(--ink); }
.home-work .home-work-all { color: var(--olive-light); }
.home-work .home-work-category,
.home-work .section-index { color: var(--section-label); }
.projects-page .pp-category { color: var(--section-label); }
.projects-page .pp-visit,
.projects-page .pp-project-link:hover .pp-project-title,
.projects-page .pp-project-link:focus-visible .pp-project-title,
.projects-page .pp-project-link:hover .pp-visit,
.projects-page .pp-project-link:focus-visible .pp-visit { color: var(--olive-ui); }
.projects-page .pp-project-link:focus-visible { outline-color: var(--olive-ui); }

/* Etiquetas editoriales: el tono se adapta al fondo de cada sección. */
.services-page .sp-hero .sp-eyebrow,
.services-page .sp-territory--creative .sp-eyebrow,
.services-page .sp-territory--ai .sp-eyebrow,
.services-page .sp-combination .sp-eyebrow,
.about-page .ap-eyebrow,
.notebook-main .notebook-eyebrow,
body.home .method .section-index,
body.home .method .method-item > p { color: var(--section-label); }
.services-page .sp-territory--marketing .sp-eyebrow,
.about-page .ap-direction .ap-eyebrow,
.about-page .ap-direction .ap-role { color: var(--section-label); }
.notebook-main .notebook-entry-quote,
.notebook-main .notebook-prose blockquote { border-left-color: var(--olive-ui); }

/* Etiquetas de sección: heredan el terracota de su contexto. */
.section-index,
.services-page .sp-eyebrow,
.services-page .sp-capabilities-label,
.services-page .sp-case-label,
.about-page .ap-eyebrow,
.about-page .ap-role,
.projects-page .pp-eyebrow,
.projects-page .pp-category,
.notebook-main .notebook-eyebrow,
.home-work .home-work-category,
.project-kicker,
.contact.contact--editorial .contact-eyebrow,
.contact--editorial .contact-label {
  color: var(--section-label);
}

/* El índice sobre verde recupera su color marfil original. */
.services-page .sp-entry > .sp-eyebrow,
.services-page .sp-entry .sp-entry-area {
  color: var(--cream);
}

/* El foco sobre fondos oscuros conserva contraste y un contorno completo. */
.site-footer :is(a, button):focus-visible,
.manifesto-carousel .carousel-controls button:focus-visible,
.manifesto-carousel .carousel-track:focus-visible,
.manifesto-carousel a:focus-visible {
  outline: 3px solid var(--olive-light);
  outline-offset: 4px;
}
.manifesto-carousel .carousel-progress span { background: var(--olive-light); }
.home-work .home-work-link:focus-visible,
.home-work .home-work-all:focus-visible,
.home-work.is-carousel .home-work-grid:focus-visible,
.home-work .home-work-controls button:focus-visible { outline-color: var(--olive-light); }

/* Ajustes puntuales de microtipografía, también en los tamaños móviles. */
.projects-page .pp-category,
.projects-page .pp-visit,
.about-page .ap-eyebrow,
.about-page .ap-role,
.about-page .ap-related a,
.services-page .sp-main .sp-eyebrow,
.services-page .sp-entry .sp-entry-area,
.manifesto-carousel .carousel-caption .wp-block-post-excerpt,
.manifesto-carousel .carousel-hint,
.site-footer .footer-links,
.site-footer .footer-links a { font-size: 10px; }
.manifesto-carousel .carousel-caption .wp-block-post-excerpt,
.manifesto-carousel .carousel-hint { letter-spacing: .13em; }

/* Fichas anteriores: escala de lectura y un regreso claro al índice. */
main.single-project .single-project-copy {
  padding: clamp(52px, 5.5vw, 80px) 4vw;
}
main.single-project .single-project-copy h1 {
  font: 400 clamp(52px, 6.4vw, 96px)/.98 Georgia, "Times New Roman", serif;
}
main.single-project .single-project-body { padding-block: 64px 40px; }
main.single-project .single-project-return {
  max-width: 860px;
  margin: 0 auto;
  padding-bottom: 64px;
}
main.single-project .project-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--olive-ui);
  font: 700 10px/1.5 Arial, Helvetica, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
}
main.single-project .project-back:hover { color: var(--ink); }
main.single-project .project-back:focus-visible { outline-color: var(--olive-ui); }

@media (min-width: 901px) {
  .notebook-main .notebook-hero { padding: 64px 4vw 56px; }
  .notebook-main .notebook-hero h1 { font-size: clamp(62px, 7vw, 96px); }
}
@media (max-width: 900px) {
  .site-header .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.nav-contact) > a:is([aria-current="page"], [aria-current="true"]) {
    color: var(--olive-light);
  }
  .site-header .site-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:not(.nav-contact) > a:is([aria-current="page"], [aria-current="true"])::after {
    bottom: 8px;
    background: var(--olive-light);
  }
  .site-header .site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-contact > a {
    background: transparent;
    border-color: var(--olive-light);
    color: var(--olive-light);
  }
  .site-header .site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-contact > a:is(:hover, :focus-visible, :active, [aria-current="page"], [aria-current="true"]) {
    background: var(--olive-ui);
    border-color: var(--olive-light);
    color: var(--paper);
  }
  .site-header .site-nav .wp-block-navigation__responsive-container-close {
    color: var(--olive-light);
  }
  .site-header .site-nav .wp-block-navigation__responsive-container.is-menu-open :focus-visible {
    outline: 3px solid var(--olive-light);
    outline-offset: 3px;
  }
  main.single-project .single-project-copy { padding-inline: 22px; }
  main.single-project .single-project-return { max-width: min(860px, calc(100% - 44px)); }
}

/* 2.8.2: fichas de Servicios de la portada en el verde aprobado. */
body.home #servicios .service-territory,
body.home #servicios .service-territory[open],
body.home #servicios .service-territory:not([open]) > summary:hover {
  background: var(--olive-ui, #606a49);
  color: var(--paper);
}

/* 2.8.3: selección íntegra de Juan, proporciones propias y colores originales. */
.hero-visual img { filter: none; }
.manifesto-carousel { --carousel-image-height: clamp(340px, 38vw, 500px); }
.manifesto-carousel .carousel-track > li {
    flex: 0 0 min(calc(var(--carousel-image-height) * var(--slide-ratio, 1)), 84vw);
    min-width: 0;
}
.manifesto-carousel .carousel-image-wrap { height: var(--carousel-image-height); }
.manifesto-carousel .carousel-image-wrap img,
.manifesto-carousel .carousel-track > li:hover img {
    object-fit: contain;
    filter: none;
    transform: none;
}
.manifesto-carousel .carousel-caption h3 { overflow-wrap: anywhere; }
.manifesto-carousel .carousel-progress span { width: 6.25%; }

/* Retoque local 2026-09-25: la portada de Servicios llena su marco sin deformarse. */
.services-page .sp-cover {
    overflow: hidden;
    padding: 0;
    aspect-ratio: 3 / 4;
}
.services-page .sp-cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 600px) {
    .manifesto-carousel { --carousel-image-height: clamp(280px, 108vw, 420px); }
}


/* 2.8.6: portada elegida por Juan, completa y sin elementos superpuestos. */
#inicio .hero-visual {
    min-height: 0;
    height: auto;
    align-self: start;
    background: transparent;
    overflow: visible;
}
#inicio .hero-visual figure {
    width: 100%;
    height: auto;
    margin: 0;
}
#inicio .hero-visual img {
    display: block;
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 1122 / 1402;
    object-fit: contain;
    object-position: center;
    filter: none;
    transform: none;
}
#inicio .hero-visual::after,
#inicio .terracotta-block { display: none; }
#inicio .image-note {
    position: static;
    margin: 0;
    background: transparent;
    color: var(--ink);
    text-align: right;
}

/* Retoque local 2026-09-25: Contacto integra el formulario real como pieza editorial. */
.contact.contact--editorial {
    padding-top: 0;
}
.contact--editorial .contact-form-shell {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
    gap: 26px clamp(48px, 7vw, 112px);
    width: calc(100% + 8vw);
    margin: 0 -4vw 10px;
    padding: clamp(48px, 6vw, 88px) 4vw;
    border: 0;
    background: var(--ink);
    color: var(--cream);
}
.contact--editorial .contact-form-heading {
    align-content: start;
    gap: 18px;
    margin: 0;
}
.contact--editorial .contact-form-heading .contact-label { color: #d38a64; }
.contact--editorial .contact-form-heading h2 {
    max-width: 8ch;
    color: var(--cream);
    font-size: clamp(48px, 5.7vw, 88px);
    line-height: .93;
    letter-spacing: -.055em;
}
.contact--editorial .contact-form-heading > p:last-child {
    max-width: 34ch;
    margin: 0;
    color: rgba(242,232,220,.76);
    font: 18px/1.55 Georgia, "Times New Roman", serif;
}
.contact-form-embed { grid-column: 2; min-width: 0; }
.contact-form-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 22px;
}
.contact-form-preview-wide { grid-column: 1 / -1; }
.contact-form-shell .ff-el-group { margin: 0; }
.contact-form-shell .ff-el-input--label label,
.contact-form-shell .contact-form-consent-title {
    display: inline-block;
    margin: 0 0 8px;
    color: var(--cream);
    font: 700 11px/1.4 Arial, Helvetica, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.contact-form-shell .ff-el-input--label label span,
.contact-form-shell .contact-form-consent-title span { color: #d38a64; }
.contact-form-shell :is(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
    border-color: rgba(242,232,220,.35);
    background: var(--cream);
}
.contact-form-shell textarea { min-height: 126px; }
.contact-form-shell .ff-el-form-check-label { color: rgba(242,232,220,.84); }
.contact-form-shell .ff-el-form-check-label a { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }
.contact-form-shell .ff-btn-submit {
    min-width: 190px;
    border-color: var(--cream);
    background: var(--cream);
    color: var(--ink);
}
.contact-form-shell .ff-btn-submit:hover { border-color: #d38a64; background: #d38a64; color: var(--ink); }
.contact--editorial .contact-form-privacy {
    grid-column: 2;
    margin: -4px 0 0;
    color: rgba(242,232,220,.64);
}
.contact--editorial .contact-form-privacy a { color: var(--cream); }

@media (max-width: 900px) {
    .contact--editorial .contact-form-shell {
        grid-template-columns: 1fr;
        width: calc(100% + 44px);
        margin-inline: -22px;
        padding: 48px 22px;
    }
    .contact-form-embed,
    .contact--editorial .contact-form-privacy { grid-column: 1; }
    .contact--editorial .contact-form-heading h2 { max-width: 10ch; }
}

@media (max-width: 600px) {
    .contact-form-preview-grid { grid-template-columns: 1fr; }
    .contact-form-preview-wide { grid-column: 1; }
    .contact-form-shell .ff-btn-submit { width: 100%; }
}

/* Controles de los archivos ampliables, sin modificar la composición aprobada. */
.redesign-pagination { margin-top: 36px; }
.redesign-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; list-style: none; }
.redesign-pagination li { margin: 0; }
.redesign-pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid var(--olive-ui); color: var(--olive-ui); font: 12px/1.4 Arial, Helvetica, sans-serif; }
.redesign-pagination .current, .redesign-pagination a:hover { background: var(--olive-ui); color: var(--paper); }
.redesign-pagination a:focus-visible { outline: 3px solid var(--olive-ui); outline-offset: 3px; }
.redesign-empty { margin: 32px 0; font: 19px/1.6 Georgia, "Times New Roman", serif; }
.notebook-entry-image { align-self: center; margin: 0; }
.notebook-entry-image img { width: 100%; height: auto; }
.notebook-entry:not(:has(.notebook-entry-quote, .notebook-entry-image)) { grid-template-columns: minmax(0, 1fr); }
.single-project .wp-block-post-excerpt p { margin: 0 0 20px; }

/* La libreta: cabecera de revista y notas como pliegos editoriales. */
main.notebook-main:has(.notebook-hero) { background: #f2e8dc; }
main.notebook-main .notebook-hero { position: relative; padding: 66px 5vw 54px; background: #f2e8dc; border-bottom: 1px solid rgba(37,34,31,.3); }
main.notebook-main .notebook-hero .notebook-eyebrow { color: #a45131; border-top: 1px solid #25221f; padding-top: 18px; margin-bottom: 38px; font-size: 11px; }
main.notebook-main .notebook-hero h1 { max-width: none; font-size: clamp(82px,13vw,210px); line-height: .86; letter-spacing: -.07em; }
main.notebook-main .notebook-hero h1 em { margin-top: 20px; font-size: .44em; line-height: 1.1; letter-spacing: -.045em; color: #a45131; }
main.notebook-main .notebook-intro { max-width: 43ch; margin: 36px 0 0 auto; font-size: 20px; line-height: 1.5; padding-left: 24px; border-left: 2px solid #606a49; }
main.notebook-main .notebook-entries { padding: 64px 5vw 88px; }
main.notebook-main .notebook-entry { padding: 0; border: 0; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 6vw; align-items: center; }
main.notebook-main .notebook-entry + .notebook-entry { margin-top: 72px; padding-top: 56px; border-top: 1px solid rgba(37,34,31,.25); }
main.notebook-main .notebook-entry h2 { font: 400 clamp(36px,4.2vw,68px)/1.02 Georgia,serif; letter-spacing: -.05em; margin: 0 0 26px; }
main.notebook-main .notebook-entry h2 a { color: #25221f; text-decoration: none; }
main.notebook-main .notebook-entry h2 a:hover { color: #a45131; }
main.notebook-main .notebook-entry .notebook-eyebrow { color: #a45131; font-size: 10px; margin-bottom: 24px; }
main.notebook-main .notebook-meta { display: flex; flex-wrap: wrap; gap: 10px 20px; color: #62584e; font-size: 10px; }
main.notebook-main .notebook-entry-excerpt { max-width: 45ch; font: 18px/1.6 Georgia,serif; margin: 24px 0; }
main.notebook-main .notebook-entry .notebook-link { display: inline-flex; align-items: center; min-height: 48px; padding: 14px 24px; border: 1px solid #606a49; background: #606a49; color: #f2e8dc; text-decoration: none; font: 11px/1.4 Arial,sans-serif; letter-spacing: .1em; text-transform: uppercase; }
main.notebook-main .notebook-entry .notebook-link:hover { background: #495237; color: #f2e8dc; }
main.notebook-main .notebook-entry-quote { position: relative; isolation: isolate; margin: 0; padding: 80px 42px 48px; border: 0; background: #a45131; color: #f2e8dc; box-shadow: 12px 12px 0 #dfcfbc; }
main.notebook-main .notebook-entry-quote::before { content: '“'; position: absolute; top: 0; left: 26px; font: 150px/1 Georgia,serif; color: rgba(242,232,220,.23); z-index: -1; }
main.notebook-main .notebook-entry-quote p { font: 400 italic clamp(30px,3.3vw,52px)/1.12 Georgia,serif; letter-spacing: -.035em; margin: 0 0 38px; }
main.notebook-main .notebook-entry-quote cite { display: block; border-top: 1px solid rgba(242,232,220,.4); padding-top: 18px; font: 11px/1.5 Arial,sans-serif; letter-spacing: .08em; text-transform: uppercase; color: #f2e8dc; }
@media (max-width: 700px) {
  main.notebook-main .notebook-hero { padding: 42px 6vw; }
  main.notebook-main .notebook-hero h1 { font-size: clamp(64px,16vw,100px); }
  main.notebook-main .notebook-intro { margin-top: 28px; font-size: 18px; padding-left: 16px; }
  main.notebook-main .notebook-entries { padding: 40px 6vw 60px; }
  main.notebook-main .notebook-entry { grid-template-columns: 1fr; gap: 36px; }
  main.notebook-main .notebook-entry h2 { font-size: clamp(34px,8.5vw,48px); }
  main.notebook-main .notebook-entry-quote { padding: 64px 26px 32px; box-shadow: 7px 7px 0 #dfcfbc; }
  main.notebook-main .notebook-entry-quote p { font-size: 34px; }
}

/* Exploración local V01 · 2026-09-25. Materia editorial, sin alterar contenido. */
:root {
  --ls-rule: rgba(37,34,31,.22);
  --ls-ease: cubic-bezier(.22,.7,.22,1);
  --ls-paper-grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%2325221f' opacity='.06' filter='url(%23n)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");
}

/* Cabecera como placa de vidrio: la textura queda lejos de la tipografía. */
.site-header {
  margin: 16px 2vw 0;
  min-height: 90px;
  padding: 18px 2vw;
  border: 1px solid rgba(247,207,158,.62);
  border-radius: 4px;
  background: rgba(232,174,116,.94);
  box-shadow: inset 0 1px rgba(255,240,210,.72), inset 1px 0 rgba(255,226,184,.25), inset -1px 0 rgba(119,64,30,.16), inset 0 -1px rgba(125,65,32,.24), 0 2px 4px rgba(66,36,20,.09), 0 14px 32px -24px rgba(66,36,20,.42);
  isolation: isolate;
}
@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .site-header {
    /* Vidrio caramelo: absorción cálida, manteniendo visible el fondo refractado. */
    background: rgba(232,174,116,.72);
    -webkit-backdrop-filter: blur(12px) saturate(.85);
    backdrop-filter: blur(12px) saturate(.85);
  }
}
html.ls-refractive-glass .site-header {
  /* El mapa SVG refracta el contenido real situado detrás de la barra. */
  backdrop-filter: url("#ls-reeded-glass") blur(.65px) saturate(.85);
}
.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  border-radius: inherit;
  /* Brillo rasante y valles ámbar: relieve óptico sin textura granulada. */
  background:
    linear-gradient(180deg, rgba(255,240,210,.2), transparent 24%, transparent 78%, rgba(123,65,31,.07)),
    linear-gradient(112deg, transparent 17%, rgba(255,239,210,.17) 32%, transparent 48%, rgba(169,95,43,.055) 72%, transparent),
    repeating-linear-gradient(90deg,
      rgba(109,57,25,.075) 0,
      rgba(138,78,35,.025) 3px,
      rgba(255,227,181,.035) 7px,
      rgba(255,244,221,.19) 10px,
      rgba(255,235,197,.075) 12px,
      transparent 16px,
      rgba(109,57,25,.075) 20px);
  -webkit-mask-image: linear-gradient(90deg, transparent 12%, rgba(0,0,0,.35) 28%, #000 48%, rgba(0,0,0,.45) 64%, transparent 86%);
  mask-image: linear-gradient(90deg, transparent 12%, rgba(0,0,0,.35) 28%, #000 48%, rgba(0,0,0,.45) 64%, transparent 86%);
}
.site-header .site-nav .wp-block-navigation__container { gap: clamp(14px,2vw,32px); }
.site-header .site-nav .nav-contact > a,
.site-header .site-nav .wp-block-navigation__responsive-container.is-menu-open .nav-contact > a {
  border-radius: 2px;
  background: var(--olive-ui);
  border-color: var(--olive-ui);
  color: var(--paper);
}
.site-header .site-nav .wp-block-navigation-item:not(.nav-contact) > a:is([aria-current="page"], [aria-current="true"]) { color: var(--ink); }
.site-header .brand-copy .wp-block-site-title { font-size: clamp(27px,2.4vw,38px); }
.site-header .brand-copy .wp-block-site-tagline { letter-spacing: .21em; }
/* Isologotipo maestro completo, compartido por la entrada y la cabecera. */
.site-header:has(.brand--isologo) { padding-block:8px; }
.site-header .brand--isologo { width:clamp(245px,21vw,300px); max-width:calc(100% - 64px); flex:0 0 auto; margin:0; transform-origin:0 0; }
/* La entrada y el reposo comparten transformación: no desmontar la capa al llegar. */
body.home .site-header .brand--isologo { transform:translate3d(0,0,0) scale(1); }
.site-header .brand-isologo-link { display:block; width:100%; aspect-ratio:2175 / 656; position:relative; container-type:inline-size; }
.site-header :is(.brand-isologo-icon,.brand-isologo-name) { position:absolute; display:block; height:auto; max-width:none; }
.site-header .brand-isologo-icon { left:3.448276%; top:11.432927%; width:23.908046%; }
.site-header .brand-isologo-name { left:33.747126%; top:23.628049%; width:62.804598%; }
.site-header .brand-isologo-descriptor { position:absolute; left:34%; color:#171715; text-transform:uppercase; pointer-events:none; }
.site-header .brand-isologo-descriptor { top:66.7%; font:400 clamp(6px,3cqw,9px)/1.25 Arial,sans-serif; letter-spacing:.035em; white-space:nowrap; }
@media (max-width:600px) {
  .site-header .brand--isologo { width:min(230px,calc(100vw - 126px)); }
}
.site-header:has(.wp-block-navigation__responsive-container.is-menu-open),
html.ls-refractive-glass .site-header:has(.wp-block-navigation__responsive-container.is-menu-open) { -webkit-backdrop-filter: none; backdrop-filter: none; isolation: auto; }
.wp-site-blocks > .wp-block-template-part:has(> .site-header) {
  position: sticky;
  top: 0;
  z-index: 100;
  padding-top: 1px;
  background: transparent;
}
main section[id], #contacto { scroll-margin-top: 124px; }
@media (min-width: 1101px) {
  .site-header { margin-top: 12px; }
  main section[id] { scroll-margin-top: 124px; }
  .method .method-title { top: 136px; }
}

/* Página de cuaderno con fotografía montada a la derecha. */
#inicio.hero {
  min-height: 0;
  padding: clamp(24px,3vw,48px) 4vw clamp(48px,6vw,88px);
  grid-template-columns: minmax(0,1fr) minmax(0,1fr);
  gap: clamp(24px,4vw,64px);
  background-image: var(--ls-paper-grain);
}
#inicio .hero-copy { padding: clamp(20px,3vw,48px) 0 0; display: flex; flex-direction: column; justify-content: space-between; }
#inicio h1 { font-size: clamp(64px,7.6vw,130px); line-height: .94; letter-spacing: -.065em; }
#inicio .hero-intro { margin: 44px 0 0; padding-top: 26px; border-top: 1px solid var(--ls-rule); font-size: clamp(23px,2.2vw,34px); max-width: 20ch; }
#inicio .hero-visual { margin: 0; }
#inicio .hero-visual figure { position: relative; inset: auto; box-shadow: 0 20px 28px -24px rgba(37,34,31,.65); }
#inicio .image-note { padding: 14px 0 0; font-size: 9px; letter-spacing: .2em; }
#inicio .hero-side { position: static; grid-column: 1 / -1; transform: none; color: var(--ink); padding-top: 16px; border-top: 1px solid var(--ls-rule); font-size: 9px; letter-spacing: .2em; }
/* Texto accesible inmediatamente, sin esperar a la máquina de escribir. */
#inicio .hero-intro.is-typing .hero-type-source { opacity: 1; }
#inicio .hero-type-overlay { display: none; }
#inicio .hero-intro .hero-intro-line::after { content: none; animation: none; }

/* Ritmo propio para cada capítulo, conservando su orden. */
.manifesto-carousel { border-radius: 30px 30px 0 0; padding-top: clamp(56px,6vw,88px); }
.manifesto-carousel .carousel-heading { padding-bottom: 34px; border-bottom: 1px solid rgba(242,232,220,.2); margin-right: 4vw; padding-right: 0; }
.manifesto-carousel .carousel-caption { padding-top: 18px; }
.manifesto-carousel .carousel-controls button,
.home-work .home-work-controls button {
  border-radius: 2px;
  background: rgba(248,242,233,.05);
  box-shadow: inset 0 1px rgba(248,242,233,.12);
  transition: background .2s, color .2s;
}
.manifesto-carousel .carousel-controls button:hover,
.home-work .home-work-controls button:hover { background: var(--cream); color: var(--ink); }

body.home #servicios { padding-bottom: clamp(64px,7vw,100px); }
.service-territories { gap: 16px; border: 0; }
.service-territory { border: 1px solid rgba(37,34,31,.2); border-radius: 3px; box-shadow: inset 0 1px rgba(248,242,233,.2); }
.service-territory > summary { min-height: 330px; padding: 26px; }
.service-territory-heading { gap: 24px; }
.service-territory-toggle { width: 44px; height: 44px; border-color: rgba(248,242,233,.55); transition: background .25s, transform .25s; }
.service-territory > summary:hover .service-territory-toggle { background: rgba(248,242,233,.12); transform: rotate(90deg); }
.service-territory[open] > summary .service-territory-toggle { transform: none; }
.service-territory-panel { margin-inline: 26px; padding-inline: 0; }

.method { background-image: var(--ls-paper-grain); border-top: 1px solid var(--ls-rule); gap: 6vw; }
.method-title { top: 36px; }
.method-item { grid-template-columns: 64px minmax(0,1fr); gap: 16px; padding: 30px 0; border-top-color: var(--ls-rule); }
body.home .method .method-item > p { width: 48px; height: 48px; display: grid; place-items: center; border: 1px solid var(--ls-rule); border-radius: 50%; background: var(--paper); font-size: 12px; }
.method-item h3 { font-size: clamp(32px,3.3vw,48px); font-weight: 400; letter-spacing: -.035em; }
.method-item > div p { max-width: 39ch; }
.home-work { border-radius: 30px 30px 0 0; padding-top: 24px; }
.home-work-heading { padding-bottom: 28px; border-bottom: 1px solid rgba(242,232,220,.22); }
.home-work-image { border-radius: 3px; }
.home-work-link { padding-bottom: 20px; }
.home-work h3 { display: inline; background: linear-gradient(currentColor,currentColor) 0 100% / 0 1px no-repeat; transition: background-size .3s; }
.home-work-link:hover h3 { text-decoration: none; background-size: 100% 1px; }
.home-work-description { margin-top: 14px; }

/* Interiores: marcos limpios, interlineados y separaciones coherentes. */
.services-page .sp-hero,
.about-page .ap-hero { background-image: var(--ls-paper-grain); }
.services-page .sp-cover,
.about-page .ap-hero-image { box-shadow: 0 20px 35px -25px rgba(37,34,31,.6); border-radius: 3px; }
.services-page .sp-entry { border-radius: 0; }
.services-page .sp-entry-links a { transition: background .2s; }
.services-page .sp-entry-links a:hover { background: rgba(248,242,233,.07); }
.services-page .sp-entry > .sp-eyebrow,
.services-page .sp-entry .sp-entry-area { color: var(--cream); }
.about-page .ap-direction { border-radius: 24px 24px 0 0; }

/* Contacto: papel a la vista, campo oscuro y luz sobre la pieza de formulario. */
.contact.contact--editorial { padding-top: clamp(56px,6vw,90px); background-image: var(--ls-paper-grain); }
.contact.contact--editorial:has(.contact-form-shell) { padding-top: 32px; }
.contact--editorial .contact-form-shell { width: 100%; margin: 0 0 40px; padding: clamp(28px,4vw,64px); border-radius: 4px; position: relative; isolation: isolate; }
.contact--editorial .contact-form-shell::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; border-radius: inherit; background: repeating-linear-gradient(90deg,transparent 0 6px,rgba(242,232,220,.025) 7px,rgba(242,232,220,.07) 8px,transparent 10px); mask-image: linear-gradient(90deg,#000,transparent 44%); }
.contact--editorial .contact-form-heading :is(h1,h2) { font: 400 clamp(48px,5.7vw,88px)/.96 Georgia,serif; letter-spacing: -.055em; max-width: 9ch; margin: 0; }
.contact-form-shell :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea) { border-radius: 2px; box-shadow: inset 0 2px 4px rgba(37,34,31,.08); }
.contact-form-shell :is(input,select,textarea):focus-visible { outline-color: var(--terra-light); outline-offset: 3px; }
.contact--editorial .contact-email { text-decoration-thickness: 1px; text-underline-offset: .15em; }

@media (min-width: 901px) {
  .service-territory:nth-child(2) { margin-top: 28px; }
  .service-territory:nth-child(3) { margin-top: 56px; }
}
@media (max-width: 1100px) {
  .site-header .brand-copy .wp-block-site-tagline { font-size: 8px; letter-spacing: .12em; }
  .site-header .site-nav { font-size: 10px; letter-spacing: .07em; }
}
@media (max-width: 900px) {
  .site-header { margin: 12px 14px 0; padding: 16px; min-height: 80px; }
  #inicio.hero { padding: 28px 22px 52px; gap: 28px; }
  #inicio h1 { font-size: clamp(56px,8vw,78px); }
  #inicio .hero-copy { padding: 10px 0 0; }
  #inicio .hero-intro { font-size: 23px; margin-top: 28px; }
  .service-territories { gap: 14px; }
  .service-territory > summary { min-height: 240px; }
  .method-item { grid-template-columns: 48px minmax(0,1fr); }
  .contact--editorial .contact-form-shell { width: 100%; margin-inline: 0; padding: 32px 24px; }
  .manifesto-carousel,.home-work { border-radius: 20px 20px 0 0; }
}
@media (max-width: 600px) {
  #inicio.hero { grid-template-columns: minmax(0,1fr); }
  #inicio h1 { font-size: clamp(62px,13vw,80px); max-width: 9ch; }
  #inicio .hero-intro { max-width: 26ch; font-size: 22px; }
  #inicio .hero-visual { width: 100%; }
  .site-header .brand-copy .wp-block-site-title { font-size: 27px; }
  .site-header .brand-copy .wp-block-site-tagline { max-width: 190px; font-size: 7px; }
  .manifesto-carousel .carousel-heading { padding-bottom: 24px; }
  .contact--editorial .contact-form-shell { padding: 28px 20px; }
  .contact--editorial .contact-form-heading :is(h1,h2) { font-size: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .service-territory-toggle,.home-work h3 { transition: none; transform: none !important; }
}
@media (forced-colors: active) {
  .site-header::before,.contact-form-shell::before { display: none; }
  .site-header { background: Canvas; border-color: CanvasText; }
}

/* V02 · Cuerpo de portada. La cabecera aprobada no se modifica. */
body.home #inicio.hero {
  grid-template-columns: minmax(0,1.16fr) minmax(0,.84fr);
  gap: 28px 4vw;
  padding-top: clamp(40px,5vw,80px);
  padding-bottom: clamp(56px,7vw,110px);
}
body.home #inicio h1 { font-size: clamp(76px,9.7vw,174px); line-height: .88; letter-spacing: -.075em; }
body.home #inicio .hero-copy { padding-top: 0; justify-content: flex-start; }
body.home #inicio .hero-intro { max-width: 26ch; margin-top: clamp(36px,4vw,64px); font-size: clamp(22px,2vw,31px); }
body.home #inicio .hero-visual { align-self: center; padding: 18px 10px 0; }
body.home #inicio .hero-visual figure { transform: rotate(2deg); transform-origin: center; box-shadow: 12px 16px 0 -3px var(--cream), 12px 16px 0 -2px var(--terra-light), 0 30px 50px -35px rgba(37,34,31,.6); }
body.home #inicio .image-note { padding-top: 32px; }
body.home #inicio .hero-side { margin-top: 24px; padding-top: 22px; letter-spacing: .26em; }

/* La Mesa se presenta como una apertura de exposición. */
body.home #la-mesa { border-radius: 0; padding-top: clamp(64px,7vw,112px); }
body.home #la-mesa .carousel-heading { grid-template-columns: minmax(0,1fr); gap: 32px; border-bottom: 0; padding-bottom: 0; margin-bottom: 52px; }
body.home #la-mesa .carousel-heading h2 { font-size: clamp(64px,9.7vw,164px); line-height: .92; letter-spacing: -.065em; }
body.home #la-mesa .carousel-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 7vw; max-width: none; padding-top: 32px; border-top: 1px solid rgba(242,232,220,.24); }
body.home #la-mesa .carousel-intro > p { max-width: 42ch; margin: 0; font-size: clamp(18px,1.65vw,25px); }
body.home #la-mesa .carousel-controls { grid-column: 1 / -1; margin: 0; justify-content: flex-end; }
body.home #la-mesa .carousel-caption h3 { font-size: clamp(25px,2.2vw,36px); }

/* Servicios: tres grandes entradas editoriales, abiertas con controles nativos. */
body.home #servicios { padding-top: clamp(64px,8vw,120px); }
body.home #servicios .section-heading { margin-bottom: 56px; }
body.home #servicios .section-heading h2 { font-size: clamp(52px,6.9vw,110px); }
body.home #servicios .service-territories { grid-template-columns: minmax(0,1fr); gap: 0; }
body.home #servicios .service-territory { margin: 0; border: 0; border-bottom: 1px solid rgba(248,242,233,.35); border-radius: 0; box-shadow: none; }
body.home #servicios .service-territory:first-child { border-radius: 5px 5px 0 0; }
body.home #servicios .service-territory:last-child { border-radius: 0 0 5px 5px; border-bottom: 0; }
body.home #servicios .service-territory > summary { min-height: 190px; grid-template-columns: minmax(0,1fr) 52px; grid-template-rows: auto; align-items: center; gap: 32px; padding: 32px clamp(24px,3vw,48px); }
body.home #servicios .service-territory-heading { grid-column: 1; grid-row: 1; display: grid; grid-template-columns: 1.15fr .85fr; gap: 4vw; align-items: center; }
body.home #servicios .service-territory-title { min-height: 0; font-size: clamp(36px,4.3vw,68px); line-height: 1.02; }
body.home #servicios .service-territory-intro { max-width: 32ch; font-size: clamp(17px,1.45vw,21px); }
body.home #servicios .service-territory-toggle { grid-column: 2; grid-row: 1; width: 52px; height: 52px; }
body.home #servicios .service-territory-panel { margin-inline: clamp(24px,3vw,48px); padding-bottom: 32px; }
body.home #servicios .service-territory-capabilities { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; }

/* Cinco movimientos: numeración monumental, un recorrido continuo. */
body.home .method { display: block; padding-block: clamp(64px,8vw,120px); }
body.home .method .method-title { position: static; margin-bottom: 56px; }
body.home .method h2 { font-size: clamp(56px,7.5vw,120px); max-width: 18ch; }
body.home .method .method-list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); }
body.home .method .method-item { display: block; border-top: 1px solid var(--ls-rule); border-left: 1px solid var(--ls-rule); padding: 28px clamp(16px,2vw,32px) 0; margin: 0; }
body.home .method .method-item:first-child { border-left: 0; padding-left: 0; }
body.home .method .method-item > p { display: block; width: auto; height: auto; border: 0; border-radius: 0; background: none; font: 400 clamp(72px,8vw,128px)/1 Georgia,serif; letter-spacing: -.08em; margin: 0 0 40px; color: var(--terra); }
body.home .method .method-item h3 { font-size: clamp(26px,2.4vw,38px); }
body.home .method .method-item > div { padding-inline: 0; }
body.home .method .method-item > div > * { margin-inline: 0 !important; }
body.home .method .method-item > div p { font-size: 15px; line-height: 1.65; }

body.home .home-work { border-radius: 0; padding-top: clamp(36px,4vw,64px); }
body.home .home-work-inner { max-width: none; }
body.home .home-work h2 { font-size: clamp(60px,8.5vw,140px); }
body.home .home-work-heading { margin-bottom: 48px; padding-bottom: 40px; }
body.home .home-work-image { border-radius: 0; }
body.home .home-work h3 { font-size: clamp(34px,3.8vw,60px); }
body.home .client-strip { padding-block: 64px; }
body.home .client-strip h2 { font-size: clamp(30px,3vw,46px); }
body.home .contact.contact--editorial { padding-top: clamp(64px,8vw,120px); border-top: 1px solid var(--ls-rule); }
body.home .contact--editorial .contact-heading { grid-column: 1 / -1; }
body.home .contact--editorial .contact-heading h2 { font-size: clamp(56px,8.7vw,144px); max-width: 17ch; line-height: .96; }
body.home .contact--editorial .contact-body { grid-column: 1 / -1; max-width: 900px; width: 100%; }

@media (max-width: 1000px) {
  body.home #inicio h1 { font-size: clamp(66px,9.5vw,96px); }
  body.home .method .method-list { grid-template-columns: minmax(0,1fr); }
  body.home .method .method-item,body.home .method .method-item:first-child { display: grid; grid-template-columns: 120px minmax(0,1fr); border-left: 0; padding: 26px 0; gap: 24px; }
  body.home .method .method-item > p { font-size: 88px; margin: 0; }
  body.home .method .method-item h3 { font-size: 36px; }
  body.home .method .method-item > div p { max-width: 50ch; }
}
@media (max-width: 700px) {
  body.home #inicio.hero { grid-template-columns: minmax(0,1fr); padding-top: 36px; gap: 32px; }
  body.home #inicio h1 { font-size: clamp(62px,14vw,98px); max-width: 10ch; }
  body.home #inicio .hero-intro { margin-top: 32px; font-size: 23px; }
  body.home #inicio .hero-visual { padding: 0 8px; }
  body.home #inicio .hero-visual figure { transform: rotate(1deg); }
  body.home #la-mesa .carousel-heading h2 { font-size: clamp(48px,10.5vw,72px); }
  body.home #la-mesa .carousel-intro { grid-template-columns: minmax(0,1fr); }
  body.home #la-mesa .carousel-controls { justify-content: flex-start; }
  body.home #servicios .section-heading h2 { font-size: clamp(44px,10vw,68px); }
  body.home #servicios .service-territory > summary { padding: 28px 22px; gap: 16px; grid-template-columns: minmax(0,1fr) 44px; }
  body.home #servicios .service-territory-heading { grid-template-columns: minmax(0,1fr); gap: 20px; }
  body.home #servicios .service-territory-title { font-size: clamp(32px,7vw,46px); }
  body.home #servicios .service-territory-toggle { width: 44px; height: 44px; align-self: start; }
  body.home #servicios .service-territory-capabilities { grid-template-columns: minmax(0,1fr); }
  body.home .method h2 { font-size: clamp(48px,10vw,68px); }
  body.home .method .method-item,body.home .method .method-item:first-child { grid-template-columns: 74px minmax(0,1fr); gap: 20px; }
  body.home .method .method-item > p { font-size: 68px; }
  body.home .method .method-item h3 { font-size: 30px; }
  body.home .home-work h2 { font-size: clamp(52px,12vw,78px); }
  body.home .contact--editorial .contact-heading h2 { font-size: clamp(48px,10vw,72px); }
}

/* La Sociedad presentation only: Complianz retains every consent state and action. */
#cmplz-cookiebanner-container .cmplz-cookiebanner,
#cmplz-manage-consent .cmplz-manage-consent {
	--cmplz_banner_background_color: var(--paper, #f8f2e9);
	--cmplz_banner_width: 480px;
	--cmplz_banner_border_color: #b9ad9c;
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 0;
	--cmplz_text_color: var(--ink, #25221f);
	--cmplz_hyperlink_color: var(--ink, #25221f);
	--cmplz_text_font_size: 14px;
	--cmplz_link_font_size: 12px;
	--cmplz_category_body_font_size: 13px;
	--cmplz_button_border_radius: 0;
	--cmplz_button_font_size: 12px;
	--cmplz_button_accept_background_color: var(--olive, #687250);
	--cmplz_button_accept_border_color: var(--olive, #687250);
	--cmplz_button_accept_text_color: var(--paper, #f8f2e9);
	--cmplz_button_deny_background_color: var(--olive, #687250);
	--cmplz_button_deny_border_color: var(--olive, #687250);
	--cmplz_button_deny_text_color: var(--paper, #f8f2e9);
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #b9ad9c;
	--cmplz_button_settings_text_color: var(--ink, #25221f);
	--cmplz_category_header_always_active_color: var(--olive, #687250);
	--cmplz_slider_active_color: var(--olive, #687250);
	--cmplz_slider_inactive_color: #71695f;
	--cmplz_slider_bullet_color: var(--paper, #f8f2e9);
	font-family: Arial, Helvetica, sans-serif;
	border-radius: 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner {
	width: min(480px, calc(100vw - 32px)) !important;
	max-width: calc(100vw - 32px) !important;
	max-height: calc(100vh - 32px) !important;
	max-height: calc(100svh - 32px) !important;
	padding: 24px;
	gap: 18px;
	border-top: 2px solid var(--terra, #994a2b);
	box-shadow: 0 12px 40px rgba(37, 34, 31, .18);
	overflow-y: auto;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right { right: 24px; bottom: 24px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	max-height: none;
	margin: 0 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-logo:empty { display: none; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title {
	display: block;
	flex: 1;
	font: 400 28px/1.12 Georgia, "Times New Roman", serif;
	letter-spacing: -.045em;
	text-align: left;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title::before {
	content: "La Sociedad";
	display: block;
	margin-bottom: 12px;
	color: var(--terra, #994a2b);
	font: 600 10px/1.4 Arial, Helvetica, sans-serif;
	letter-spacing: .16em;
	text-transform: uppercase;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	margin: -10px -10px 0 0;
	zoom: 1 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close svg { width: 14px; height: 14px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body { min-width: 0 !important; margin: 0 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message { font: 14px/1.6 Arial, Helvetica, sans-serif; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-categories { width: 100% !important; max-width: 100%; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
	min-height: 46px !important;
	height: auto !important;
	padding: 12px 10px !important;
	font: 600 11px/1.4 Arial, Helvetica, sans-serif !important;
	letter-spacing: .06em;
	text-transform: uppercase;
	white-space: normal !important;
	zoom: 1 !important;
}
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-view-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-save-preferences,
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-manage-options { grid-column: 1 / -1; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:hover { filter: brightness(.93); }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category { background: var(--cream, #f2e8dc); border-radius: 0; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-toggle { min-width: 44px; min-height: 44px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-category-header { grid-template-columns: 1fr auto 44px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links { text-align: left; zoom: 1 !important; }
#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-links ul { justify-content: flex-start; gap: 8px 16px; }
#cmplz-cookiebanner-container .cmplz-cookiebanner a.cmplz-link { text-decoration: underline; text-underline-offset: 3px; line-height: 1.6; }
#cmplz-cookiebanner-container .cmplz-cookiebanner :is(button, a, [tabindex]):focus-visible,
#cmplz-manage-consent .cmplz-manage-consent:focus-visible { outline: 3px solid var(--blue, #24384a); outline-offset: 3px; }
#cmplz-manage-consent .cmplz-manage-consent { font-size: 11px; letter-spacing: .04em; box-shadow: 0 2px 12px rgba(37,34,31,.12); }
@media (max-width: 600px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner { padding: 20px; gap: 16px; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-bottom-right { right: 16px; left: 16px; bottom: 16px; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-title { font-size: 26px; }
}
@media (max-width: 768px) {
	#cmplz-manage-consent .cmplz-manage-consent.cmplz-show {
		display: block !important;
		right: 12px !important;
		bottom: 12px !important;
		min-width: 0 !important;
		height: auto !important;
		padding: 10px 12px !important;
		animation: none !important;
	}
}
@media (max-height: 500px) {
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header { max-height: none; }
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-body { flex: initial; }
}

/* V03 · Portada artística local, 2026-09-25. La cabecera aprobada está fuera de alcance. */
/* El lienzo negro continúa detrás del vidrio; el contenedor sticky sigue transparente. */
body.home:has(.art-home) { background: #1d1c1a; }
.art-home { --art-ease: cubic-bezier(.2,.75,.2,1); margin: 0; background: var(--cream); }
.art-home *, .art-home *::before, .art-home *::after { box-sizing: border-box; }
.art-home :is(h1,h2,h3,p,figure) { margin: 0; }
.art-home :is(h1,h2,h3) { font-family: Georgia, 'Times New Roman', serif; font-weight: 400; }
.art-home img { display: block; max-width: 100%; }
.art-home a { color: inherit; }
.art-home :is(a,button,summary):focus-visible { outline: 2px solid var(--ink); outline-offset: 6px; }
.art-home :is(.art-hero,.art-services) :is(a,button,summary):focus-visible { outline-color: var(--terra-light); }
.art-home summary { list-style: none; cursor: pointer; }
.art-home summary::-webkit-details-marker { display: none; }
.art-home .art-kicker { color: var(--terra); font: 600 11px/1.4 Arial,sans-serif; letter-spacing: .15em; text-transform: uppercase; }
.art-home :is(.art-hero,.art-services) .art-kicker { color: var(--terra-light); }
.art-coordinate { font: 10px/1.5 Arial,sans-serif; letter-spacing: .1em; }
.art-home .art-text-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: 10px; border-bottom: 1px solid currentColor; font: 12px/1.3 Arial,sans-serif; text-decoration: none; }
.art-section-top { display: flex; justify-content: space-between; align-items: center; gap: 24px; }
.art-home em { color: var(--terra); font-weight: 400; }

/* 01 — Un gran plano fotográfico, no una tarjeta. */
.art-home #inicio.art-hero { position: relative; min-height: 760px; min-height: max(740px,calc(100svh - 110px)); isolation: isolate; overflow: clip; background: #1d1c1a; color: var(--cream); padding: clamp(48px,5vw,88px) 5vw 34px; }
.art-hero-image { position: absolute; z-index: -2; top: -4%; right: 0; width: 59%; height: 110%; -webkit-mask-image: linear-gradient(90deg,transparent,rgba(0,0,0,.15) 8%,rgba(0,0,0,.65) 25%,#000 45%); mask-image: linear-gradient(90deg,transparent,rgba(0,0,0,.15) 8%,rgba(0,0,0,.65) 25%,#000 45%); }
.art-hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 42%; }
.art-hero::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(180deg,#1d1c1a,rgba(29,28,26,.8) 5%,transparent 24%),linear-gradient(90deg,#1d1c1a 8%,rgba(29,28,26,.94) 24%,rgba(29,28,26,.48) 48%,transparent 75%),linear-gradient(0deg,rgba(29,28,26,.65),transparent 30%); }
.art-hero-copy { position: relative; max-width: 1050px; }
.art-home #inicio.art-hero h1 { font-size: clamp(76px,9.2vw,164px); line-height: .91; letter-spacing: -.065em; margin: 48px 0 32px; color: var(--cream); }
.art-home #inicio.art-hero h1 em { color: #d99a76; }
.art-hero-foot { display: flex; justify-content: space-between; align-items: end; gap: 24px; max-width: 680px; }
.art-hero-foot > .art-round-link { margin-left: auto; }
.art-hero-foot p { max-width: 24ch; font: 18px/1.55 Arial,sans-serif; }
.art-round-link { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; width: 108px; height: 108px; flex-shrink: 0; border: 1px solid rgba(242,232,220,.5); border-radius: 50%; text-decoration: none; background: rgba(29,28,26,.15); transition: background .35s, transform .35s var(--art-ease); }
.art-round-link span:first-child { font: 11px/1.4 Arial,sans-serif; text-transform: uppercase; letter-spacing: .09em; }
.art-round-link span:last-child { font: 32px/1 Georgia,serif; }
.art-round-link:hover { transform: translateY(5px); background: var(--terra); }
.art-hero-meta { display: flex; justify-content: space-between; gap: 20px; align-items: center; margin-top: 50px; padding-top: 16px; border-top: 1px solid rgba(242,232,220,.25); font: 9px/1.5 Arial,sans-serif; letter-spacing: .12em; }
.art-hero-meta button { min-height: 44px; margin: -10px 0; padding: 10px 0; border: 0; background: none; color: inherit; font: inherit; letter-spacing: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 4px; }
.art-hero-meta button[hidden] { display: none; }

/* 02 — Láminas en profundidad. Scroll nativo, composición estática como respaldo. */
.art-scene { --scene-progress: 0; position: relative; height: auto; }
.art-home #la-mesa.art-scene { padding: 0; border-radius: 0; background: var(--cream); color: var(--ink); }
.art-scene-sticky { position: relative; min-height: 900px; height: clamp(900px,70vw,1400px); overflow: visible; isolation: isolate; }
.art-scene-label { position: absolute; inset: 48px 5vw auto; display: flex; justify-content: space-between; gap: 20px; }
.art-scene-title { position: absolute; inset: 39% 3vw auto; z-index: 2; text-align: center; }
.art-scene-title h2 { font-size: clamp(64px,8.3vw,144px); line-height: .95; letter-spacing: -.065em; }
.art-scene-title p { margin-top: 25px; font: 15px/1.6 Arial,sans-serif; }
.art-plane { position: absolute; z-index: 1; width: 19%; box-shadow: 0 22px 30px -24px rgba(37,34,31,.5); }
.art-plane img { width: 100%; height: auto; }
.art-plane-one { width: 26%; top: 15%; left: 8%; transform: rotate(-8deg); }
.art-plane-two { width: 17%; top: 13%; right: 9%; transform: rotate(8deg); }
.art-plane-three { width: 17%; bottom: 6%; left: 9%; transform: rotate(-10deg); }
.art-plane-four { width: 16%; bottom: 4%; right: 12%; transform: rotate(8deg); }
.art-scene-foot { position: absolute; bottom: 42px; left: 32%; right: 32%; text-align: center; font: 9px/1.6 Arial,sans-serif; letter-spacing: .12em; }
/* Scroll activo también en móvil y ventanas estrechas; la composición no cambia. */
@media (max-width: 959px) and (prefers-reduced-motion: no-preference) {
  .art-motion-ready:not(.art-motion-off) .art-hero-image { transform: translateY(calc(var(--hero-progress,0) * -10px)); }
  .art-motion-ready:not(.art-motion-off) :is(.art-plane,.art-scene-title) { transition: none; }
  .art-motion-ready:not(.art-motion-off) .art-plane-one { transform: translate(calc(16px - var(--scene-progress)*32px),calc(48px - var(--scene-progress)*96px)) rotate(calc(-8deg + var(--scene-progress)*6deg)); }
  .art-motion-ready:not(.art-motion-off) .art-plane-two { transform: translate(calc(-16px + var(--scene-progress)*32px),calc(56px - var(--scene-progress)*112px)) rotate(calc(8deg - var(--scene-progress)*6deg)); }
  .art-motion-ready:not(.art-motion-off) .art-plane-three { transform: translate(calc(12px - var(--scene-progress)*24px),calc(-48px + var(--scene-progress)*96px)) rotate(calc(-10deg - var(--scene-progress)*3deg)); }
  .art-motion-ready:not(.art-motion-off) .art-plane-four { transform: translate(calc(-12px + var(--scene-progress)*24px),calc(-56px + var(--scene-progress)*112px)) rotate(calc(8deg + var(--scene-progress)*3deg)); }
  .art-motion-ready:not(.art-motion-off) .art-scene-title { transform: scale(calc(.98 + var(--scene-progress)*.02)); }
}
@media (min-width: 960px) and (prefers-reduced-motion: no-preference) {
  .art-motion-ready:not(.art-motion-off) .art-hero-image { transform: translateY(calc(var(--hero-progress,0) * 90px)); }
  .art-motion-ready:not(.art-motion-off) :is(.art-plane,.art-scene-title) { transition: none; will-change: transform; }
  .art-motion-ready:not(.art-motion-off) .art-plane-one { transform: translate(calc(6vw - var(--scene-progress)*12vw),calc(110px - var(--scene-progress)*220px)) rotate(calc(-8deg + var(--scene-progress)*6deg)); }
  .art-motion-ready:not(.art-motion-off) .art-plane-two { transform: translate(calc(-6vw + var(--scene-progress)*12vw),calc(135px - var(--scene-progress)*270px)) rotate(calc(8deg - var(--scene-progress)*6deg)); }
  .art-motion-ready:not(.art-motion-off) .art-plane-three { bottom: 12%; transform: translate(calc(4.5vw - var(--scene-progress)*9vw),calc(-120px + var(--scene-progress)*240px)) rotate(calc(-10deg - var(--scene-progress)*3deg)); }
  .art-motion-ready:not(.art-motion-off) .art-plane-four { bottom: 12%; transform: translate(calc(-4.5vw + var(--scene-progress)*9vw),calc(-135px + var(--scene-progress)*270px)) rotate(calc(8deg + var(--scene-progress)*3deg)); }
  .art-motion-ready:not(.art-motion-off) .art-scene-title { transform: scale(calc(.86 + var(--scene-progress)*.14)); }
}
.art-about { display: grid; grid-template-columns: 1.2fr 1fr; gap: 9vw; padding: 20px 7vw 100px; }
.art-about > p { font: 32px/1.25 Georgia,serif; letter-spacing: -.035em; }
.art-about summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; min-height: 60px; border-top: 1px solid rgba(37,34,31,.3); font: 12px/1.5 Arial,sans-serif; }
.art-about details p { font: 15px/1.65 Arial,sans-serif; margin: 0 0 20px; }
.art-about summary span { font-size: 24px; }
.art-archive[open] { margin-top: 24px; }
.art-archive-label { display: none; }
.art-archive[open] > summary { display: none; }
.art-home .art-archive[open] > .art-archive-label { display: block; padding-top: 24px; border-top: 1px solid rgba(37,34,31,.3); font: 12px/1.5 Arial,sans-serif; }
.art-about:has(.art-archive[open]) { grid-template-columns: 1fr; gap: 32px; }
.art-archive-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 32px 20px; padding-top: 24px; }
.art-archive-grid img { width: 100%; height: auto; }
.art-archive-grid figcaption { margin-top: 10px; font: 11px/1.5 Arial,sans-serif; }

/* 03 — Tres disciplinas, una interfaz tipográfica y desplegable. */
body.home .art-home #servicios.art-services { background: var(--ink); color: var(--cream); padding: 60px 5vw 48px; }
.art-services-intro { position: relative; isolation: isolate; display: flex; align-items: center; min-height: clamp(380px,42vw,620px); margin-bottom: 24px; overflow: hidden; }
.art-services-intro h2 { width: 55%; text-shadow: 0 2px 20px var(--ink), 0 0 5px var(--ink); pointer-events: none; }
.art-services h2 { position: relative; z-index: 1; max-width: 18ch; margin: 64px 0 72px; font-size: clamp(52px,7.6vw,126px); line-height: .98; letter-spacing: -.055em; }
.art-service-sculpture { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; background: radial-gradient(ellipse at 58% 50%,rgba(176,101,61,.08),transparent 66%); }
.art-service-sculpture canvas, .art-service-sculpture svg { width: 100%; height: 100%; display: block; }
.art-service-sculpture [hidden] { display: none; }
.art-services h2 em { color: var(--terra-light); }
.art-service { border-top: 1px solid rgba(242,232,220,.28); }
.art-service:last-child { border-bottom: 1px solid rgba(242,232,220,.28); }
.art-service summary { position: relative; isolation: isolate; display: grid; grid-template-columns: 1fr 64px; gap: 20px; align-items: center; min-height: 185px; padding: 28px 0; }
.art-service summary::before { content: ''; position: absolute; z-index: -1; inset: 0; background: radial-gradient(ellipse at 25% 100%,rgba(205,136,91,.16),transparent 70%); opacity: 0; transition: opacity .45s; pointer-events: none; }
.art-service summary:hover::before, .art-service summary:focus-visible::before, .art-service[open] summary::before { opacity: 1; }
.art-service:nth-child(2) summary::before { background: radial-gradient(ellipse at 35% 100%,rgba(128,143,91,.2),transparent 70%); }
.art-service .art-plus { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(242,232,220,.3); border-radius: 50%; color: var(--terra-light); }
.art-service-name { font: 400 clamp(40px,6.3vw,104px)/.96 Georgia,serif; letter-spacing: -.055em; transition: transform .45s var(--art-ease); }
.art-service-name em { color: var(--cream); }
.art-plus { font: 300 32px/1 Arial,sans-serif; justify-self: end; transition: transform .3s; }
.art-service summary:hover .art-service-name { transform: translateX(14px); }
.art-home details[open] > summary .art-plus { transform: rotate(45deg); }
.art-service { --service-accent: #b46540; }
.art-service:nth-child(2) { --service-accent: #606a49; }
.art-service:nth-child(3) { --service-accent: #785b45; }
.art-service[open] .art-service-name { color: var(--terra-light); }
.art-service-content { display: grid; grid-template-columns: .85fr 1.4fr; gap: 32px 5%; padding: clamp(24px,3.5vw,52px); margin: 0 0 36px; max-width: none; background: #efe3d2; color: #25221f; border-top: 4px solid var(--service-accent); }
.art-service-content p { grid-column: 1; max-width: 24ch; margin: 0; font: clamp(26px,2.5vw,40px)/1.13 Georgia,serif; letter-spacing: -.035em; }
.art-service-content ul { grid-column: 2; grid-row: 1 / 3; display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; columns: auto; list-style: none; padding: 0; margin: 0; font: 14px/1.5 Arial,sans-serif; }
.art-service-content li { position: relative; break-inside: avoid; padding: 18px 0 22px; border-top: 1px solid rgba(37,34,31,.25); }
.art-service-content li:last-child { grid-column: 1 / -1; }
.art-service-content .art-text-link { grid-column: 1; align-self: end; justify-self: start; display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; box-sizing: border-box; padding: 15px 24px; border: 1px solid #606a49; border-radius: 2px; background: #606a49; color: #f2e8dc; font: 11px/1.5 Arial,sans-serif; letter-spacing: .09em; text-transform: uppercase; text-align: center; text-decoration: none; transition: background .2s, border-color .2s, box-shadow .2s; }
.art-service-content .art-text-link:hover { background: #495237; border-color: #495237; color: #f2e8dc; box-shadow: 0 4px 12px rgba(37,34,31,.13); }
.art-service-content .art-text-link:focus-visible { outline: 2px solid #25221f; outline-offset: 4px; }
.art-service[open] .art-service-content { animation: art-service-unfold .5s var(--art-ease) both; }
@keyframes art-service-unfold { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) {
  .art-service-content { grid-template-columns: 1fr; gap: 28px; }
  .art-service-content p { max-width: 32ch; }
  .art-service-content ul { grid-column: 1; grid-row: auto; }
}
@media (prefers-reduced-motion: reduce) { .art-service[open] .art-service-content { animation: none; } }
.art-motion-off .art-service[open] .art-service-content { animation: none; }

/* 04 — El método se descubre con el ritmo de sus cinco movimientos. */
.art-method { --method-progress: 0; display: grid; grid-template-columns: 1.1fr 1fr; gap: 7vw; padding: 80px 5vw 100px; background: #e8dcc9; }
.art-method-art { position: sticky; top: 136px; align-self: start; }
.art-method h2 { margin: 24px 0 12px; font-size: clamp(42px,4.8vw,78px); line-height: .98; letter-spacing: -.055em; }
.art-method-orbits { width: 100%; max-width: 580px; margin: 0 auto; }
.art-method-orbits svg { display: block; width: 100%; height: auto; overflow: visible; }
.art-orbit-system { transform-origin: 280px 240px; transform: rotate(calc(var(--method-progress) * 100deg)); transition: transform .18s linear; filter: drop-shadow(0 9px 5px rgba(59,38,20,.14)); }
.art-method:has([data-art-step]:nth-child(2)[open]) .art-orbit-system { stroke-width: 20; }
.art-method:has([data-art-step]:nth-child(3)[open]) .art-orbit-system { stroke-width: 24; }
.art-method:has([data-art-step]:nth-child(4)[open]) .art-orbit-system { stroke-width: 12; }
.art-method:has([data-art-step]:nth-child(5)[open]) .art-orbit-system { stroke-width: 8; }
.art-orbit-system ellipse { transition: stroke-width .6s var(--art-ease); }
@media (prefers-reduced-motion: reduce) { .art-orbit-system, .art-orbit-system ellipse { transition: none; } }
.art-motion-off .art-orbit-system, .art-motion-off .art-orbit-system ellipse { transition: none; }
.art-method-steps details[open] h3 { color: var(--terra); }
.art-method-steps details[open] { background: rgba(255,250,239,.35); }
.art-method-steps details { transition: background .3s; }
.art-method-art figure { width: min(100%,360px); }
.art-method-art img { width: 100%; height: auto; }
.art-method-art .art-coordinate { display: block; margin-top: 16px; }
.art-method-steps { padding-top: 48px; }
.art-method-steps details { position: relative; border-top: 1px solid rgba(37,34,31,.25); padding: 34px 0; min-height: 200px; }
.art-method-steps details::before { content: ''; position: absolute; inset: -1px auto auto 0; height: 1px; width: 0; background: var(--terra); transition: width .85s var(--art-ease); }
.art-method-steps details.is-in-view::before { width: 100%; }
.art-method-steps summary { display: grid; grid-template-columns: 38px 1fr 30px; align-items: center; gap: 16px; }
.art-method-steps summary > span:first-child { font: 11px/1.4 Arial,sans-serif; color: var(--terra); }
.art-method-steps h3 { font-size: clamp(42px,5vw,80px); letter-spacing: -.055em; }
.art-method-steps details > p { margin: 24px 0 0 54px; max-width: 30ch; font: 17px/1.6 Arial,sans-serif; }

/* 05 — Proyectos a escala de imagen; los detalles viven en cada caso. */
body.home #contacto.home-contact { display: block; padding: 0; background: var(--ink); color: var(--cream); }
body.home .home-contact .contact-form-shell { margin: 0; padding: 80px 5vw 48px; border-radius: 0; }
body.home .home-contact .contact-form-heading h2 { max-width: 11ch; font-size: clamp(44px,4.8vw,76px); }
body.home .home-contact .contact-form-heading h2 em { color: var(--terra-light); }
.home-contact .contact-form-heading > p:not(.contact-label) { max-width: 32ch; color: rgba(242,232,220,.75); font: 19px/1.5 Georgia,serif; margin: 24px 0; }
.home-contact-direct { display: grid; gap: 16px; margin-top: 42px; padding-top: 24px; border-top: 1px solid rgba(242,232,220,.25); }
.home-contact-direct a { color: var(--cream); text-decoration: none; font: 15px/1.5 Arial,sans-serif; overflow-wrap: anywhere; }
.home-contact-direct a:hover { text-decoration: underline; text-underline-offset: 5px; }
.home-contact-direct p { font: 12px/1.5 Arial,sans-serif; color: rgba(242,232,220,.65); margin: 8px 0 0; }
body.home .home-contact .ff-btn-submit { background: #606a49; border-color: #606a49; color: #f2e8dc; }
body.home .home-contact .ff-btn-submit:hover { background: #495237; border-color: #495237; }
.home-contact-social { padding: 24px 5vw; border-top: 1px solid rgba(242,232,220,.2); }
.home-contact-social nav { display: flex; flex-wrap: wrap; gap: 28px; }
.home-contact-social a { color: var(--cream); font: 12px/1.5 Arial,sans-serif; text-decoration: none; }
.home-contact-social a:hover { text-decoration: underline; }
body.home .site-footer { background: var(--ink); color: var(--cream); padding: 28px 5vw; border-top: 1px solid rgba(242,232,220,.2); }
body.home .site-footer a { color: var(--cream); }
body.home .site-footer .footer-brand { font: 32px/1 Georgia,serif; }
@media (max-width: 600px) {
  body.home .home-contact .contact-form-shell { padding: 48px 6vw 32px; }
  .home-contact-direct { margin-top: 24px; gap: 8px; }
  .home-contact-direct a, .home-contact-social a { display: inline-flex; align-items: center; min-height: 44px; }
}

.art-projects { padding: 60px 5vw 100px; background: #d1b59b; color: var(--ink); }
.art-projects .art-kicker { color: var(--ink); }
.art-projects h2 { margin: 48px 0 60px; font-size: clamp(58px,9vw,152px); line-height: .94; letter-spacing: -.065em; }
.art-project-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px 5vw; align-items: start; }
.art-project-grid .home-work-item:first-child { grid-column: 1 / -1; }
.art-project-grid .home-work-item:last-child { padding-top: 120px; }
.art-project-grid .home-work-link { display: grid; grid-template-columns: 1fr auto; gap: 10px 20px; text-decoration: none; }
.art-project-grid .home-work-image { grid-column: 1 / -1; aspect-ratio: 1.15; margin: 0 0 14px; border-radius: 0; }
.art-project-grid .home-work-item:first-child .home-work-image { aspect-ratio: 1.85; }
.art-project-grid .home-work-image img { transition: transform 1s var(--art-ease); }
.art-project-grid .home-work-link:hover img { transform: scale(1.025); }
.art-project-grid .home-work-category { grid-column: 1 / -1; color: var(--ink); font-size: 9px; margin: 0; }
.art-project-grid h3 { font-size: clamp(30px,3.5vw,56px); line-height: 1.05; letter-spacing: -.045em; }
.art-project-grid .home-work-link::after { content: '↗'; grid-column: 2; grid-row: 3; font: 36px/1 Georgia,serif; }
.art-project-grid .home-work-description { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.art-clients { display: flex; justify-content: space-between; gap: 60px; align-items: center; padding: 75px 7vw; background: var(--paper); }
.art-clients h2 { font-size: 32px; line-height: 1.15; letter-spacing: -.035em; }
.art-clients ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 28px 3vw; align-items: center; list-style: none; margin: 0; padding: 0; }
.art-clients img { width: 180px; height: 85px; object-fit: contain; mix-blend-mode: multiply; }
.art-clients li:first-child img { width: 120px; height: 120px; }
.art-clients .art-client-nirvana img { width: 200px; max-width: 100%; height: auto; }
.art-clients .art-client-amazonas img { width: 90px; height: 90px; clip-path: inset(1px); }

/* Cierre existente: solo la portada, sin afectar al formulario de contacto. */
body.home:has(.art-home) #contacto:not(.home-contact) { position: relative; padding: 88px 7vw 50px; background: var(--ink); background-image: none; color: var(--cream); }
body.home:has(.art-home) #contacto:not(.home-contact) :is(h2,.contact-lead,.contact-email,.contact-alternatives a,.contact-bottom) { color: var(--cream); }
body.home:has(.art-home) #contacto:not(.home-contact) h2 { font-size: clamp(50px,7.8vw,130px); max-width: 18ch; }
body.home:has(.art-home) #contacto:not(.home-contact) h2 em { color: var(--terra-light); }
body.home:has(.art-home) #contacto:not(.home-contact) .contact-lead { font: 17px/1.6 Arial,sans-serif; }
body.home:has(.art-home) #contacto:not(.home-contact) .contact-body { margin-top: 40px; }
body.home:has(.art-home) #contacto:not(.home-contact) :is(.contact-email,.contact-alternatives a,.contact-bottom) { border-color: rgba(242,232,220,.25); }

@media (max-width: 959px) {
  .art-home #inicio.art-hero { min-height: 730px; }
  .art-hero-image { width: 70%; }
  .art-home #inicio.art-hero h1 { font-size: clamp(72px,11vw,104px); }
  .art-hero-foot { max-width: 75%; }
  .art-scene-sticky { min-height: 790px; height: auto; }
  .art-scene-title { top: 37%; }
  .art-scene-title h2 { font-size: clamp(54px,9vw,88px); }
  .art-plane-one { width: 31%; top: 13%; left: 5%; }
  .art-plane-two { width: 23%; top: 12%; right: 7%; }
  .art-plane-three { width: 24%; left: 6%; bottom: 6%; }
  .art-plane-four { width: 22%; right: 7%; bottom: 4%; }
  .art-scene-foot { left: 34%; right: 34%; bottom: 60px; }
  .art-about { grid-template-columns: 1fr; gap: 35px; padding-bottom: 70px; }
  .art-method { gap: 6vw; padding: 70px 5vw; }
  .art-method-art { position: static; }
  .art-method-steps { padding-top: 65px; }
  .art-method-steps details { min-height: 165px; }
  .art-method-steps h3 { font-size: 38px; }
  .art-method-steps summary { grid-template-columns: 23px 1fr 25px; gap: 8px; }
  .art-method-steps details > p { margin-left: 31px; }
  .art-project-grid .home-work-item:last-child { padding-top: 75px; }
  .art-clients { padding-inline: 5vw; gap: 30px; }
  .art-clients ul { gap: 25px; }
  .art-clients img { width: 140px; }
}
@media (max-width: 599px) {
  /* El vidrio flota sobre la foto; su caja sticky conserva posición, filtro y menú. */
  body.home:has(.art-home) .wp-site-blocks > .wp-block-template-part:has(> .site-header) { height: 0; }
  .art-home #inicio.art-hero { min-height: 0; padding: 128px 6vw 22px; }
  /* El texto reserva el espacio de la cabecera; el retrato empieza detrás de ella. */
  /* Mantener la escala del retrato al recortar el bloque por abajo. */
  .art-hero-image { width: 118%; height: clamp(620px,calc(100svh - 108px),740px); top: 0; bottom: auto; right: -30%; }
  .art-hero-image img { object-position: 65% 0; }
  .art-hero::after { background: linear-gradient(90deg,rgba(29,28,26,.94),rgba(29,28,26,.8) 24%,rgba(29,28,26,.3) 64%,transparent 88%),linear-gradient(0deg,#1d1c1a,rgba(29,28,26,.65) 12%,transparent 42%); }
  .art-home .art-kicker { font-size: 10px; letter-spacing: .11em; }
  .art-hero-copy .art-kicker { max-width: 21ch; line-height: 1.5; }
  .art-hero-copy .art-kicker > span:not(.art-kicker-separator) { display: block; }
  .art-hero-copy .art-kicker .art-kicker-separator { display: none; }
  .art-home #inicio.art-hero h1 { margin: 28px 0 0; font-size: clamp(52px,14.5vw,79px); line-height: .97; }
  .art-hero-foot { align-items: center; max-width: none; margin-top: 28px; }
  .art-hero-foot p { font-size: 13px; }
  .art-round-link { width: 88px; height: 88px; }
  .art-round-link span:first-child { font-size: 9px; }
  .art-hero-meta { position: relative; bottom: auto; left: auto; right: auto; margin-top: 24px; flex-wrap: wrap; gap: 12px; font-size: 8px; }
  .art-hero-meta > span:last-child { display: none; }
  /* En móvil, las láminas y el texto reservan su altura real, sin huecos fijos. */
  .art-scene-sticky { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: 28px 24px; min-height: 0; height: auto; padding: 72px 6vw 32px; }
  .art-scene-label { inset: 35px 6vw auto; }
  .art-scene-label .art-coordinate { display: none; }
  .art-scene-title { position: static; grid-column: 1 / -1; grid-row: 2; }
  .art-scene-title h2 { font-size: clamp(43px,10.5vw,62px); }
  .art-scene-title p { font-size: 13px; margin-top: 20px; }
  .art-plane { position: relative; inset: auto; }
  .art-plane-one { width: 100%; grid-column: 1; grid-row: 1; }
  .art-plane-two { width: 74%; grid-column: 2; grid-row: 1; justify-self: end; }
  .art-plane-three { width: 88%; grid-column: 1; grid-row: 3; }
  .art-plane-four { width: 80%; grid-column: 2; grid-row: 3; justify-self: end; }
  .art-scene-foot { bottom: 18px; left: 6vw; right: 6vw; font-size: 8px; }
  .art-about { padding: 16px 6vw 48px; gap: 32px; }
  .art-about > p { font-size: 27px; }
  .art-desktop-break { display: none; }
  .art-archive-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px 14px; }
  body.home .art-home #servicios.art-services { padding: 36px 6vw; }
  .art-coordinate { font-size: 8px; }
  .art-services h2 { font-size: clamp(42px,10.5vw,60px); margin: 44px 0; }
  .art-services-intro { min-height: 280px; margin-bottom: 20px; }
  .art-services-intro h2 { width: 100%; margin: 0; }
  .art-service-sculpture { width: 100%; height: 100%; }
  .art-service summary { grid-template-columns: 1fr 34px; gap: 9px; min-height: 104px; padding-block: 22px; }
  .art-service .art-plus { width: 32px; height: 32px; font-size: 24px; }
  .art-service-name { font-size: clamp(35px,8.4vw,48px); }
  .art-service summary:hover .art-service-name { transform: none; }
  .art-service-content { padding: 24px 20px; }
  .art-service-content p { font-size: 28px; }
  .art-service-content ul { grid-template-columns: 1fr; font-size: 14px; }
  .art-method { grid-template-columns: 1fr; padding: 44px 6vw; gap: 20px; }
  .art-method h2 { font-size: clamp(38px,9.5vw,55px); }
  .art-method-orbits { max-width: 260px; }
  .art-method-art figure { width: 78%; margin-left: auto; }
  .art-method-art .art-coordinate { text-align: right; }
  .art-method-steps { padding-top: 0; }
  .art-method-steps details { min-height: 0; padding: 20px 0; }
  .art-method-steps summary { min-height: 44px; }
  .art-method-steps h3 { font-size: 39px; }
  .art-projects { padding: 35px 6vw 65px; }
  .art-projects .art-section-top { gap: 12px; }
  .art-projects .art-kicker { font-size: 9px; }
  .art-projects h2 { font-size: 16vw; margin: 42px 0; }
  .art-project-grid { grid-template-columns: 1fr; gap: 42px; }
  .art-project-grid .home-work-item:last-child { padding-top: 0; }
  .art-project-grid .home-work-item:first-child .home-work-image { aspect-ratio: 1.15; }
  .art-project-grid h3 { font-size: 34px; }
  .art-project-grid .home-work-category { font-size: 8px; }
  .art-clients { flex-direction: column; align-items: start; padding: 45px 6vw; gap: 22px; }
  .art-clients h2 { font-size: 28px; }
  .art-clients ul { width: 100%; justify-content: space-between; gap: 24px 15px; }
  .art-clients ul li { width: calc((100% - 15px) / 2); text-align: center; }
  .art-clients ul img { max-width: 100%; }
  .art-clients img { width: 150px; }
  .art-clients li:first-child img { width: 90px; height: 90px; }
  body.home:has(.art-home) #contacto:not(.home-contact) { padding: 55px 6vw 35px; }
  body.home:has(.art-home) #contacto:not(.home-contact) h2 { font-size: 12vw; }
}
@media (prefers-reduced-motion: reduce) {
  .art-home *, .art-home *::before, .art-home *::after { transition: none !important; animation: none !important; }
  .art-hero-image { transform: none !important; }
  .art-method-art { position: static; }
}
.art-motion-off *, .art-motion-off *::before, .art-motion-off *::after { transition: none !important; animation: none !important; }
.art-motion-off .art-hero-image { transform: none !important; }
.art-motion-off .art-method-art { position: static; }
