:root {
  --bg: #050505;
  --bg-2: #0c0c0c;
  --ink: #f4f4f2;
  --muted: #9a9a92;
  --gold: #c9a227;
  --gold-deep: #8a7320;
  --line: rgba(255,255,255,.10);
  --line-strong: rgba(255,255,255,.18);
  --void: #000;
  --mono: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Menlo, Consolas, monospace;
  --max: 1200px;
  --nav-h: 72px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: var(--bg);
  line-height: 1.5;
}
a { color: var(--gold); text-decoration: none; }
a:hover { color: #e0c45a; }
img, video { max-width: 100%; display: block; }
.wrap { width: min(var(--max), calc(100% - 2.5rem)); margin-inline: auto; }

/* NAV — Ferrari-like: over video, minimal */
.site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 100;
  min-height: var(--nav-h);
  height: auto;
  overflow: visible !important; /* critical: mobile dropdown must not clip */
  background: linear-gradient(to bottom, rgba(0,0,0,.75), transparent);
  border: 0;
  transition: background .25s ease;
}
.site-header.is-solid {
  background: rgba(11,11,11,.92);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.nav {
  display: flex; align-items: center; justify-content: space-between;
  height: var(--nav-h); gap: 1rem;
}
.logo {
  display: inline-flex; align-items: center; gap: .65rem;
  color: var(--ink); font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; font-size: .82rem;
}
.logo img { height: 34px; width: auto; filter: brightness(1.05); }
.nav-links {
  display: flex; flex-wrap: wrap; gap: .35rem 1.25rem;
  list-style: none; margin: 0; padding: 0;
}
.nav-links a {
  color: rgba(245,242,234,.82); font-size: .78rem; font-weight: 600;
  letter-spacing: .12em; text-transform: uppercase;
}
.nav-links a:hover, .nav-links a[aria-current="page"] { color: var(--gold); }

.btn {
  display: inline-block; border-radius: 0; padding: .88rem 1.45rem;
  background: var(--gold); color: #0a0a0a !important; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; font-size: .72rem;
  border: 1px solid var(--gold); cursor: pointer;
  transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.btn.secondary {
  background: transparent; color: var(--ink) !important;
  border: 1px solid var(--line-strong);
}
.btn:hover { background: #d4b03a; border-color: #d4b03a; }
.btn.secondary:hover {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.55);
  filter: none;
}

/* FULL-BLEED HERO */
.hero-stage {
  position: relative;
  min-height: 100vh;
  min-height: 100svh;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #000;
}
.hero-stage video.bg-video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero-stage .veil {
  position: absolute; inset: 0; z-index: 1;
  background:
    linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.35) 45%, rgba(0,0,0,.45) 100%),
    linear-gradient(90deg, rgba(0,0,0,.55), transparent 55%);
}
.hero-copy {
  position: relative; z-index: 2;
  padding: 0 0 4.5rem;
  width: min(var(--max), calc(100% - 2.5rem));
  margin-inline: auto;
}
.eyebrow {
  display: inline-block;
  font-size: .72rem; font-weight: 700; letter-spacing: .22em;
  text-transform: uppercase; color: var(--gold); margin-bottom: 1rem;
}
.hero-copy h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.4rem, 7vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.02em;
  text-transform: uppercase;
  font-weight: 800;
  max-width: 14ch;
}
.hero-copy .lead {
  color: rgba(245,242,234,.82);
  font-size: clamp(1rem, 2vw, 1.2rem);
  max-width: 34rem;
  margin: 0 0 1.75rem;
}
.actions { display: flex; flex-wrap: wrap; gap: .85rem; }
.scroll-hint {
  position: absolute; z-index: 2; left: 50%; bottom: 1.25rem;
  transform: translateX(-50%);
  font-size: .65rem; letter-spacing: .2em; text-transform: uppercase;
  color: rgba(255,255,255,.55);
}

/* SECTIONS */
.section { padding: 5rem 0; }
.section.tight { padding: 3.5rem 0; }
.section h2 {
  margin: 0 0 1.5rem;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 800;
}
.muted { color: var(--muted); }
.lead { font-size: 1.1rem; color: var(--muted); max-width: 40rem; }

.grid-3 {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.card {
  background: var(--bg-2);
  border: 1px solid var(--line);
  border-radius: 0;
  padding: 1.4rem 1.35rem;
}
.card h3 {
  margin: 0 0 .5rem;
  font-size: .95rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

/* Full-bleed story panels (Ferrari lineup energy) */
.story {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 70vh;
  background: var(--bg-2);
}
.story.reverse { grid-template-columns: 1fr 1.1fr; }
.story.reverse .story-media { order: 2; }
.story-media {
  position: relative; min-height: 320px; overflow: hidden;
}
.story-media img, .story-media video {
  width: 100%; height: 100%; object-fit: cover;
  position: absolute; inset: 0;
}
.story-body {
  display: flex; flex-direction: column; justify-content: center;
  padding: clamp(2rem, 5vw, 4.5rem);
}
.story-body h2 { margin-top: 0; }
.story-body p { color: var(--muted); max-width: 34rem; }

.pillars { background: #000; }
.cta-band {
  background: linear-gradient(135deg, #1a1608, #0b0b0b 55%, #1c180c);
  border-block: 1px solid var(--line);
  text-align: center;
}
.cta-band h2 { margin-bottom: .75rem; }
.cta-band .actions { justify-content: center; margin-top: 1.5rem; }

.steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }
.steps li {
  counter-increment: step; margin: 0 0 1rem; padding-left: 2.6rem; position: relative;
  color: var(--muted);
}
.steps li::before {
  content: counter(step, decimal-leading-zero);
  position: absolute; left: 0; top: 0;
  color: var(--gold); font-weight: 800; font-size: .85rem; letter-spacing: .05em;
}

.site-footer {
  margin-top: 0; border-top: 1px solid var(--line);
  padding: 2.5rem 0 3rem; color: var(--muted); font-size: .88rem;
  background: #000;
}
.site-footer a { color: var(--muted); }
.site-footer a:hover { color: var(--gold); }

.form { display: grid; gap: .8rem; max-width: 32rem; }
label { display: grid; gap: .35rem; font-weight: 600; font-size: .92rem; }
input, textarea, select {
  font: inherit; padding: .85rem .9rem; border-radius: 0;
  border: 1px solid var(--line); background: #111; color: var(--ink);
}
textarea { min-height: 140px; resize: vertical; }
.legal { max-width: 48rem; color: var(--muted); }
.badge {
  display: inline-block; font-size: .68rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase; color: var(--gold);
  margin-bottom: .75rem;
}
.tech-label {
  margin: 0 0 .85rem;
  font-family: var(--mono);
  font-size: .65rem;
  font-weight: 500;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: rgba(201,162,39,.9);
}
.tech-hairline {
  width: min(7rem, 40%);
  height: 1px;
  margin: 1.35rem auto 0;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .7;
}

.card-media { margin: 0 0 .9rem; overflow: hidden; aspect-ratio: 16/10; background: #222; }
.card-media img { width: 100%; height: 100%; object-fit: cover; }

.card-media video { width: 100%; height: 100%; object-fit: cover; display: block; }
.card-media--video { position: relative; }

.case-gallery {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 6px;
  margin-top: .9rem;
  min-width: 0;
  max-width: 100%;
}
.case-gallery picture { flex: none; display: block; }
.case-gallery img {
  height: 148px;
  width: auto;
  min-width: 200px;
  object-fit: cover;
  flex: none;
  display: block;
}

.logo-text { display: none; }
@media (min-width: 720px) {
  .logo-text { display: inline; }
}

@media (max-width: 860px) {
  .story, .story.reverse { grid-template-columns: 1fr; }
  .story.reverse .story-media { order: 0; }
  .story-media { min-height: 42vh; }
  .hero-copy { padding-bottom: 5.5rem; }
}


/* Voces del sector */
.voices { padding: 3.5rem 0; }
.voices .voice-card {
  max-width: 40rem;
  margin: 1.5rem auto 0;
  padding: 1.6rem 1.75rem;
  border: 1px solid rgba(245,242,234,.12);
  border-left: 3px solid #c9a227;
  background: rgba(255,255,255,.03);
  border-radius: 2px;
}
.voice-quote {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.55;
  color: #f5f2ea;
  font-style: italic;
}
.voice-quote::before { content: "“"; }
.voice-quote::after { content: "”"; }
.voice-meta {
  margin: 1rem 0 0;
  font-size: .9rem;
  color: var(--muted);
}
.voice-meta strong { color: #f5f2ea; font-weight: 600; }


/* Resultados / datos */
.results { padding: 3.5rem 0; background: var(--bg-2); border-block: 1px solid var(--line); }
.results-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-top: 1.5rem;
}
@media (max-width: 900px) { .results-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .results-grid { grid-template-columns: 1fr; } }
.stat-card {
  border: 1px solid var(--line);
  padding: 1.25rem 1.35rem;
  background: rgba(255,255,255,.03);
}
.stat-card .num {
  font-size: 2rem; font-weight: 700; color: var(--gold);
  letter-spacing: .02em; line-height: 1.1;
}
.stat-card .label { margin-top: .45rem; font-size: .88rem; color: var(--muted); }
.stat-note { margin-top: 1.25rem; font-size: .85rem; color: var(--muted); max-width: 40rem; }

.chart-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
  margin-top: 2rem;
}
@media (max-width: 800px) { .chart-pair { grid-template-columns: 1fr; } }
.chart-card {
  border: 1px solid var(--line);
  padding: 1.4rem 1.5rem;
  background: rgba(0,0,0,.25);
}
.chart-card h3 { margin: 0 0 .35rem; font-size: 1.05rem; }
.bars { margin-top: 1.1rem; display: grid; gap: .85rem; }
.bar-row { display: grid; gap: .35rem; }
.bar-row .bar-meta {
  display: flex; justify-content: space-between;
  font-size: .8rem; color: var(--muted);
}
.bar-track {
  height: 10px; background: rgba(255,255,255,.08); border-radius: 0;
  overflow: hidden;
}
.bar-fill {
  height: 100%; background: linear-gradient(90deg, var(--gold-deep), var(--gold));
  width: 0;
}
.delta {
  display: inline-block; margin-top: .9rem;
  font-size: .85rem; color: var(--gold); font-weight: 600;
}

.site-credit {
  margin-top: 1rem;
  font-size: .78rem;
  color: rgba(168,163,150,.75);
  letter-spacing: .04em;
}
.site-credit strong { color: rgba(245,242,234,.7); font-weight: 600; }

/* ========== HOME CINEMATIC (Ferrari dark) ========== */
.page-home .cinema-hero .cinema-veil {
  background:
    linear-gradient(to top, rgba(11,11,11,.92) 0%, rgba(11,11,11,.45) 38%, rgba(11,11,11,.25) 62%, rgba(0,0,0,.4) 100%),
    linear-gradient(90deg, rgba(0,0,0,.5) 0%, transparent 50%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(201,162,39,.12), transparent 55%);
}
.page-home .cinema-hero-copy {
  padding-bottom: 5.5rem;
}
.page-home .cinema-headline {
  margin: 0 0 1.15rem;
  font-size: clamp(2.8rem, 9vw, 6.2rem);
  line-height: .92;
  letter-spacing: -.03em;
  text-transform: uppercase;
  font-weight: 800;
  max-width: none;
}
.page-home .cinema-line {
  display: block;
}
.page-home .cinema-hero-copy .lead {
  font-size: clamp(1.05rem, 2.2vw, 1.28rem);
  max-width: 36rem;
  color: rgba(245,242,234,.88);
}
.page-home .cinema-scroll {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
  bottom: 1.5rem;
  color: rgba(245,242,234,.5);
  letter-spacing: .28em;
}
.page-home .cinema-scroll-line {
  display: block;
  width: 1px;
  height: 2.25rem;
  background: linear-gradient(to bottom, var(--gold), transparent);
  animation: cinema-scroll-pulse 2.2s ease-in-out infinite;
}
@keyframes cinema-scroll-pulse {
  0%, 100% { opacity: .35; transform: scaleY(.85); }
  50% { opacity: 1; transform: scaleY(1); }
}

/* Manifesto */
.cinema-manifesto {
  min-height: 55vh;
  display: grid;
  align-items: center;
  background: #000;
  border-block: 1px solid var(--line);
  text-align: center;
  padding: 4rem 0;
}
.cinema-manifesto-title {
  margin: 0;
  font-size: clamp(2.4rem, 8vw, 5.5rem);
  line-height: .95;
  font-weight: 800;
  letter-spacing: -.02em;
  text-transform: uppercase;
  color: var(--ink);
}
.cinema-manifesto-sub {
  margin: 1.5rem auto 0;
  font-size: clamp(.85rem, 1.5vw, 1rem);
  letter-spacing: .18em;
  text-transform: uppercase;
  max-width: 36rem;
}

/* Filmstrip / marquee */
.cinema-filmstrip {
  padding: 3.5rem 0 2.5rem;
  background: var(--bg);
  overflow: hidden;
}
.cinema-filmstrip-head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .75rem 1.5rem;
  margin-bottom: 1.75rem;
}
.cinema-filmstrip-title {
  margin: 0;
  flex: 1;
  font-size: clamp(1.4rem, 3vw, 2rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 800;
}
.cinema-filmstrip-link {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
}
.cinema-marquee {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent);
}
.cinema-marquee-track {
  display: flex;
  gap: 1rem;
  width: max-content;
  animation: cinema-marquee 55s linear infinite;
}
.cinema-marquee:hover .cinema-marquee-track,
.cinema-marquee:focus-within .cinema-marquee-track {
  animation-play-state: paused;
}
@keyframes cinema-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.cinema-chip {
  position: relative;
  flex: 0 0 auto;
  width: min(280px, 72vw);
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border: 1px solid var(--line);
  color: var(--ink) !important;
  background: #111;
}
.cinema-chip img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}
.cinema-chip:hover img,
.cinema-chip:focus-visible img {
  transform: scale(1.06);
}
.cinema-chip span {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: .85rem 1rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  background: linear-gradient(to top, rgba(0,0,0,.85), transparent);
}
.cinema-chip:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}

/* Story panels taller */
.page-home .cinema-panel {
  min-height: 80vh;
  background: #000;
}
.page-home .cinema-panel:nth-of-type(odd) {
  background: var(--bg-2);
}
.page-home .cinema-panel .story-body h2 {
  font-size: clamp(1.8rem, 4vw, 3rem);
}
.page-home .cinema-media-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}

/* Results dramatic */
.page-home .cinema-results {
  padding: 5.5rem 0;
  background: #000;
}
.page-home .cinema-stats .stat-card {
  padding: 1.75rem 1.5rem;
  background: rgba(255,255,255,.02);
  border-color: rgba(201,162,39,.22);
}
.page-home .cinema-stats .num {
  font-size: clamp(2.4rem, 5vw, 3.6rem);
  font-weight: 800;
  letter-spacing: -.02em;
  line-height: 1;
}
.page-home .cinema-results .delta {
  font-size: .95rem;
  letter-spacing: .04em;
}

/* Pull-quote Hassen */
.cinema-quote-band {
  padding: clamp(4rem, 10vw, 7rem) 0;
  background:
    radial-gradient(ellipse 70% 80% at 20% 50%, rgba(201,162,39,.08), transparent 60%),
    #0b0b0b;
  border-block: 1px solid var(--line);
}
.cinema-pullquote {
  margin: 0;
  max-width: 52rem;
  font-size: clamp(1.25rem, 3.2vw, 2.05rem);
  line-height: 1.35;
  font-weight: 500;
  color: var(--ink);
  font-style: normal;
  letter-spacing: -.01em;
}
.cinema-pullquote::before {
  content: "“";
  display: block;
  font-size: 3rem;
  line-height: 1;
  color: var(--gold);
  margin-bottom: .5rem;
  font-weight: 700;
}
.cinema-quote-meta {
  margin: 1.75rem 0 0;
  font-size: .92rem;
  color: var(--muted);
  max-width: 40rem;
}
.cinema-quote-meta strong { color: var(--ink); }
.page-home .cinema-voices {
  padding-top: 2.5rem;
  padding-bottom: 4rem;
  background: #000;
}

/* Steps 01 02 03 */
.page-home .cinema-steps {
  background: var(--bg-2);
  border-top: 1px solid var(--line);
}
.cinema-steps-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(3, 1fr);
}
.cinema-steps-list li {
  display: grid;
  gap: 1rem;
  padding: 1.5rem 1.25rem;
  border: 1px solid var(--line);
  background: rgba(0,0,0,.35);
}
.cinema-step-num {
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  color: var(--gold);
  letter-spacing: .06em;
  line-height: 1;
}
.cinema-steps-list strong {
  display: block;
  font-size: .95rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .35rem;
}
.cinema-steps-list p { margin: 0; }

/* CTA gold band */
.page-home .cinema-cta {
  background:
    linear-gradient(135deg, rgba(201,162,39,.14), transparent 40%),
    linear-gradient(225deg, rgba(138,115,32,.18), #0b0b0b 50%, #14110a);
  border-block: 1px solid rgba(201,162,39,.28);
}

/* Reveals */
.js .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .7s ease, transform .7s ease;
}
.js .reveal.is-in {
  opacity: 1;
  transform: none;
}

@media (max-width: 860px) {
  .cinema-steps-list { grid-template-columns: 1fr; }
  .page-home .cinema-panel { min-height: auto; }
  .page-home .cinema-panel .story-media { min-height: 48vh; }
  .cinema-manifesto { min-height: 42vh; padding: 3rem 0; }
  .page-home .cinema-hero-copy { padding-bottom: 6rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cinema-marquee-track,
  .page-home .cinema-scroll-line {
    animation: none !important;
  }
  .js .reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .cinema-chip img { transition: none; }
}

/* ========== INNER PAGES — cinema family (do not break home) ========== */
.page-hero {
  position: relative;
  min-height: 58vh;
  min-height: 58svh;
  display: grid;
  align-items: end;
  overflow: hidden;
  background: #000;
}
.page-hero--compact {
  min-height: 46vh;
  min-height: 46svh;
}
.page-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.page-hero-media img,
.page-hero-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.page-hero-veil {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to top, rgba(11,11,11,.94) 0%, rgba(11,11,11,.5) 42%, rgba(11,11,11,.28) 68%, rgba(0,0,0,.42) 100%),
    linear-gradient(90deg, rgba(0,0,0,.5) 0%, transparent 52%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(201,162,39,.12), transparent 55%);
}
.page-hero-copy {
  position: relative;
  z-index: 2;
  padding: 0 0 3.25rem;
  width: min(var(--max), calc(100% - 2.5rem));
  margin-inline: auto;
}
.page-hero-copy h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.2rem, 6.5vw, 4.6rem);
  line-height: .94;
  letter-spacing: -.025em;
  text-transform: uppercase;
  font-weight: 800;
  max-width: 16ch;
}
.page-hero-copy .lead {
  color: rgba(245,242,234,.86);
  font-size: clamp(1rem, 2vw, 1.2rem);
  max-width: 38rem;
  margin: 0 0 1.5rem;
}
.page-hero-copy .lead.tight { margin-bottom: 0; }
.page-hero-note {
  margin: .85rem 0 0;
  max-width: 40rem;
  font-size: .92rem;
  color: rgba(168,163,150,.92);
}

/* Inner sections */
.inner-band {
  padding: 4.5rem 0;
}
.inner-band + .inner-band {
  border-top: 1px solid var(--line);
}
.inner-band h2 {
  margin: 0 0 1.35rem;
  font-size: clamp(1.5rem, 3.2vw, 2.2rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 800;
}
.anchor-target {
  scroll-margin-top: calc(var(--nav-h) + 1.4rem);
}

/* Cards — more air, stronger edge, hover */
.page-inner .card {
  padding: 1.85rem 1.65rem;
  background: var(--bg-2);
  border: 1px solid var(--line);
  overflow: hidden;
  transition: border-color .3s ease, background .3s ease;
}
.page-inner .card:hover {
  border-color: rgba(201,162,39,.38);
  background: #1a1a1a;
}
.page-inner .card > .card-media:first-child,
.page-inner .card > .card-media--video:first-child {
  margin: -1.85rem -1.65rem 1.25rem;
}
.page-inner .card-media {
  aspect-ratio: 16/10;
  max-height: 220px;
}
.page-inner .card-media img,
.page-inner .card-media video {
  transition: transform .6s ease;
}
.page-inner .card:hover .card-media img,
.page-inner .card:hover .card-media video {
  transform: scale(1.04);
}
.page-inner .grid-3 {
  gap: 1.35rem;
}
.page-inner .card .cinema-step-num {
  display: block;
  margin-bottom: .65rem;
  font-size: 1.65rem;
}

/* Deep articles (método) */
.deep-block {
  margin-top: 2.25rem;
  padding: clamp(1.6rem, 3vw, 2.4rem);
  background: #111;
  border: 1px solid var(--line);
}
.deep-block h2 {
  margin: 0 0 .85rem;
  font-size: clamp(1.25rem, 2.5vw, 1.75rem);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-weight: 800;
}
.deep-block > p:first-of-type { margin-top: 0; }
.deep-block ul {
  margin: .4rem 0 .85rem 1.15rem;
  line-height: 1.55;
  color: var(--muted);
}
.deep-block strong { color: var(--ink); }

.croma-gallery {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  margin-top: 1.25rem;
}
.croma-gallery figure { margin: 0; }
.croma-gallery .card-media { margin: 0; aspect-ratio: 4/3; }
.croma-gallery figcaption {
  margin-top: .45rem;
  font-size: .82rem;
  color: var(--muted);
}

/* Featured media + copy (formación videos) */
.feature-row {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 0;
  background: var(--bg-2);
  border: 1px solid var(--line);
  overflow: hidden;
}
.feature-row + .feature-row { margin-top: 1.25rem; }
.feature-media {
  position: relative;
  min-height: 240px;
  background: #111;
}
.feature-media video,
.feature-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.feature-media--ratio {
  aspect-ratio: 16/9;
  min-height: 0;
}
.feature-media--ratio video,
.feature-media--ratio img {
  position: absolute;
}
.feature-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 2.5rem);
}
.feature-body h2,
.feature-body h3 {
  margin: 0 0 .65rem;
  font-size: clamp(1.15rem, 2.2vw, 1.55rem);
  letter-spacing: .06em;
  text-transform: uppercase;
}

/* Contact split */
.contact-split {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 2rem;
  align-items: start;
}
.contact-panel {
  padding: 2rem 1.75rem;
  background: var(--bg-2);
  border: 1px solid var(--line);
}
.page-inner .form { max-width: none; }
.page-inner input:focus,
.page-inner textarea:focus,
.page-inner select:focus {
  outline: 1px solid rgba(201,162,39,.55);
  border-color: rgba(201,162,39,.45);
}

/* CTA band usable off-home */
.cinema-cta {
  background:
    linear-gradient(135deg, rgba(201,162,39,.14), transparent 40%),
    linear-gradient(225deg, rgba(138,115,32,.18), #0b0b0b 50%, #14110a);
  border-block: 1px solid rgba(201,162,39,.28);
}

/* Mobile nav toggle (injected by main.js) */
.nav-toggle {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(0,0,0,.45);
  cursor: pointer;
  touch-action: manipulation;
  z-index: 110;
  position: relative;
}
.nav-toggle span {
  display: block;
  width: 18px;
  height: 1.5px;
  margin-inline: auto;
  background: var(--ink);
}
.site-header.is-open { background: rgba(11,11,11,.96); }

@media (max-width: 860px) {
  .page-hero { min-height: 52vh; }
  .page-hero--compact { min-height: 40vh; }
  .page-hero-copy { padding-bottom: 2.5rem; }
  .feature-row { grid-template-columns: 1fr; }
  .feature-media { min-height: 0; aspect-ratio: 16/9; }
  .contact-split { grid-template-columns: 1fr; }
}
/* Hamburger: same breakpoint as hiding desktop links (980) */
@media (max-width: 980px) {
  .nav-toggle {
    display: flex;
    position: relative;
    z-index: 70;
    flex-shrink: 0;
    pointer-events: auto;
    -webkit-tap-highlight-color: transparent;
  }
  .site-header .nav-links {
    display: none;
    position: absolute;
    left: 0; right: 0;
    top: 100%;
    flex-direction: column;
    gap: 0;
    padding: .75rem 1.25rem 1.25rem;
    background: rgba(11,11,11,.98);
    border-bottom: 1px solid var(--line);
    z-index: 65;
    overflow: visible;
    max-height: min(85vh, 760px);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .site-header.is-open .nav-links {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .site-header .nav-links a {
    display: block;
    padding: .75rem 0;
    font-size: .9rem;
  }
  .site-header .nav-tools {
    max-width: none;
    gap: .45rem;
  }
  /* Sin JS no hay .is-open: el menú (con la fila de idiomas) queda visible. lang.js añade class "js". */
  html:not(.js) .site-header .nav-links {
    display: flex;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-inner .card,
  .page-inner .card-media img,
  .page-inner .card-media video {
    transition: none;
  }
  .page-inner .card:hover .card-media img,
  .page-inner .card:hover .card-media video {
    transform: none;
  }
}

/* Language switcher — 7 langs, Ferrari gold/muted */
.nav-tools {
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-shrink: 0;
}
.lang-switch {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .15rem .22rem;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  line-height: 1;
}
.lang-switch a {
  color: rgba(168,163,150,.88);
  padding: .22rem .08rem;
}
.lang-switch a:hover { color: #e0c45a; }
.lang-switch a[aria-current="true"] {
  color: var(--gold);
}
.lang-switch span {
  color: rgba(255,255,255,.2);
  font-weight: 400;
  user-select: none;
  pointer-events: none;
}

@media (max-width: 860px) {
  .nav-tools { margin-left: auto; }
  .lang-switch {
    font-size: .56rem;
    letter-spacing: .06em;
    max-width: 12.2rem;
    gap: .12rem .18rem;
  }
}
@media (max-width: 380px) {
  .lang-switch { max-width: 9.6rem; font-size: .52rem; }
}


/* ========== SPECTACULAR + SPACEX PASS 19SEP ========== */
/* Soft third hero line */
.page-home .cinema-line-soft {
  font-size: .62em;
  font-weight: 600;
  letter-spacing: .04em;
  color: rgba(244,244,242,.72);
  margin-top: .15em;
}
.page-home .cinema-headline {
  font-size: clamp(2.6rem, 8.5vw, 5.8rem);
  letter-spacing: -.035em;
}
.page-home .cinema-veil {
  background:
    linear-gradient(to top, rgba(5,5,5,.96) 0%, rgba(5,5,5,.5) 36%, rgba(5,5,5,.2) 58%, rgba(0,0,0,.45) 100%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 48%),
    radial-gradient(ellipse 70% 45% at 50% 100%, rgba(201,162,39,.08), transparent 55%);
}
.page-home .cinema-scroll {
  font-family: var(--mono);
  font-size: .58rem;
  letter-spacing: .32em;
}
.page-home .cinema-scroll-line {
  width: 1px;
  height: 2.6rem;
  background: linear-gradient(to bottom, rgba(201,162,39,.95), transparent);
}

/* Manifesto void + precision */
.cinema-manifesto {
  min-height: 62vh;
  background: var(--void);
  border-block: 1px solid var(--line);
  padding: 5.5rem 0;
}
.cinema-manifesto-title {
  font-size: clamp(2.6rem, 8.5vw, 5.8rem);
  letter-spacing: -.035em;
}
.cinema-manifesto-sub {
  margin-top: 1.1rem;
  font-family: var(--mono);
  font-size: clamp(.7rem, 1.2vw, .82rem);
  letter-spacing: .22em;
}

/* Filmstrip smoother / denser chips */
.cinema-filmstrip { padding: 4rem 0 3rem; background: var(--bg); }
.cinema-filmstrip-head { margin-bottom: 1.5rem; align-items: center; }
.cinema-filmstrip-title { letter-spacing: .06em; }
.cinema-filmstrip-link {
  font-family: var(--mono);
  font-size: .68rem;
  letter-spacing: .16em;
}
.cinema-marquee-track { gap: .75rem; animation-duration: 68s; }
.cinema-chip {
  width: min(300px, 74vw);
  border: 1px solid var(--line);
  background: #080808;
}
.cinema-chip span {
  font-family: var(--mono);
  font-size: .62rem;
  letter-spacing: .18em;
  padding: .7rem .9rem;
}

/* En movimiento — mission media */
.cinema-motion {
  padding: 4.5rem 0 5rem;
  background: var(--void);
  border-block: 1px solid var(--line);
}
.cinema-motion-head { margin-bottom: 1.75rem; max-width: 40rem; }
.cinema-motion-title {
  margin: 0 0 .65rem;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 800;
}
.cinema-motion-lead { margin: 0; max-width: 34rem; }
.cinema-motion-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
@media (max-width: 1100px) {
  .cinema-motion-grid { grid-template-columns: 1fr 1fr; }
}
.cinema-motion-card {
  margin: 0;
  background: #080808;
  display: grid;
}
.cinema-motion-media {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #000;
}
.cinema-motion-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
}
.cinema-motion-card figcaption {
  display: flex;
  flex-direction: column;
  gap: .25rem;
  padding: .85rem 1rem 1rem;
  border-top: 1px solid var(--line);
}
.cinema-motion-label {
  font-family: var(--mono);
  font-size: .58rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
}
.cinema-motion-card strong {
  font-size: .82rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 700;
}

.cinema-motion-note {
  font-size: .78rem;
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
}

/* Story panels — less ornament, more void */
.page-home .cinema-panel {
  min-height: 78vh;
  background: var(--void);
  border-block: 1px solid transparent;
}
.page-home .cinema-panel + .cinema-panel {
  border-top: 1px solid var(--line);
}
.page-home .cinema-panel .story-body h2 {
  letter-spacing: .05em;
}
.page-home .cinema-panel .badge,
.page-home .cinema-panel .story-body .badge {
  font-family: var(--mono);
  letter-spacing: .2em;
}

/* Telemetry / mission data */
.telemetry-band {
  background: var(--void) !important;
  border-block: 1px solid var(--line) !important;
  padding: 5.5rem 0 !important;
}
.telemetry-grid { gap: 1px; background: var(--line); }
.telemetry-card {
  background: #080808 !important;
  border: 0 !important;
  padding: 1.6rem 1.35rem !important;
}
.telemetry-card .num {
  font-variant-numeric: tabular-nums;
  letter-spacing: -.03em;
}
.telemetry-card .label {
  font-family: var(--mono);
  font-size: .72rem !important;
  letter-spacing: .04em;
  line-height: 1.45;
}
.stat-note {
  font-family: var(--mono);
  font-size: .72rem !important;
  letter-spacing: .02em;
}
.mission-panels { gap: 1px; background: var(--line); }
.mission-panel {
  background: #080808 !important;
  border: 0 !important;
  padding: 1.6rem 1.5rem !important;
}
.mission-panel h3 {
  font-size: .95rem !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.bar-meta {
  font-family: var(--mono) !important;
  font-size: .72rem !important;
  letter-spacing: .04em;
}
.bar-track {
  height: 2px !important;
  background: rgba(255,255,255,.08) !important;
}
.bar-fill {
  background: var(--gold) !important;
}
.delta {
  font-family: var(--mono);
  letter-spacing: .06em;
  font-size: .75rem !important;
}

/* Voces magazine — editorial + engineering frame */
.cinema-voces-mag {
  padding: clamp(4rem, 9vw, 6.5rem) 0;
  background: var(--bg);
  border-block: 1px solid var(--line);
}
.cinema-voces-mag-title {
  margin: 0 0 2rem;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  letter-spacing: .06em;
  text-transform: uppercase;
  font-weight: 800;
}
.cinema-voces-mag-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 1px;
  background: var(--line);
  border: 1px solid var(--line);
}
.cinema-voces-mag-quote,
.cinema-voces-mag-portrait {
  background: #080808;
  padding: clamp(1.5rem, 3vw, 2.4rem);
}
.cinema-voces-mag-quote blockquote {
  margin: 0;
  font-size: clamp(1.15rem, 2.6vw, 1.75rem);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: -.01em;
  color: var(--ink);
}
.cinema-voces-mag-quote blockquote::before {
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background: var(--gold);
  margin-bottom: 1.1rem;
}
.cinema-voces-mag-portrait {
  display: grid;
  gap: 1.1rem;
  align-content: start;
}
.cinema-voces-mag-photo {
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #111;
  border: 1px solid var(--line);
}
.cinema-voces-mag-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cinema-voces-mag-caption h3 {
  margin: 0 0 .4rem;
  font-size: .95rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cinema-voces-mag-caption .muted { margin: 0; font-size: .9rem; }

/* Steps — mission sequence */
.page-home .cinema-steps { background: var(--bg-2); }
.cinema-steps-list { gap: 1px; background: var(--line); }
.cinema-steps-list li {
  border: 0;
  background: #080808;
  padding: 1.6rem 1.35rem;
}
.cinema-step-num {
  font-family: var(--mono);
  letter-spacing: .08em;
}

/* CTA final — stark */
.cinema-cta-final {
  padding: 5.5rem 0 !important;
  background:
    linear-gradient(180deg, rgba(201,162,39,.06), transparent 40%),
    var(--void) !important;
  border-block: 1px solid rgba(201,162,39,.35) !important;
}
.cinema-cta-headline {
  font-size: clamp(2.2rem, 6vw, 4rem) !important;
  line-height: .95;
  letter-spacing: -.03em;
  margin-bottom: 1rem !important;
}
.cinema-cta-lead {
  margin: 0 auto !important;
  max-width: 34rem;
  font-size: 1.05rem;
}
.cinema-cta-actions { margin-top: 1.75rem; justify-content: center; }

/* Inner page heroes — SpaceX precision veil */
.page-hero-veil {
  background:
    linear-gradient(to top, rgba(5,5,5,.96) 0%, rgba(5,5,5,.55) 40%, rgba(5,5,5,.25) 68%, rgba(0,0,0,.4) 100%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 50%) !important;
}
.page-hero-copy h1 {
  letter-spacing: -.03em;
}
.page-hero-copy .eyebrow,
.page-inner .badge {
  font-family: var(--mono);
  letter-spacing: .2em;
}
.page-inner .card {
  border-color: var(--line);
  background: #080808;
}
.page-inner .deep-block {
  background: #080808;
  border-color: var(--line);
}
/* case-gallery filmstrip owns layout; do not restack thumbs */

@media (max-width: 860px) {
  .cinema-motion-grid,
  .cinema-voces-mag-grid { grid-template-columns: 1fr; }
  .cinema-manifesto { min-height: 48vh; padding: 3.5rem 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cinema-motion-media video,
  .cinema-media-video video,
  .hero-stage video.bg-video {
    /* JS also pauses; keep poster visible */
  }
}


/* ========== ALIASES Ferrari×SpaceX (class-name safety) ========== */
.tech-label { } /* already defined */
.page-home { }
body.page-home .cinema-hero .cinema-veil,
.page-home .cinema-veil { }
/* map CTA class used in HTML */
.cinema-cta-final { }
/* bar-meta used in charts — alias bar-meta if HTML uses bar-meta */
.bar-meta { font-family: var(--mono); font-size: .72rem; letter-spacing: .04em; }
.cinema-results .bar-meta,
.mission-panel .bar-meta { font-family: var(--mono) !important; font-size: .72rem !important; }
/* case-gallery filmstrip: single row, see base rule */
/* page-hero veil precision */
.page-hero .page-hero-veil,
.page-hero-veil {
  background:
    linear-gradient(to top, rgba(5,5,5,.96) 0%, rgba(5,5,5,.55) 40%, rgba(5,5,5,.25) 68%, rgba(0,0,0,.4) 100%),
    linear-gradient(90deg, rgba(0,0,0,.55) 0%, transparent 50%) !important;
}
.page-hero-copy .eyebrow,
.page-hero .eyebrow {
  font-family: var(--mono);
  letter-spacing: .2em;
}
/* Soft hero third line */
.cinema-line-soft {
  font-size: .62em;
  font-weight: 600;
  letter-spacing: .04em;
  color: rgba(244,244,242,.72);
  margin-top: .15em;
}
/* Telemetry stat number fallback if HTML uses .num or .stat-num */
.telemetry-card .num,
.telemetry-card .stat-num,
.stat-card .num {
  font-variant-numeric: tabular-nums;
}
.telemetry-card .label,
.stat-card .label {
  font-family: var(--mono);
  font-size: .72rem;
  letter-spacing: .04em;
}

/* cinema-loop media */
.cinema-loop { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ========== QA 19-sep: header overlap + media framing ========== */
html { scroll-padding-top: calc(var(--nav-h) + 12px); }

.site-header {
  /* mobile menu: never clip dropdown */
  overflow: visible !important;
  background: linear-gradient(to bottom, rgba(0,0,0,.88) 0%, rgba(0,0,0,.55) 55%, rgba(0,0,0,.15) 100%);
}
.site-header.is-open {
  overflow: visible !important;
  z-index: 100;
}
.site-header .nav {
  flex-wrap: nowrap;
  min-width: 0;
}
.site-header .nav-links {
  flex-wrap: wrap;
  flex: 1 1 auto;
  min-width: 0;
  justify-content: center;
  overflow: visible;
  row-gap: .15rem;
}
.site-header .nav-links > li > a {
  font-size: .68rem;
  letter-spacing: .07em;
}
@media (max-width: 980px) {
  .site-header .nav-links {
    overflow: visible;
  }
}
.site-header .nav-tools {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 42%;
}
.site-header .lang-switch {
  display: flex;
  flex-wrap: nowrap;
  gap: .2rem .35rem;
  overflow-x: auto;
  scrollbar-width: none;
  max-width: 100%;
  font-size: .62rem;
  letter-spacing: .06em;
}
.site-header .lang-switch::-webkit-scrollbar { display: none; }
.site-header .lang-switch span { opacity: .35; }

/* Logo text: don't fight the nav on mid widths */
@media (max-width: 1180px) {
  .site-header .logo-text { display: none !important; }
}
/* mobile nav rules merged above */


/* Hero: keep copy below fixed header even if tall */
.hero-stage,
.page-home .cinema-hero,
.page-hero {
  padding-top: var(--nav-h);
  box-sizing: border-box;
}
.hero-stage > video.bg-video,
.hero-stage > .veil,
.page-home .cinema-hero > video,
.page-home .cinema-hero > .cinema-veil,
.page-hero > .page-hero-media,
.page-hero > .page-hero-veil {
  /* full-bleed media ignores the padding box */
  top: 0;
  height: 100%;
  min-height: 100%;
}
.hero-copy,
.page-home .cinema-hero-copy,
.page-hero-copy {
  padding-top: 0.75rem;
}

/* Media framing — avoid ugly crops / stretched stills */
.cinema-chip img,
.card-media img,
.case-gallery img,
.cinema-media-still img,
.story-media img {
  object-fit: cover;
  object-position: center center;
  background: #111;
}
/* Tall source photos (e.g. compost 1824×4000): bias to upper subject */
img[src*="compost-05"],
img[src*="compost-08"] {
  object-position: center 28%;
}
img[src*="formacion-aula"] {
  object-position: center 34%;
}
.cinema-chip {
  background: #0a0a0a;
}
.cinema-chip img {
  aspect-ratio: 4 / 3;
  width: 100%;
  height: auto;
  min-height: 110px;
  max-height: 140px;
}

/* Small screens: header keeps ES/CA/EN + current language; full list lives in the mobile menu */
@media (max-width: 980px) {
  .lang-switch a.lang-secondary:not([aria-current]) { display: none; }
  .site-header .lang-switch span { display: none; }
  .site-header .lang-switch { gap: .2rem .5rem; }
}
.nav-lang-row { display: none; }
@media (max-width: 980px) {
  .site-header .nav-links .nav-lang-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .35rem .9rem;
    margin-top: .5rem;
    padding-top: .85rem;
    border-top: 1px solid var(--line);
  }
  .site-header .nav-links .nav-lang-label {
    width: 100%;
    font-size: .68rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--muted, #a8a396);
  }
  .site-header .nav-links .nav-lang-row a {
    padding: .5rem .1rem;
    font-size: .82rem;
    font-weight: 700;
    letter-spacing: .08em;
  }
  .site-header .nav-links .nav-lang-row a[aria-current] { color: var(--gold); }
}

/* —— FAQ (visible + schema companion) —— */
.faq-band { padding: 2.5rem 0 3rem; }
.faq-band .faq-list { max-width: 42rem; margin: 1.25rem auto 0; display: grid; gap: .65rem; }
.faq-item {
  border: 1px solid rgba(245, 242, 234, 0.12);
  border-radius: 10px;
  background: rgba(20, 22, 18, 0.55);
  padding: 0;
  overflow: hidden;
}
.faq-item summary {
  cursor: pointer;
  list-style: none;
  padding: .95rem 1.1rem;
  font-weight: 600;
  color: #f5f2ea;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after {
  content: "+";
  font-weight: 400;
  opacity: .55;
  flex-shrink: 0;
}
.faq-item[open] summary::after { content: "–"; }
.faq-item .faq-a {
  padding: 0 1.1rem 1rem;
  margin: 0;
  color: var(--muted, #b7b2a6);
  font-size: .95rem;
  line-height: 1.55;
}
.faq-item .faq-a a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.footer-recursos { font-size: .88rem; margin-top: .35rem !important; }
.footer-recursos a { margin: 0 .15rem; }
.pillar-links { margin-top: 2rem; }
.pillar-links h2 { font-size: 1.35rem; margin: 0 0 .75rem; }


/* === speed / CWV: picture wrappers === */
/* picture wrappers: transparent for layout so existing img rules apply */
picture { display: contents; }

/* —— Video captions as translatable HTML (EcoCastells promo; synced by main.js) —— */
.has-cues { position: relative; }
.video-cues {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 6.5rem;
  background: linear-gradient(to top, rgba(0,0,0,.72), rgba(0,0,0,0));
  pointer-events: none;
  z-index: 2;
}
.video-cues--top {
  top: 0; bottom: auto;
  height: 5.25rem;
  background: linear-gradient(to bottom, rgba(0,0,0,.7), rgba(0,0,0,0));
}
.video-cue {
  position: absolute;
  left: 1.25rem; right: 1.25rem; bottom: 1.1rem;
  margin: 0;
  padding-left: .7rem;
  border-left: 2px solid var(--gold);
  color: #f5f2ea;
  font-size: clamp(.82rem, 2.4vw, 1.05rem);
  font-weight: 700;
  letter-spacing: .07em;
  line-height: 1.3;
  text-transform: uppercase;
  text-shadow: 0 1px 3px rgba(0,0,0,.65);
  opacity: 0;
  transition: opacity .35s ease;
}
.video-cues--top .video-cue { top: .9rem; bottom: auto; font-size: clamp(.74rem, 2.2vw, .9rem); }
.video-cue.is-active { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .video-cue { transition: none; } }

/* Contact form (Netlify Forms) — lote 4 */
.sr-only {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.form-hp { display: none !important; }
.contact-panel .form-hint { font-size: .85rem; margin: 0 0 .2rem; }
.contact-panel label { display: block; margin: .45rem 0 -.4rem; }
.contact-panel .form-hp label { display: none; }
.contact-panel .req { color: var(--gold); }
.contact-panel label .muted { font-weight: 400; }
.contact-panel select { appearance: auto; }
.form-check {
  display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start;
  margin-top: .5rem;
}
.form-check input[type="checkbox"] {
  width: 1.2rem; height: 1.2rem; margin: .15rem 0 0; padding: 0;
  accent-color: var(--gold);
}
.contact-panel .form-check label { display: block; margin: 0; font-weight: 400; color: var(--ink); line-height: 1.5; }
.form-check label a { text-decoration: underline; text-underline-offset: 2px; }
.field-error { display: block; min-height: 0; color: #ff9b8a; font-size: .85rem; font-weight: 600; }
.field-error:empty { display: none; }
.contact-panel input:user-invalid,
.contact-panel select:user-invalid,
.contact-panel textarea:user-invalid,
.contact-panel [aria-invalid="true"] { border-color: #ff9b8a; }
.contact-panel .btn { justify-self: start; margin-top: .6rem; }
.form-note { font-size: .82rem; margin: 0; }
.form-alt { margin: 0; font-size: .95rem; }
mark.pending { background: #ffd54a; color: #111; padding: 0 .25em; font-weight: 700; }

/* Ferrari chapters — full-bleed films, not a card grid */
.cinema-chapter { position: relative; display: block; min-height: 100vh; color: #f5f2ea; text-decoration: none; overflow: hidden; background: #000; }
.cinema-chapter video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cinema-chapter-copy { position: absolute; left: 6vw; bottom: 8vh; z-index: 2; display: flex; flex-direction: column; gap: .4rem; text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.cinema-chapter-kicker { font-family: var(--mono); font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; }
.cinema-chapter-text { display: block; max-width: 36rem; margin-top: .45rem; font-size: clamp(.92rem, 1.45vw, 1.08rem); line-height: 1.45; font-weight: 400; letter-spacing: 0; text-transform: none; }
.cinema-chapter-text a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cinema-chapter-title { font-size: clamp(2.4rem, 6vw, 5.5rem); line-height: .95; font-weight: 500; letter-spacing: -.03em; }
.cinema-chapter::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.55), rgba(0,0,0,.05) 45%); pointer-events: none; }

/* Narrow screens: title stays inside the frame, video still covers, the whole chapter is the tap target */
.cinema-chapter-copy { right: 6vw; max-width: none; }
.cinema-chapter-title { min-width: 0; max-width: 100%; overflow-wrap: break-word; }
@supports (min-height: 100svh) {
  .cinema-chapter { min-height: 100svh; }
}
@media (max-width: 720px) {
  .cinema-chapter-copy {
    left: 1.15rem;
    right: 1.15rem;
    bottom: max(1.35rem, calc(env(safe-area-inset-bottom, 0px) + 1rem));
  }
  .cinema-chapter-title {
    font-size: clamp(1.7rem, 8vw, 2.8rem);
    line-height: 1.05;
    letter-spacing: -.02em;
  }
  .cinema-chapter-kicker { letter-spacing: .16em; }
  .cinema-chapter-text { font-size: .92rem; }
}

/* Split chapters — text beside the film (story grid), not full-bleed */
a.story,
a.story:hover {
  color: inherit;
  text-decoration: none;
}
a.story:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -3px;
}
.story .cinema-chapter-copy {
  position: static;
  inset: auto;
  left: auto;
  right: auto;
  bottom: auto;
  max-width: 36rem;
  text-shadow: none;
  z-index: auto;
}
.story .cinema-chapter-kicker { color: var(--gold); }
.story .cinema-chapter-title {
  font-size: clamp(1.85rem, 3.2vw, 3.35rem);
  line-height: 1.02;
  color: var(--ink);
}
.story .cinema-chapter-text {
  display: block;
  position: static;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  color: var(--muted);
  max-width: 36rem;
  margin-top: .55rem;
  font-size: clamp(.92rem, 1.35vw, 1.05rem);
  line-height: 1.45;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}
.story .cinema-chapter-text a { color: var(--gold); }
@media (max-width: 860px) {
  .story .cinema-chapter-title { font-size: clamp(1.6rem, 7vw, 2.35rem); }
}

/* Filmstrip must not widen the card grid; portrait posters stay inside the frame */
.page-inner .grid-3 > .card { min-width: 0; }
.page-inner .grid-3 > .card > .card-media {
  height: 220px;
  max-height: 220px;
  aspect-ratio: 16 / 10;
  overflow: hidden;
}
.page-inner .grid-3 > .card > .card-media img,
.page-inner .grid-3 > .card > .card-media video {
  width: 100%;
  height: 220px;
  max-height: 220px;
  object-fit: cover;
}
.page-inner .card-media img[src*="formacion-alfarras"] { object-position: center top; }
.case-gallery { width: 100%; min-width: 0; }
.case-gallery img { max-width: none; height: 148px; }

.card-media--person { aspect-ratio: 16/9; max-height: 420px; }
.card-media--person img { width: 100%; height: 100%; object-fit: cover; }

/* Sistema dropdown: same nav type, closed until hover (desktop) or click */
.nav-drop { position: relative; }
.site-header .nav-drop details > summary {
  list-style: none;
  cursor: pointer;
  color: rgba(245,242,234,.82);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-size: .68rem;
  padding: .35rem 0;
}
.site-header .nav-drop details > summary::-webkit-details-marker { display: none; }
.site-header .nav-drop details > summary::marker { content: ""; }
.site-header .nav-drop details.is-current > summary,
.site-header .nav-drop details[open] > summary,
.site-header .nav-drop details:hover > summary { color: var(--gold); }
.nav-drop-menu {
  display: none;
  list-style: none;
  margin: 0;
  padding: .35rem 0 .45rem;
  background: rgba(11,11,11,.98);
  border: 1px solid var(--line);
  min-width: 12rem;
  z-index: 120;
}
.site-header .nav-drop-menu a {
  display: block;
  padding: .55rem .95rem;
  white-space: nowrap;
  letter-spacing: .08em;
  font-size: .68rem;
}
@media (min-width: 981px) {
  .nav-drop-menu {
    position: absolute;
    top: 100%;
    left: 0;
  }
  .nav-drop details:hover > .nav-drop-menu,
  .nav-drop details:focus-within > .nav-drop-menu,
  .nav-drop details[open] > .nav-drop-menu { display: block; }
}
@media (max-width: 980px) {
  .site-header .nav-drop details > summary {
    display: block;
    padding: .75rem 0;
    font-size: .9rem;
    letter-spacing: .12em;
  }
  .site-header .nav-drop-menu {
    position: static;
    display: none;
    border: 0;
    border-left: 1px solid var(--line);
    background: transparent;
    margin: 0 0 .25rem .15rem;
    padding: 0 0 .15rem .85rem;
    min-width: 0;
  }
  .site-header .nav-drop details[open] > .nav-drop-menu { display: block; }
  .site-header .nav-drop-menu a {
    white-space: normal;
    padding: .55rem 0;
    font-size: .9rem;
  }
}

@media (max-width: 980px) {
  /* Expanded Sistema must scroll in one column, not wrap over the other links */
  .site-header .nav-links {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    overflow-x: hidden;
    overflow-y: auto;
    max-height: calc(100vh - var(--nav-h));
    max-height: calc(100dvh - var(--nav-h));
  }
  .site-header .nav-links > li { width: 100%; max-width: 100%; }
}

/* Published share — one or two bars, no chart library */
.share-note { margin-top: .85rem; max-width: 34rem; }
.share-row {
  display: grid;
  grid-template-columns: minmax(6.2rem, 10.5rem) 1fr auto;
  gap: .3rem .65rem;
  align-items: center;
  margin: .28rem 0;
  font-size: .78rem;
  line-height: 1.3;
  color: var(--muted);
}
.share-track {
  height: 7px;
  background: rgba(255,255,255,.10);
  border-radius: 99px;
  overflow: hidden;
}
.share-fill {
  display: block;
  height: 100%;
  background: var(--gold);
  border-radius: 99px;
}
.source-line {
  display: block;
  margin-top: .55rem;
  max-width: 36rem;
  font-family: var(--mono);
  font-size: .68rem;
  line-height: 1.45;
  letter-spacing: .01em;
  color: var(--muted);
}

.scale-card { margin: 0; padding: 1.25rem 1.4rem; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.12); }
.scale-card figcaption { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); margin-bottom: .9rem; }
.scale-track { height: 18px; border-radius: 99px; }
.ph-track { background: linear-gradient(90deg, #c45c4a 0%, #e0a15a 28%, #d6d2a8 50%, #7f9a62 72%, #3d6b8a 100%); }
.redox-track { background: linear-gradient(90deg, #3d6b8a 0%, #d6d2a8 50%, #c45c4a 100%); }
.scale-labels { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .5rem; margin-top: .55rem; font-size: .95rem; }
.scale-labels span:first-child { text-align: left; }
.scale-labels span:nth-child(2) { text-align: center; justify-self: center; }
.scale-labels span:last-child { text-align: right; }
.story-media:has(.scale-card) { display: flex; align-items: center; justify-content: center; padding: clamp(1.25rem, 4vw, 2.5rem); }
.story-media .scale-card { width: min(100%, 26rem); }
.scale-note { margin: .7rem 0 0; font-size: .9rem; opacity: .8; }

/* Slogan de inicio: entre el cartel y la línea fina */
.page-home .cinema-headline {
  font-size: clamp(2.15rem, 5.4vw, 3.9rem);
  font-weight: 600;
  line-height: 1.05;
  letter-spacing: -.015em;
  text-transform: none;
  max-width: 14em;
}

/* ===== Biofábrica: círculos, toroide, espiral Fibonacci (solo .page-biofab) ===== */
.page-biofab .feature-row { border-radius: 2.5rem; align-items: center; }
.page-biofab .feature-media { min-height: 0; aspect-ratio: 1; margin: clamp(1rem, 3vw, 2rem); border-radius: 50%; overflow: hidden; border: 1px solid rgba(201,162,39,.35); }
.page-biofab .deep-block { border-radius: 2.5rem; position: relative; overflow: hidden; }
.page-biofab .deep-block::before { content: ""; position: absolute; width: 22rem; height: 22rem; right: -7rem; top: -7rem; border-radius: 50%; border: 1px solid rgba(201,162,39,.18); box-shadow: 0 0 0 3.4rem rgba(201,162,39,.03), 0 0 0 5.5rem rgba(201,162,39,.02); pointer-events: none; }
.page-biofab .deep-block > * { position: relative; }
.page-biofab .bio-cycle-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 2rem; align-items: center; }
.page-biofab .bio-torus { margin: 0; }
.page-biofab .bio-torus-svg, .page-biofab .bio-spiral-svg { width: 100%; height: auto; display: block; overflow: visible; }
.page-biofab .bt-ring circle { fill: none; stroke: rgba(201,162,39,.28); stroke-width: 1; }
.page-biofab .bt-ring { transform-box: view-box; transform-origin: 300px 220px; animation: bioSpin 90s linear infinite; }
.page-biofab .bt-flow path { fill: none; stroke: var(--gold); stroke-width: 1.6; stroke-dasharray: 5 6; }
.page-biofab #btArrow path { fill: var(--gold); }
.page-biofab .bt-node circle { fill: #111; stroke: var(--gold); stroke-width: 1.4; }
.page-biofab .bt-node text { fill: var(--ink); font-size: 14px; font-weight: 700; letter-spacing: .04em; }
.page-biofab .bt-center { fill: var(--gold); font-size: 17px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.page-biofab .bio-spiral { margin: 1.2rem auto 2.4rem; width: min(100%, 34rem); }
.page-biofab .bio-spiral-note { max-width: 40rem; }
.page-biofab .bs-path { fill: none; stroke: rgba(201,162,39,.55); stroke-width: 1.5; }
.page-biofab .bs-step circle { fill: rgba(201,162,39,.08); stroke: var(--gold); stroke-width: 1.3; }
.page-biofab .bs-num { fill: var(--gold); font-family: var(--mono, monospace); font-weight: 700; }
.page-biofab .bio-orbit { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.2rem 1.6rem; margin-top: 1rem; }
.page-biofab .bio-node {
  width: clamp(16rem, 28vw, 21rem); aspect-ratio: 1; min-height: 0;
  border-radius: 50%; border: 1px solid rgba(201,162,39,.35);
  background: radial-gradient(circle at 50% 38%, #1a1a1a 0%, var(--bg-2) 62%, #080808 100%);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: 2.4rem 2.1rem; transition: border-color .3s ease;
}
.page-biofab .bio-node:hover { border-color: rgba(201,162,39,.7); }
.page-biofab .bio-node .cinema-step-num { color: var(--gold); font-size: 1.3rem; margin-bottom: .35rem; }
.page-biofab .bio-node h3 { margin: 0 0 .45rem; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.page-biofab .bio-node p { margin: 0; font-size: .84rem; line-height: 1.45; }
@media (min-width: 900px) {
  .page-biofab .bio-orbit { row-gap: 3rem; }
  .page-biofab .bio-node:nth-child(even) { transform: translateY(2.2rem); }
}
@media (max-width: 860px) {
  .page-biofab .bio-cycle-grid { grid-template-columns: 1fr; }
  .page-biofab .feature-media { width: min(70%, 18rem); margin: 1.5rem auto 0; }
}
@media (max-width: 640px) {
  .page-biofab .bio-orbit { flex-direction: column; align-items: center; }
  .page-biofab .bio-node { width: min(100%, 21rem); padding: 2rem 1.45rem; }
  .page-biofab .bio-node p { font-size: .8rem; line-height: 1.4; }
  .page-biofab .feature-row, .page-biofab .deep-block { border-radius: 1.6rem; }
}
@keyframes bioSpin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .page-biofab .bt-ring { animation: none; } }

/* ===== Método: camino-raíz con nodos y fichas cromatograma (solo .page-metodo) ===== */
.page-metodo .metodo-steps { position: relative; overflow: hidden; }
.page-metodo .metodo-steps::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(ellipse 60% 40% at 50% 55%, rgba(201,162,39,.07), transparent 70%);
}
.page-metodo .metodo-steps .wrap { position: relative; }
.page-metodo .metodo-path {
  position: relative; display: grid; grid-template-columns: 1fr 1fr; column-gap: 8rem;
  grid-auto-rows: minmax(7.4rem, auto);
  margin-top: 2.6rem; padding: 1rem 0 2rem;
}
.page-metodo .mt-river {
  position: absolute; left: 50%; top: 0; width: 6rem; height: 100%; transform: translateX(-50%);
  overflow: visible; pointer-events: none;
}
.page-metodo .mt-river-main { fill: none; stroke: rgba(201,162,39,.55); stroke-width: 1.6; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.page-metodo .mt-river-root { fill: none; stroke: rgba(201,162,39,.22); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.page-metodo .metodo-step {
  position: relative; background: none; border: 0; padding: 0; overflow: visible; margin: 0 0 1.4rem;
}
.page-metodo .metodo-step:hover { background: none; }
.page-metodo .metodo-step:nth-of-type(1) { grid-column: 1; grid-row: 1 / 3; }
.page-metodo .metodo-step:nth-of-type(2) { grid-column: 2; grid-row: 2 / 4; }
.page-metodo .metodo-step:nth-of-type(3) { grid-column: 1; grid-row: 3 / 5; }
.page-metodo .metodo-step:nth-of-type(4) { grid-column: 2; grid-row: 4 / 6; }
.page-metodo .metodo-step:nth-of-type(5) { grid-column: 1; grid-row: 5 / 7; }
.page-metodo .metodo-step:nth-of-type(6) { grid-column: 2; grid-row: 6 / 8; }
.page-metodo .metodo-step .cinema-step-num {
  position: absolute; top: .4rem; right: -6.85rem; z-index: 2;
  width: 5.7rem; height: 5.7rem; margin: 0; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif;
  font-size: 2.15rem; font-weight: 200; letter-spacing: .02em; color: #f1d77a;
  background: radial-gradient(circle at 35% 30%, #2a2312 0%, #12100a 60%, #070605 100%);
  border: 1px solid rgba(201,162,39,.6);
  box-shadow: 0 0 0 .45rem rgba(5,5,5,1), 0 0 0 .55rem rgba(201,162,39,.2), 0 0 2.2rem rgba(201,162,39,.16);
}
.page-metodo .metodo-step:nth-of-type(even) .cinema-step-num { right: auto; left: -6.85rem; }
.page-metodo .metodo-step-body {
  position: relative; padding: 1.7rem 1.8rem 1.6rem;
  background:
    radial-gradient(circle at 100% 0%, rgba(201,162,39,.14), transparent 55%),
    linear-gradient(160deg, #151410 0%, #0d0d0c 70%);
  border: 1px solid rgba(201,162,39,.22);
  border-radius: 2.6rem .7rem 2.6rem 2.6rem;
  transition: transform .4s ease, border-color .4s ease, box-shadow .4s ease;
}
.page-metodo .metodo-step:nth-of-type(even) .metodo-step-body {
  border-radius: .7rem 2.6rem 2.6rem 2.6rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(201,162,39,.14), transparent 55%),
    linear-gradient(200deg, #151410 0%, #0d0d0c 70%);
}
.page-metodo .metodo-step-body::after {
  content: ""; position: absolute; top: 3.2rem; right: -1.05rem; width: 1.05rem; height: 1px;
  background: rgba(201,162,39,.5);
}
.page-metodo .metodo-step:nth-of-type(even) .metodo-step-body::after { right: auto; left: -1.05rem; }
.page-metodo .metodo-step:hover .metodo-step-body {
  transform: translateY(-4px); border-color: rgba(201,162,39,.55);
  box-shadow: 0 1.2rem 2.4rem rgba(0,0,0,.45), 0 0 1.6rem rgba(201,162,39,.08);
}
.page-metodo .metodo-step h3 { color: #f1d77a; margin-bottom: .6rem; }
.page-metodo .metodo-step p { margin: 0; color: #b4b2a8; }

/* Artículos: fondo cromatograma + ficha orgánica con emblema */
.page-metodo .metodo-deep { position: relative; overflow: hidden; }
.page-metodo .metodo-deep::before {
  content: ""; position: absolute; width: 62rem; height: 62rem; right: -22rem; top: -10rem;
  border-radius: 50%; pointer-events: none; opacity: .5;
  background:
    repeating-conic-gradient(from 0deg, rgba(201,162,39,.06) 0deg 1.2deg, transparent 1.2deg 7.5deg),
    repeating-radial-gradient(circle, transparent 0 46px, rgba(201,162,39,.08) 47px 48px, transparent 49px 92px);
  -webkit-mask: radial-gradient(circle, #000 0 30%, rgba(0,0,0,.6) 48%, transparent 70%);
          mask: radial-gradient(circle, #000 0 30%, rgba(0,0,0,.6) 48%, transparent 70%);
}
.page-metodo .metodo-deep .wrap { position: relative; }
.page-metodo .metodo-deep-card {
  display: grid; grid-template-columns: 10rem 1fr; gap: 2.2rem; align-items: start;
  margin-top: 2.6rem; padding: clamp(1.8rem, 3.4vw, 2.8rem);
  background:
    radial-gradient(circle at 0% 0%, rgba(201,162,39,.10), transparent 40%),
    linear-gradient(170deg, rgba(22,20,14,.94), rgba(10,10,9,.96));
  border: 1px solid rgba(201,162,39,.22);
  border-radius: 4.5rem 1.2rem 4.5rem 1.2rem;
  transition: border-color .4s ease, box-shadow .4s ease;
}
.page-metodo .metodo-deep-card:nth-of-type(2) { border-radius: 1.2rem 4.5rem 1.2rem 4.5rem; }
.page-metodo .metodo-deep-card:hover { border-color: rgba(201,162,39,.45); box-shadow: 0 1.4rem 3rem rgba(0,0,0,.5); }
.page-metodo .metodo-emblem { position: sticky; top: calc(var(--nav-h) + 1.5rem); width: 10rem; aspect-ratio: 1; }
.page-metodo .mt-emblem-svg { width: 100%; height: 100%; display: block; overflow: visible; transition: transform 1.6s ease; }
.page-metodo .metodo-deep-card:hover .mt-emblem-svg { transform: rotate(24deg); }
.page-metodo .mt-e-halo { fill: rgba(201,162,39,.05); stroke: rgba(201,162,39,.35); stroke-width: 1; }
.page-metodo .mt-e-spikes { fill: none; stroke: rgba(201,162,39,.55); stroke-width: 1; stroke-linecap: round; }
.page-metodo .mt-e-r1 { fill: none; stroke: rgba(201,162,39,.3); stroke-width: 1; stroke-dasharray: 2 4; }
.page-metodo .mt-e-r2 { fill: none; stroke: rgba(201,162,39,.45); stroke-width: 1.2; }
.page-metodo .mt-e-r3 { fill: rgba(138,115,32,.22); stroke: rgba(201,162,39,.7); stroke-width: 1.2; }
.page-metodo .mt-e-r4 { fill: rgba(5,5,5,.8); stroke: rgba(201,162,39,.5); stroke-width: 1; }
.page-metodo .mt-e-leaf { fill: rgba(138,115,32,.18); stroke: rgba(201,162,39,.7); stroke-width: 1.3; }
.page-metodo .mt-e-core { fill: var(--gold); }
.page-metodo .metodo-deep-body { min-width: 0; }
.page-metodo .metodo-deep-body > .badge { margin-bottom: .9rem; }

@media (max-width: 860px) {
  .page-metodo .metodo-path { grid-template-columns: 1fr; grid-auto-rows: auto; column-gap: 0; padding-left: 4.6rem; margin-top: 1.8rem; }
  .page-metodo .mt-river { left: 1.85rem; width: 2.4rem; }
  .page-metodo .metodo-step:nth-of-type(n) { grid-column: 1; grid-row: auto; margin-bottom: 1.6rem; }
  .page-metodo .metodo-step:nth-of-type(n) .cinema-step-num {
    left: -4.6rem; right: auto; top: .5rem; width: 3.7rem; height: 3.7rem; font-size: 1.45rem;
    box-shadow: 0 0 0 .3rem rgba(5,5,5,1), 0 0 0 .38rem rgba(201,162,39,.2);
  }
  .page-metodo .metodo-step:nth-of-type(n) .metodo-step-body { border-radius: .7rem 2rem 2rem 2rem; padding: 1.4rem 1.3rem; }
  .page-metodo .metodo-step:nth-of-type(n) .metodo-step-body::after { left: -.9rem; right: auto; width: .9rem; top: 2.35rem; }
  .page-metodo .metodo-deep-card, .page-metodo .metodo-deep-card:nth-of-type(2) {
    grid-template-columns: 1fr; gap: 1.2rem; border-radius: 2.6rem .9rem 2.6rem .9rem;
  }
  .page-metodo .metodo-emblem { position: relative; top: 0; width: 6.5rem; }
  .page-metodo .metodo-deep-card { padding: 1.6rem 1.35rem; }
  .page-metodo .metodo-deep::before { width: 34rem; height: 34rem; right: -16rem; top: -6rem; }
}
@media (max-width: 420px) {
  .page-metodo .metodo-path { padding-left: 3.9rem; }
  .page-metodo .mt-river { left: 1.55rem; }
  .page-metodo .metodo-step:nth-of-type(n) .cinema-step-num { left: -3.9rem; width: 3.1rem; height: 3.1rem; font-size: 1.2rem; }
  .page-metodo .metodo-step:nth-of-type(n) .metodo-step-body::after { left: -.8rem; width: .8rem; top: 2.05rem; }
}
@media (prefers-reduced-motion: reduce) {
  .page-metodo .metodo-step-body, .page-metodo .mt-emblem-svg, .page-metodo .metodo-deep-card { transition: none; }
  .page-metodo .metodo-step:hover .metodo-step-body { transform: none; }
  .page-metodo .metodo-deep-card:hover .mt-emblem-svg { transform: none; }
}

/* ===== Formación: mosaico de hojas/semillas con icono y banda por formato (solo .page-formacion) ===== */
.page-formacion .formacion-mosaic {
  --fm-c: 201,162,39;
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem 1.5rem; align-items: start;
  padding-bottom: 3rem;
}
.page-formacion .formacion-card[data-kind="campo"]       { --fm-c: 130,160,74; }
.page-formacion .formacion-card[data-kind="encuentro"]   { --fm-c: 196,120,78; }
.page-formacion .formacion-card[data-kind="taller"]      { --fm-c: 168,150,90; }
.page-formacion .formacion-card[data-kind="evento"]      { --fm-c: 201,162,39; }
.page-formacion .formacion-card[data-kind="curso"]       { --fm-c: 98,160,160; }
.page-formacion .formacion-card[data-kind="red"]         { --fm-c: 150,170,110; }
.page-formacion .formacion-card[data-kind="publicacion"] { --fm-c: 214,200,160; }
.page-formacion .formacion-card[data-kind="jornada"]     { --fm-c: 222,170,80; }
.page-formacion .formacion-card[data-kind="cooperacion"] { --fm-c: 120,168,140; }
.page-formacion .formacion-card {
  position: relative; overflow: hidden;
  padding: 1.6rem 1.6rem 1.75rem;
  border: 1px solid rgba(var(--fm-c), .28);
  border-radius: 3.4rem .5rem 3.4rem .5rem;
  background:
    linear-gradient(180deg, rgba(var(--fm-c), .16) 0, rgba(var(--fm-c), .05) 6.2rem, transparent 6.3rem),
    radial-gradient(circle at 100% 100%, rgba(var(--fm-c), .07), transparent 55%),
    #0e0e0d;
  transition: transform .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.page-formacion .formacion-card:nth-child(even) { border-radius: .5rem 3.4rem .5rem 3.4rem; }
.page-formacion .formacion-card:nth-child(3n+2) { margin-top: 3.2rem; }
.page-formacion .formacion-card:nth-child(3n) { margin-top: 1.4rem; }
.page-formacion .formacion-card::after {
  content: ""; position: absolute; right: -3.5rem; bottom: -3.5rem; width: 9rem; height: 9rem; border-radius: 50%;
  border: 1px solid rgba(var(--fm-c), .14); box-shadow: 0 0 0 1.2rem rgba(var(--fm-c), .03); pointer-events: none;
}
.page-formacion .formacion-card:hover {
  background:
    linear-gradient(180deg, rgba(var(--fm-c), .22) 0, rgba(var(--fm-c), .07) 6.2rem, transparent 6.3rem),
    radial-gradient(circle at 100% 100%, rgba(var(--fm-c), .1), transparent 55%),
    #121211;
  border-color: rgba(var(--fm-c), .6);
  transform: translateY(-5px);
  box-shadow: 0 1.2rem 2.6rem rgba(0,0,0,.5);
}
.page-formacion .fm-head { display: flex; align-items: center; justify-content: space-between; height: 3.6rem; margin-bottom: 1.3rem; }
.page-formacion .fm-icon {
  width: 3.6rem; height: 3.6rem; display: grid; place-items: center; border-radius: 50% 50% 50% .4rem;
  background: rgba(5,5,5,.55); border: 1px solid rgba(var(--fm-c), .45);
}
.page-formacion .formacion-card:nth-child(even) .fm-icon { border-radius: 50% 50% .4rem 50%; }
.page-formacion .fm-icon svg {
  width: 2.3rem; height: 2.3rem; stroke: rgb(var(--fm-c)); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round;
  transition: transform .6s ease;
}
.page-formacion .formacion-card:hover .fm-icon svg { transform: rotate(-8deg) scale(1.06); }
.page-formacion .fm-num {
  font-family: "Segoe UI", system-ui, -apple-system, sans-serif; font-size: 2.6rem; font-weight: 200; line-height: 1;
  color: transparent; -webkit-text-stroke: 1px rgba(var(--fm-c), .75); letter-spacing: .02em;
}
.page-formacion .formacion-card h3 { color: #f4f0e2; position: relative; padding-left: .85rem; }
.page-formacion .formacion-card h3::before {
  content: ""; position: absolute; left: 0; top: .15em; bottom: .15em; width: 3px; border-radius: 3px; background: rgb(var(--fm-c));
}
.page-formacion .formacion-card p { color: #b2b0a6; position: relative; }
@media (max-width: 980px) {
  .page-formacion .formacion-mosaic { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-formacion .formacion-card:nth-child(n) { margin-top: 0; }
  .page-formacion .formacion-card:nth-child(even) { margin-top: 2.4rem; }
}
@media (max-width: 640px) {
  .page-formacion .formacion-mosaic { grid-template-columns: 1fr; gap: 1.2rem; }
  .page-formacion .formacion-card:nth-child(n) { margin-top: 0; padding: 1.4rem 1.3rem 1.5rem; }
  .page-formacion .formacion-card { border-radius: 2.4rem .5rem 2.4rem .5rem; }
  .page-formacion .formacion-card:nth-child(even) { border-radius: .5rem 2.4rem .5rem 2.4rem; }
  .page-formacion .fm-num { font-size: 2.1rem; }
  .page-formacion .formacion-card p { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .page-formacion .formacion-card, .page-formacion .fm-icon svg { transition: none; }
  .page-formacion .formacion-card:hover { transform: none; }
  .page-formacion .formacion-card:hover .fm-icon svg { transform: none; }
}
@media (min-width: 981px) { .page-formacion .formacion-card:last-child:nth-child(3n+1) { grid-column: 2; } }

/* ===== Formación: bloque «Próximamente · GaudíLab» (hoja ancha, misma familia que el mosaico) ===== */
.page-formacion .formacion-soon-band { padding-top: 0; }
.page-formacion .formacion-soon {
  --fm-c: 196,150,80;
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(0, 18rem) minmax(0, 1fr); gap: 2.2rem; align-items: center;
  max-width: 62rem; margin: 0 auto;
  padding: 2.2rem 2.4rem;
  border: 1px solid rgba(var(--fm-c), .34);
  border-radius: 4.2rem .6rem 4.2rem .6rem;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--fm-c), .14), transparent 55%),
    radial-gradient(circle at 100% 100%, rgba(var(--fm-c), .08), transparent 50%),
    #0e0e0d;
}
.page-formacion .formacion-soon::after {
  content: ""; position: absolute; right: -4rem; bottom: -4rem; width: 11rem; height: 11rem; border-radius: 50%;
  border: 1px solid rgba(var(--fm-c), .16); box-shadow: 0 0 0 1.4rem rgba(var(--fm-c), .035); pointer-events: none;
}
.page-formacion .fs-logo {
  display: grid; place-items: center; padding: 1.4rem 1.2rem;
  background: #f4efe2; border-radius: 50% 50% 50% .6rem / 60% 60% 40% .6rem;
  box-shadow: 0 0 0 1px rgba(var(--fm-c), .4), 0 0 0 .7rem rgba(var(--fm-c), .06);
}
.page-formacion .fs-logo img { width: 100%; max-width: 15rem; height: auto; display: block; }
.page-formacion .fs-body { position: relative; z-index: 1; }
.page-formacion .fs-body .badge { margin-bottom: .6rem; }
.page-formacion .fs-body h2 { color: #f4f0e2; margin: .2rem 0 .7rem; position: relative; padding-left: .9rem; }
.page-formacion .fs-body h2::before {
  content: ""; position: absolute; left: 0; top: .18em; bottom: .18em; width: 3px; border-radius: 3px; background: rgb(var(--fm-c));
}
.page-formacion .fs-body p { color: #c2bfb4; max-width: 38rem; }
@media (max-width: 760px) {
  .page-formacion .formacion-soon { grid-template-columns: 1fr; gap: 1.4rem; padding: 1.6rem 1.4rem 1.7rem; border-radius: 2.6rem .5rem 2.6rem .5rem; }
  .page-formacion .fs-logo { max-width: 16rem; }
}

/* ===== Casos: agradecimiento (solo .page-casos) ===== */
.page-casos .casos-gracias {
  text-align: center;
  background: radial-gradient(ellipse 55% 70% at 50% 40%, rgba(201,162,39,.10), transparent 70%);
}
.page-casos .casos-gracias .wrap { max-width: 44rem; }
.page-casos .casos-gracias-icon { display: block; width: 3.4rem; height: 3.4rem; margin: 0 auto 1rem; stroke: var(--gold); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.page-casos .casos-gracias h2 { margin-bottom: 1rem; }
.page-casos .casos-gracias p { margin: 0 auto; font-size: 1.05rem; line-height: 1.65; }
.page-casos .casos-gracias .casos-gracias-collab { margin-top: .9rem; color: var(--ink); }

/* ===== Casos: fichas de campo con marco orgánico, pin, curvas de nivel y mosaico (solo .page-casos) ===== */
.page-casos .casos-list { position: relative; background-color: var(--bg); background-image: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="900" height="700" viewBox="0 0 900 700"%3E%3Cg fill="none" stroke="%23c9a227" stroke-opacity=".09" stroke-width="1"%3E%3Cpath d="M228 190 L231 195 L232 200 L230 205 L225 209 L219 212 L213 214 L207 216 L201 217 L196 219 L191 221 L186 222 L180 222 L174 221 L169 220 L164 219 L158 218 L152 217 L145 216 L139 214 L133 210 L130 205 L130 200 L132 195 L136 190 L140 186 L144 183 L145 179 L146 175 L146 171 L148 166 L151 162 L155 158 L161 156 L167 155 L174 154 L180 154 L186 154 L193 155 L199 156 L204 159 L208 163 L210 168 L211 172 L213 176 L215 179 L218 182 L223 186Z"/%3E%3Cpath d="M268 190 L273 199 L273 208 L267 217 L258 223 L247 228 L236 232 L226 235 L217 238 L209 241 L200 244 L190 246 L180 246 L170 245 L161 243 L151 242 L140 241 L129 239 L117 237 L105 232 L97 226 L93 217 L94 207 L99 198 L106 190 L112 183 L116 177 L118 171 L118 163 L119 155 L122 147 L128 140 L136 134 L147 130 L158 128 L169 127 L180 126 L191 126 L203 128 L213 131 L221 137 L227 144 L231 152 L234 159 L237 166 L243 171 L251 176 L260 182Z"/%3E%3Cpath d="M310 190 L315 203 L313 216 L303 228 L289 237 L274 243 L259 249 L246 254 L234 259 L221 264 L208 268 L194 270 L180 270 L166 269 L152 267 L138 266 L122 265 L104 263 L87 259 L71 252 L61 241 L58 227 L61 214 L69 201 L78 190 L85 181 L88 172 L88 162 L88 151 L89 139 L95 127 L104 117 L118 110 L132 105 L148 102 L164 100 L180 98 L196 98 L212 101 L227 107 L238 116 L246 127 L251 137 L256 147 L262 155 L272 162 L286 169 L299 178Z"/%3E%3Cpath d="M354 190 L357 207 L351 224 L336 238 L318 249 L299 257 L281 265 L265 272 L250 280 L234 287 L217 292 L198 294 L180 294 L162 292 L143 291 L124 291 L102 290 L79 288 L56 282 L38 271 L27 255 L26 237 L32 219 L42 203 L52 190 L58 178 L59 166 L57 152 L56 137 L59 121 L67 106 L81 95 L99 86 L118 80 L139 75 L159 72 L180 70 L201 70 L222 75 L239 84 L253 96 L263 110 L270 123 L278 134 L289 143 L305 152 L324 161 L342 174Z"/%3E%3Cpath d="M398 190 L398 211 L387 231 L368 248 L345 260 L323 271 L303 281 L285 291 L267 301 L247 310 L225 315 L203 317 L180 317 L158 316 L134 316 L109 317 L81 317 L52 314 L25 305 L5 289 L-4 269 L-3 246 L5 225 L17 206 L26 190 L29 175 L27 160 L23 142 L22 122 L27 103 L40 86 L58 72 L80 62 L104 55 L129 49 L154 44 L180 41 L206 43 L231 50 L251 62 L267 78 L279 95 L288 110 L301 121 L318 131 L341 141 L365 153 L386 170Z"/%3E%3Cpath d="M442 190 L437 215 L420 238 L396 256 L371 271 L347 285 L325 298 L305 311 L284 323 L260 332 L234 338 L207 341 L180 341 L153 341 L125 343 L93 346 L59 346 L24 340 L-6 327 L-25 307 L-33 281 L-29 254 L-18 229 L-7 208 L-1 190 L-2 172 L-7 153 L-13 131 L-13 107 L-5 85 L12 66 L35 50 L62 39 L90 29 L119 21 L149 15 L180 13 L211 16 L239 26 L262 43 L280 62 L294 80 L308 96 L326 107 L351 117 L380 129 L409 144 L432 165Z"/%3E%3Cpath d="M483 190 L473 219 L451 244 L423 265 L395 282 L370 298 L348 314 L325 330 L300 344 L272 355 L242 361 L211 364 L180 365 L148 368 L114 372 L76 376 L35 375 L-3 367 L-35 349 L-53 323 L-58 292 L-52 261 L-40 234 L-31 211 L-30 190 L-35 169 L-44 145 L-51 119 L-49 92 L-37 67 L-15 46 L13 29 L44 15 L76 4 L109 -6 L144 -13 L180 -15 L215 -9 L247 5 L272 25 L292 46 L309 66 L328 80 L353 91 L386 102 L422 116 L455 135 L477 161Z"/%3E%3Cpath d="M522 190 L506 222 L479 249 L449 273 L420 293 L395 312 L371 332 L346 350 L317 366 L284 377 L250 383 L215 387 L180 391 L143 396 L103 403 L58 408 L12 406 L-30 393 L-62 369 L-78 337 L-80 301 L-72 267 L-61 238 L-57 213 L-61 190 L-72 165 L-84 138 L-90 107 L-85 77 L-68 49 L-41 26 L-9 7 L25 -8 L61 -22 L99 -34 L139 -41 L180 -41 L219 -32 L254 -14 L281 9 L303 32 L325 50 L351 64 L384 74 L425 85 L467 102 L502 126 L521 157Z"/%3E%3Cpath d="M774 520 L771 525 L767 529 L762 533 L758 536 L754 539 L750 542 L746 545 L742 548 L736 549 L731 550 L726 551 L720 552 L714 553 L708 554 L701 555 L693 554 L687 552 L682 548 L680 543 L679 537 L681 532 L682 527 L683 524 L682 520 L680 516 L678 512 L677 507 L678 502 L681 498 L685 494 L690 491 L696 489 L701 487 L707 485 L714 484 L720 484 L726 485 L732 488 L736 492 L739 495 L743 498 L747 500 L752 502 L759 503 L766 506 L771 510 L774 515Z"/%3E%3Cpath d="M813 520 L808 529 L800 536 L793 542 L786 548 L780 554 L773 560 L766 565 L758 569 L749 572 L739 573 L730 575 L720 577 L709 579 L698 582 L685 583 L672 581 L662 576 L654 569 L651 559 L652 549 L654 540 L655 533 L654 526 L651 520 L647 513 L644 505 L643 496 L645 488 L651 481 L659 475 L668 469 L677 465 L687 461 L697 457 L709 456 L720 457 L731 460 L740 466 L747 472 L753 477 L760 481 L769 484 L780 486 L792 489 L803 494 L812 502 L815 511Z"/%3E%3Cpath d="M851 520 L842 532 L832 542 L822 551 L813 560 L806 569 L797 577 L786 584 L774 590 L761 594 L748 596 L734 599 L720 603 L704 607 L687 611 L669 612 L651 608 L637 600 L629 588 L625 574 L626 560 L628 548 L628 538 L625 529 L619 520 L612 509 L607 498 L607 485 L612 474 L621 464 L633 455 L645 448 L658 441 L672 435 L688 430 L704 429 L720 431 L735 437 L747 445 L758 453 L767 459 L779 464 L793 466 L810 469 L827 474 L843 482 L852 494 L855 507Z"/%3E%3Cpath d="M886 520 L874 535 L862 548 L851 560 L841 572 L832 584 L820 594 L806 603 L790 610 L773 615 L756 620 L739 625 L720 631 L699 637 L676 642 L652 641 L630 635 L614 622 L605 605 L602 587 L603 570 L604 556 L601 544 L593 532 L583 520 L575 506 L570 490 L572 475 L580 460 L592 447 L607 436 L622 426 L639 416 L658 408 L678 403 L699 403 L720 407 L739 415 L754 425 L768 435 L782 441 L798 445 L819 447 L842 451 L865 458 L883 470 L893 486 L893 503Z"/%3E%3Cpath d="M919 520 L905 538 L892 554 L880 569 L870 584 L858 599 L844 612 L826 622 L806 631 L785 637 L765 644 L743 651 L720 661 L694 669 L664 673 L636 671 L611 660 L593 643 L584 621 L581 599 L581 579 L579 563 L571 549 L559 536 L546 520 L536 502 L532 483 L536 464 L547 446 L563 431 L580 417 L599 404 L620 392 L643 382 L668 377 L695 378 L720 385 L742 395 L761 407 L778 416 L797 421 L820 424 L847 426 L877 431 L904 441 L923 458 L931 478 L929 500Z"/%3E%3Cpath d="M949 520 L934 541 L921 560 L910 578 L899 596 L885 614 L867 629 L846 641 L822 651 L798 659 L774 669 L748 680 L720 692 L688 702 L653 706 L619 700 L592 684 L574 661 L565 635 L562 610 L560 589 L553 571 L540 556 L523 539 L506 520 L495 498 L493 475 L501 453 L515 432 L534 414 L554 397 L576 381 L600 367 L628 356 L659 352 L691 355 L720 364 L745 377 L767 389 L789 397 L814 400 L844 401 L878 403 L913 410 L943 425 L962 446 L968 471 L962 496Z"/%3E%3Cpath d="M978 520 L963 544 L951 566 L940 588 L928 609 L911 629 L890 646 L865 660 L838 671 L811 682 L784 696 L754 711 L720 726 L682 736 L641 737 L604 727 L576 705 L558 677 L549 647 L544 620 L537 598 L525 580 L505 563 L484 543 L465 520 L455 494 L456 468 L466 442 L484 419 L504 397 L527 377 L552 358 L581 342 L614 331 L651 329 L687 334 L720 346 L749 360 L774 370 L801 376 L832 376 L870 375 L911 378 L951 389 L982 408 L999 435 L1001 464 L992 493Z"/%3E%3Cpath d="M1006 520 L993 547 L982 572 L971 597 L957 621 L937 644 L912 662 L883 678 L854 692 L824 707 L794 725 L760 744 L720 761 L675 770 L630 768 L591 751 L561 724 L543 691 L533 658 L526 630 L513 608 L494 589 L468 570 L442 547 L423 520 L415 490 L418 460 L432 432 L452 405 L475 381 L500 357 L528 335 L562 318 L601 308 L643 307 L684 316 L720 329 L752 342 L781 350 L814 352 L853 350 L898 348 L946 353 L988 367 L1019 392 L1033 424 L1032 458 L1021 491Z"/%3E%3C/g%3E%3C/svg%3E'); background-size: 900px 700px; background-repeat: repeat; }
.page-casos .casos-list .wrap { position: relative; }
.page-casos .casos-fields { grid-template-columns: 1fr; gap: 2.6rem; margin-top: 1.6rem; }
.page-casos .case-field {
  display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  grid-template-areas: "media body" "gallery gallery";
  gap: 1.4rem 2.4rem; align-items: center;
  padding: 1.4rem; overflow: visible;
  background: linear-gradient(135deg, rgba(20,19,15,.92), rgba(9,9,8,.94));
  border: 1px solid rgba(201,162,39,.18);
  border-radius: 1.4rem 3.6rem 1.4rem 3.6rem;
  transition: border-color .4s ease, box-shadow .4s ease;
}
.page-casos .case-field:nth-child(even) { grid-template-areas: "body media" "gallery gallery"; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); border-radius: 3.6rem 1.4rem 3.6rem 1.4rem; }
.page-casos .case-field:hover { background: linear-gradient(135deg, rgba(26,24,17,.95), rgba(11,11,10,.96)); border-color: rgba(201,162,39,.42); box-shadow: 0 1.4rem 3rem rgba(0,0,0,.5); }
.page-casos .case-field > .card-media {
  grid-area: media; margin: 0 !important; max-height: none; aspect-ratio: 4/3; height: auto; width: 100%; min-width: 0; align-self: center;
  border-radius: 5.5rem 1.4rem 6.5rem 2.2rem / 4.5rem 1.4rem 5.5rem 2.2rem;
  overflow: hidden; border: 1px solid rgba(201,162,39,.3);
  box-shadow: 0 0 0 .5rem rgba(201,162,39,.04);
  transition: border-radius 1.2s ease;
}
.page-casos .case-field > .card-media img,
.page-casos .case-field > .card-media video { width: 100%; height: 100%; max-height: none; object-fit: cover; }
.page-casos .case-field:nth-child(even) > .card-media { border-radius: 1.4rem 5.5rem 2.2rem 6.5rem / 1.4rem 4.5rem 2.2rem 5.5rem; }
.page-casos .case-field:hover > .card-media { border-radius: 4rem 2.6rem 5rem 3rem; }
.page-casos .case-body { grid-area: body; min-width: 0; padding: .4rem .6rem; }
.page-casos .case-tags { display: flex; flex-wrap: wrap; gap: .45rem .55rem; margin: 0 0 .9rem; }
.page-casos .case-pin, .page-casos .case-type {
  display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 999px;
  font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2;
}
.page-casos .case-pin { color: var(--ink); background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); }
.page-casos .case-pin-icon { width: .95rem; height: .95rem; flex: none; stroke: var(--gold); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.page-casos .case-type { --ct: 201,162,39; color: rgb(var(--ct)); background: rgba(var(--ct), .1); border: 1px solid rgba(var(--ct), .4); }
.page-casos .case-type[data-kind="huerta"] { --ct: 150,182,90; }
.page-casos .case-type[data-kind="frutales"] { --ct: 196,170,96; }
.page-casos .case-type[data-kind="arroz"] { --ct: 214,190,120; }
.page-casos .case-type[data-kind="mar"] { --ct: 104,170,186; }
.page-casos .case-type[data-kind="bio"] { --ct: 170,150,210; }
.page-casos .case-type[data-kind="investigacion"], .page-casos .case-type[data-kind="innovacion"] { --ct: 140,170,200; }
.page-casos .case-type[data-kind="consultoria"] { --ct: 210,150,110; }
.page-casos .case-field h3 { font-size: clamp(1.15rem, 2vw, 1.45rem); letter-spacing: .06em; margin-bottom: .7rem; color: #f4f0e2; }
.page-casos .case-field .case-body p.muted { color: #b2b0a6; margin: 0; }
.page-casos .case-field > .case-gallery {
  grid-area: gallery; display: grid; overflow: visible; margin: .4rem 0 0;
  grid-template-columns: repeat(6, minmax(0, 1fr)); grid-auto-rows: 7.5rem; grid-auto-flow: dense; gap: .55rem;
}
.page-casos .case-gallery picture { display: block; min-width: 0; overflow: hidden; border-radius: 1.1rem; border: 1px solid rgba(255,255,255,.08); }
.page-casos .case-gallery picture:nth-child(1) { grid-column: span 2; grid-row: span 2; border-radius: 2.2rem .8rem 2.2rem .8rem; }
.page-casos .case-gallery picture:nth-child(4n+3) { grid-column: span 2; }
.page-casos .case-gallery img { width: 100%; height: 100%; min-width: 0; max-width: 100%; object-fit: cover; transition: transform .6s ease; }
.page-casos .case-gallery picture:hover img { transform: scale(1.05); }
@media (max-width: 900px) {
  .page-casos .case-field, .page-casos .case-field:nth-child(even) {
    grid-template-columns: minmax(0, 1fr); grid-template-areas: "media" "body" "gallery"; padding: 1rem; gap: 1.1rem;
    border-radius: 1.2rem 2.4rem 1.2rem 2.4rem;
  }
  .page-casos .case-field > .card-media, .page-casos .case-field:nth-child(even) > .card-media, .page-casos .case-field:hover > .card-media { aspect-ratio: 16/11; border-radius: 2.2rem 1rem 2.2rem 1rem; }
  .page-casos .case-body { padding: 0 .3rem .3rem; }
  .page-casos .case-field > .case-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 5.6rem; gap: .4rem; }
}
@media (max-width: 480px) {
  .page-casos .casos-fields { gap: 1.8rem; }
  .page-casos .case-field > .case-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 5.2rem; }
  .page-casos .case-gallery picture:nth-child(4n+3) { grid-column: span 1; }
  .page-casos .case-field .case-body p.muted { overflow-wrap: anywhere; }
}
@media (prefers-reduced-motion: reduce) {
  .page-casos .case-field, .page-casos .case-field > .card-media, .page-casos .case-gallery img { transition: none; }
  .page-casos .case-gallery picture:hover img { transform: none; }
}

/* ===== Ronda de diseño por página (cada página con su motivo; solo su clase de body) ===== */
.page-agua { --m-ripple: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Ccircle cx="300" cy="300" r="18.0" stroke="%237fb6c4" stroke-opacity="0.51"/%3E%3Ccircle cx="300" cy="300" r="48.0" stroke="%237fb6c4" stroke-opacity="0.46"/%3E%3Ccircle cx="300" cy="300" r="78.0" stroke="%237fb6c4" stroke-opacity="0.41"/%3E%3Ccircle cx="300" cy="300" r="108.0" stroke="%237fb6c4" stroke-opacity="0.35"/%3E%3Ccircle cx="300" cy="300" r="138.0" stroke="%237fb6c4" stroke-opacity="0.30"/%3E%3Ccircle cx="300" cy="300" r="168.0" stroke="%237fb6c4" stroke-opacity="0.25"/%3E%3Ccircle cx="300" cy="300" r="198.0" stroke="%237fb6c4" stroke-opacity="0.20"/%3E%3Ccircle cx="300" cy="300" r="228.0" stroke="%237fb6c4" stroke-opacity="0.14"/%3E%3Ccircle cx="300" cy="300" r="258.0" stroke="%237fb6c4" stroke-opacity="0.09"/%3E%3Cpath d="M0 60 C80 34 160 86 240 60 S400 34 480 60" stroke="%237fb6c4" stroke-opacity="0.24"/%3E%3Cpath d="M0 98 C80 72 160 124 240 98 S400 72 480 98" stroke="%237fb6c4" stroke-opacity="0.24"/%3E%3Cpath d="M0 136 C80 110 160 162 240 136 S400 110 480 136" stroke="%237fb6c4" stroke-opacity="0.24"/%3E%3Cpath d="M0 174 C80 148 160 200 240 174 S400 148 480 174" stroke="%237fb6c4" stroke-opacity="0.24"/%3E%3Cpath d="M0 212 C80 186 160 238 240 212 S400 186 480 212" stroke="%237fb6c4" stroke-opacity="0.24"/%3E%3Cpath d="M0 250 C80 224 160 276 240 250 S400 224 480 250" stroke="%237fb6c4" stroke-opacity="0.24"/%3E%3C/svg%3E'); --m-wave: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="150" height="36" viewBox="0 0 150 36" fill="none" stroke-linecap="round"%3E%3Cpath d="M0 10 C25 4 50 16 75 10 S125 4 150 10" stroke="%237fb6c4" stroke-opacity="0.60" stroke-width="1.2"/%3E%3Cpath d="M0 17 C25 11 50 23 75 17 S125 11 150 17" stroke="%237fb6c4" stroke-opacity="0.60" stroke-width="1.2"/%3E%3Cpath d="M0 24 C25 18 50 30 75 24 S125 18 150 24" stroke="%237fb6c4" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Cpath d="M0 31 C25 25 50 37 75 31 S125 25 150 31" stroke="%237fb6c4" stroke-opacity="0.30" stroke-width="1.2"/%3E%3C/svg%3E'); }
.page-suelo { --m-myc: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M172 400Q162 360 148 334" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M148 334Q125 312 107 304" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M107 304Q82 303 71 303" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M71 303Q55 310 52 320" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M52 320Q42 325 45 338" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M52 320Q41 330 33 324" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M71 303Q54 291 48 291" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M48 291Q43 288 29 296" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M48 291Q43 277 36 277" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M107 304Q100 284 94 270" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M94 270Q83 259 74 255" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M74 255Q67 249 55 252" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M74 255Q75 242 68 237" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M94 270Q100 252 97 244" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M97 244Q85 239 88 228" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M97 244Q101 241 110 231" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M148 334Q157 316 155 284" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M155 284Q149 261 138 252" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M138 252Q129 253 116 238" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M116 238Q103 235 97 236" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M116 238Q106 224 107 221" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M138 252Q132 237 135 226" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M135 226Q123 217 124 210" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M135 226Q145 214 144 210" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M155 284Q175 266 180 259" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M180 259Q177 241 182 233" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M182 233Q178 221 172 217" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M182 233Q187 232 191 216" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M180 259Q196 248 206 253" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M206 253Q217 253 220 241" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M206 253Q208 257 224 257" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M153 400Q139 360 130 334" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M130 334Q102 317 84 313" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M84 313Q59 323 49 321" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M49 321Q34 326 30 339" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M30 339Q27 342 28 358" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M30 339Q21 335 12 344" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M49 321Q41 313 23 316" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M23 316Q23 322 8 327" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M23 316Q16 319 7 307" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M84 313Q70 294 60 286" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M60 286Q48 286 36 277" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M36 277Q22 285 18 283" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M36 277Q35 273 25 261" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M60 286Q49 266 53 261" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M53 261Q41 259 37 250" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M53 261Q64 259 60 243" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M130 334Q127 304 133 284" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M133 284Q131 273 116 252" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M116 252Q106 251 92 240" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M92 240Q86 249 74 246" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M92 240Q82 237 81 225" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M116 252Q116 237 121 226" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M121 226Q122 212 116 208" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M121 226Q133 214 135 214" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M133 284Q141 270 154 254" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M154 254Q144 249 150 228" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M150 228Q145 228 139 213" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M150 228Q150 216 159 212" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M154 254Q162 247 178 243" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M178 243Q188 232 185 226" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M178 243Q186 252 196 248" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M204 400Q187 364 171 338" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M171 338Q152 325 123 323" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M123 323Q109 330 89 335" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M89 335Q82 347 74 357" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M74 357Q67 367 72 375" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M74 357Q66 361 57 364" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M89 335Q78 333 63 331" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M63 331Q57 334 46 339" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M63 331Q60 330 50 317" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M123 323Q118 316 98 297" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M98 297Q79 295 72 295" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M72 295Q61 295 58 307" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M72 295Q60 292 58 283" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M98 297Q104 280 96 271" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M96 271Q89 263 86 255" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M96 271Q97 262 100 253" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M171 338Q174 305 169 288" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M169 288Q157 265 147 258" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M147 258Q137 255 122 251" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M122 251Q122 261 106 260" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M122 251Q107 250 107 240" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M147 258Q152 251 143 233" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M143 233Q130 233 129 220" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M143 233Q137 226 146 214" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M169 288Q181 278 190 258" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M190 258Q194 238 186 232" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M186 232Q180 222 175 217" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M186 232Q182 224 191 214" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M190 258Q193 246 212 244" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M212 244Q211 239 217 226" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M212 244Q218 234 230 240" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M237 400Q234 365 241 330" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M241 330Q225 312 222 283" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M222 283Q207 279 192 264" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M192 264Q179 268 166 266" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M166 266Q155 275 149 274" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M166 266Q155 255 148 258" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M192 264Q183 246 182 240" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M182 240Q178 242 164 232" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M182 240Q178 230 181 221" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M222 283Q230 273 223 247" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M223 247Q213 243 210 225" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M210 225Q199 214 192 218" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M210 225Q205 215 209 206" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M223 247Q227 227 233 223" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M233 223Q226 210 225 205" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M233 223Q243 221 248 212" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M241 330Q260 302 264 285" stroke="%23d8c48a" stroke-opacity="0.60" stroke-width="0.9"/%3E%3Cpath d="M264 285Q266 260 263 249" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M263 249Q263 240 251 226" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M251 226Q248 215 235 216" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M251 226Q257 222 253 208" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M263 249Q273 234 277 227" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M277 227Q269 215 272 209" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M277 227Q287 224 293 218" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M264 285Q282 277 290 260" stroke="%23d8c48a" stroke-opacity="0.53" stroke-width="0.9"/%3E%3Cpath d="M290 260Q293 249 295 234" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M295 234Q293 222 284 218" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M295 234Q296 231 308 221" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M290 260Q302 258 314 251" stroke="%23d8c48a" stroke-opacity="0.45" stroke-width="0.9"/%3E%3Cpath d="M314 251Q323 246 327 237" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Cpath d="M314 251Q328 249 333 252" stroke="%23d8c48a" stroke-opacity="0.38" stroke-width="0.9"/%3E%3Ccircle cx="42" cy="207" r="2.0" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="269" cy="309" r="1.4" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="206" cy="256" r="1.7" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="63" cy="363" r="1.3" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="372" cy="374" r="1.0" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="185" cy="345" r="2.5" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="182" cy="207" r="1.3" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="360" cy="193" r="1.9" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="71" cy="271" r="2.4" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="68" cy="345" r="1.8" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="339" cy="316" r="1.3" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="343" cy="262" r="1.0" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="21" cy="263" r="1.7" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="129" cy="175" r="1.5" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="134" cy="350" r="1.0" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="290" cy="350" r="1.2" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="354" cy="318" r="2.4" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="124" cy="233" r="1.6" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="380" cy="287" r="1.5" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="174" cy="209" r="1.1" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="57" cy="349" r="1.4" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="357" cy="202" r="1.4" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="204" cy="187" r="1.6" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="364" cy="361" r="2.2" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="247" cy="368" r="2.4" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="218" cy="320" r="1.1" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="284" cy="253" r="2.1" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="252" cy="212" r="1.1" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="354" cy="172" r="1.7" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3Ccircle cx="144" cy="214" r="2.1" stroke="%23d8c48a" stroke-opacity="0.52" fill="%23d8c48a" fill-opacity="0.25"/%3E%3C/svg%3E'); }
.page-cultivos { --m-rows: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M20 380V370M20 374Q14 370 12 367M20 373Q26 369 28 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M65 380V370M65 374Q59 370 57 367M65 373Q71 369 73 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M110 380V370M110 374Q104 370 102 367M110 373Q116 369 118 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M155 380V370M155 374Q149 370 147 367M155 373Q161 369 163 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M200 380V370M200 374Q194 370 192 367M200 373Q206 369 208 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M245 380V370M245 374Q239 370 237 367M245 373Q251 369 253 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M290 380V370M290 374Q284 370 282 367M290 373Q296 369 298 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M335 380V370M335 374Q329 370 327 367M335 373Q341 369 343 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M380 380V370M380 374Q374 370 372 367M380 373Q386 369 388 366" stroke="%239fbf6a" stroke-opacity="0.48"/%3E%3Cpath d="M20 338V329M20 333Q15 329 13 326M20 332Q25 328 27 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M60 338V329M60 333Q55 329 53 326M60 332Q65 328 67 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M100 338V329M100 333Q95 329 93 326M100 332Q105 328 107 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M140 338V329M140 333Q135 329 133 326M140 332Q145 328 147 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M180 338V329M180 333Q175 329 173 326M180 332Q185 328 187 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M220 338V329M220 333Q215 329 213 326M220 332Q225 328 227 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M260 338V329M260 333Q255 329 253 326M260 332Q265 328 267 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M300 338V329M300 333Q295 329 293 326M300 332Q305 328 307 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M340 338V329M340 333Q335 329 333 326M340 332Q345 328 347 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M380 338V329M380 333Q375 329 373 326M380 332Q385 328 387 325" stroke="%239fbf6a" stroke-opacity="0.44"/%3E%3Cpath d="M20 296V288M20 291Q15 288 14 286M20 290Q25 287 26 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M53 296V288M53 291Q48 288 46 286M53 290Q58 287 59 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M85 296V288M85 291Q81 288 79 286M85 290Q90 287 92 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M118 296V288M118 291Q113 288 112 286M118 290Q123 287 125 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M151 296V288M151 291Q146 288 145 286M151 290Q156 287 157 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M184 296V288M184 291Q179 288 177 286M184 290Q188 287 190 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M216 296V288M216 291Q212 288 210 286M216 290Q221 287 223 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M249 296V288M249 291Q244 288 243 286M249 290Q254 287 255 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M282 296V288M282 291Q277 288 275 286M282 290Q287 287 288 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M315 296V288M315 291Q310 288 308 286M315 290Q319 287 321 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M347 296V288M347 291Q342 288 341 286M347 290Q352 287 354 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M380 296V288M380 291Q375 288 374 286M380 290Q385 287 386 285" stroke="%239fbf6a" stroke-opacity="0.39"/%3E%3Cpath d="M20 254V247M20 250Q16 247 14 245M20 249Q24 246 26 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M50 254V247M50 250Q46 247 44 245M50 249Q54 246 56 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M80 254V247M80 250Q76 247 74 245M80 249Q84 246 86 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M110 254V247M110 250Q106 247 104 245M110 249Q114 246 116 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M140 254V247M140 250Q136 247 134 245M140 249Q144 246 146 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M170 254V247M170 250Q166 247 164 245M170 249Q174 246 176 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M200 254V247M200 250Q196 247 194 245M200 249Q204 246 206 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M230 254V247M230 250Q226 247 224 245M230 249Q234 246 236 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M260 254V247M260 250Q256 247 254 245M260 249Q264 246 266 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M290 254V247M290 250Q286 247 284 245M290 249Q294 246 296 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M320 254V247M320 250Q316 247 314 245M320 249Q324 246 326 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M350 254V247M350 250Q346 247 344 245M350 249Q354 246 356 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M380 254V247M380 250Q376 247 374 245M380 249Q384 246 386 244" stroke="%239fbf6a" stroke-opacity="0.35"/%3E%3Cpath d="M20 212V206M20 208Q16 206 15 204M20 208Q24 205 25 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M46 212V206M46 208Q42 206 41 204M46 208Q49 205 51 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M71 212V206M71 208Q68 206 67 204M71 208Q75 205 76 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M97 212V206M97 208Q94 206 92 204M97 208Q101 205 102 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M123 212V206M123 208Q119 206 118 204M123 208Q126 205 128 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M149 212V206M149 208Q145 206 144 204M149 208Q152 205 153 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M174 212V206M174 208Q171 206 169 204M174 208Q178 205 179 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M200 212V206M200 208Q196 206 195 204M200 208Q204 205 205 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M226 212V206M226 208Q222 206 221 204M226 208Q229 205 231 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M251 212V206M251 208Q248 206 247 204M251 208Q255 205 256 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M277 212V206M277 208Q274 206 272 204M277 208Q281 205 282 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M303 212V206M303 208Q299 206 298 204M303 208Q306 205 308 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M329 212V206M329 208Q325 206 324 204M329 208Q332 205 333 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M354 212V206M354 208Q351 206 349 204M354 208Q358 205 359 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M380 212V206M380 208Q376 206 375 204M380 208Q384 205 385 204" stroke="%239fbf6a" stroke-opacity="0.30"/%3E%3Cpath d="M20 170V165M20 167Q17 165 16 164M20 166Q23 164 24 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M44 170V165M44 167Q41 165 40 164M44 166Q47 164 48 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M68 170V165M68 167Q65 165 64 164M68 166Q71 164 72 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M92 170V165M92 167Q89 165 88 164M92 166Q95 164 96 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M116 170V165M116 167Q113 165 112 164M116 166Q119 164 120 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M140 170V165M140 167Q137 165 136 164M140 166Q143 164 144 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M164 170V165M164 167Q161 165 160 164M164 166Q167 164 168 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M188 170V165M188 167Q185 165 184 164M188 166Q191 164 192 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M212 170V165M212 167Q209 165 208 164M212 166Q215 164 216 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M236 170V165M236 167Q233 165 232 164M236 166Q239 164 240 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M260 170V165M260 167Q257 165 256 164M260 166Q263 164 264 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M284 170V165M284 167Q281 165 280 164M284 166Q287 164 288 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M308 170V165M308 167Q305 165 304 164M308 166Q311 164 312 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M332 170V165M332 167Q329 165 328 164M332 166Q335 164 336 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M356 170V165M356 167Q353 165 352 164M356 166Q359 164 360 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M380 170V165M380 167Q377 165 376 164M380 166Q383 164 384 163" stroke="%239fbf6a" stroke-opacity="0.26"/%3E%3Cpath d="M20 128V124M20 126Q18 124 17 123M20 125Q22 124 23 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M41 128V124M41 126Q39 124 38 123M41 125Q44 124 44 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M62 128V124M62 126Q60 124 59 123M62 125Q65 124 66 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M84 128V124M84 126Q81 124 80 123M84 125Q86 124 87 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M105 128V124M105 126Q102 124 102 123M105 125Q107 124 108 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M126 128V124M126 126Q123 124 123 123M126 125Q128 124 129 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M147 128V124M147 126Q145 124 144 123M147 125Q149 124 150 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M168 128V124M168 126Q166 124 165 123M168 125Q171 124 171 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M189 128V124M189 126Q187 124 186 123M189 125Q192 124 193 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M211 128V124M211 126Q208 124 207 123M211 125Q213 124 214 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M232 128V124M232 126Q229 124 229 123M232 125Q234 124 235 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M253 128V124M253 126Q251 124 250 123M253 125Q255 124 256 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M274 128V124M274 126Q272 124 271 123M274 125Q277 124 277 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M295 128V124M295 126Q293 124 292 123M295 125Q298 124 298 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M316 128V124M316 126Q314 124 313 123M316 125Q319 124 320 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M338 128V124M338 126Q335 124 334 123M338 125Q340 124 341 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M359 128V124M359 126Q356 124 356 123M359 125Q361 124 362 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3Cpath d="M380 128V124M380 126Q378 124 377 123M380 125Q382 124 383 122" stroke="%239fbf6a" stroke-opacity="0.21"/%3E%3C/svg%3E'); --m-leaf: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M20 380C80 200 220 60 380 20" stroke="%239fbf6a" stroke-opacity="0.52" stroke-width="1.4"/%3E%3Cpath d="M20 380C200 360 330 230 380 20" stroke="%239fbf6a" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Cpath d="M60 340Q30 292 -6 270" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M60 340Q100 360 130 387" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M100 300Q70 254 39 230" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M100 300Q140 320 170 343" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M140 260Q110 217 83 190" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M140 260Q180 280 210 300" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M180 220Q150 179 128 150" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M180 220Q220 240 250 257" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M220 180Q190 141 172 110" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M220 180Q260 200 290 213" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M260 140Q230 103 217 70" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M260 140Q300 160 330 170" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M300 100Q270 66 261 30" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M300 100Q340 120 370 127" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M340 60Q310 28 306 -10" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3Cpath d="M340 60Q380 80 410 83" stroke="%239fbf6a" stroke-opacity="0.33"/%3E%3C/svg%3E'); }
.page-animales { --m-paddock: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Ccircle cx="200" cy="200" r="60.0" stroke="%23c9a227" stroke-opacity="0.33"/%3E%3Ccircle cx="200" cy="200" r="110.0" stroke="%23c9a227" stroke-opacity="0.33"/%3E%3Ccircle cx="200" cy="200" r="160.0" stroke="%23c9a227" stroke-opacity="0.33"/%3E%3Ccircle cx="200" cy="200" r="190.0" stroke="%23c9a227" stroke-opacity="0.33"/%3E%3Cpath d="M260 200L390 200" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M252 230L365 295" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M230 252L295 365" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M200 260L200 390" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M170 252L105 365" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M148 230L35 295" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M140 200L10 200" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M148 170L35 105" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M170 148L105 35" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M200 140L200 10" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M230 148L295 35" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M252 170L365 105" stroke="%23c9a227" stroke-opacity="0.27"/%3E%3Cpath d="M310.0 200.0A110 110 0 0 1 295.3 255.0L338.6 280.0A160 160 0 0 0 360.0 200.0Z" fill="%23c9a227" fill-opacity=".14"/%3E%3Cpath d="M200 20A180 180 0 0 1 380 200" stroke="%23c9a227" stroke-opacity="0.60" stroke-width="1.4" stroke-dasharray="3 6"/%3E%3Ccircle cx="380" cy="200" r="4.0" stroke="%23c9a227" stroke-opacity="0.60" fill="%23c9a227" fill-opacity="0.60"/%3E%3C/svg%3E'); }
.page-personas { --m-net: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M362 118L285 170" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M362 118L253 132" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M253 132L219 164" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M253 132L285 170" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M219 164L253 132" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M219 164L199 105" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M87 85L95 61" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M87 85L111 118" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M101 338L224 332" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M101 338L171 208" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M199 105L183 77" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M199 105L158 145" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M338 369L224 332" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M338 369L285 170" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M183 77L199 105" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M183 77L146 61" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M95 61L87 85" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M95 61L146 61" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M146 61L183 77" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M146 61L95 61" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M111 118L87 85" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M111 118L158 145" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M224 332L338 369" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M224 332L101 338" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M285 170L253 132" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M285 170L219 164" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M171 208L158 145" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M171 208L219 164" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M158 145L111 118" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M158 145L199 105" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M51 124L87 85" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Cpath d="M51 124L111 118" stroke="%23e0b97a" stroke-opacity="0.33"/%3E%3Ccircle cx="362" cy="118" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="253" cy="132" r="3.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="219" cy="164" r="6.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="87" cy="85" r="6.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="101" cy="338" r="6.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="199" cy="105" r="6.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="338" cy="369" r="3.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="183" cy="77" r="3.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="95" cy="61" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="146" cy="61" r="3.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="111" cy="118" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="224" cy="332" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="285" cy="170" r="6.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="171" cy="208" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="158" cy="145" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3Ccircle cx="51" cy="124" r="4.0" stroke="%23e0b97a" stroke-opacity="0.60" fill="%23e0b97a" fill-opacity="0.15"/%3E%3C/svg%3E'); }
.page-clima { --m-sun: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M160 330A40 40 0 0 1 240 330" stroke="%23e8b860" stroke-opacity="0.51"/%3E%3Cpath d="M130 330A70 70 0 0 1 270 330" stroke="%23e8b860" stroke-opacity="0.45"/%3E%3Cpath d="M100 330A100 100 0 0 1 300 330" stroke="%23e8b860" stroke-opacity="0.39"/%3E%3Cpath d="M70 330A130 130 0 0 1 330 330" stroke="%23e8b860" stroke-opacity="0.33"/%3E%3Cpath d="M40 330A160 160 0 0 1 360 330" stroke="%23e8b860" stroke-opacity="0.27"/%3E%3Cpath d="M25 330L5 330" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M38 263L20 255" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M76 206L62 192" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M133 168L125 150" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M200 155L200 135" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M267 168L275 150" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M324 206L338 192" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M362 263L380 255" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M375 330L395 330" stroke="%23e8b860" stroke-opacity="0.52" stroke-width="1.2"/%3E%3Cpath d="M70 120a26 26 0 0 1 48-14a32 32 0 0 1 60 8a22 22 0 0 1 10 42H76a22 22 0 0 1-6-36Z" stroke="%23b9c7d6" stroke-opacity="0.52" stroke-width="1.1"/%3E%3Cpath d="M250 70a20 20 0 0 1 38-10a24 24 0 0 1 46 6a16 16 0 0 1 6 32H254a16 16 0 0 1-4-28Z" stroke="%23b9c7d6" stroke-opacity="0.42"/%3E%3C/svg%3E'); }
.page-agricultura { --m-furrow: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M-40 400C60 300 120 160 200 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M-12 400C80 300 134 160 208 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M16 400C100 300 148 160 216 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M44 400C120 300 162 160 224 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M72 400C140 300 176 160 232 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M100 400C160 300 190 160 240 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M128 400C180 300 204 160 248 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M156 400C200 300 218 160 256 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M184 400C220 300 232 160 264 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M212 400C240 300 246 160 272 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M240 400C260 300 260 160 280 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M268 400C280 300 274 160 288 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M296 400C300 300 288 160 296 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M324 400C320 300 302 160 304 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M352 400C340 300 316 160 312 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3Cpath d="M380 400C360 300 330 160 320 0" stroke="%23c9a56a" stroke-opacity="0.33"/%3E%3C/svg%3E'); }
.page-acuicultura { --m-kelp: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="400" viewBox="0 0 400 400" fill="none" stroke-linecap="round"%3E%3Cpath d="M0 40 Q25 28 50 40 T100 40 T150 40 T200 40 T250 40 T300 40 T350 40 T400 40" stroke="%236fb3c0" stroke-opacity="0.48"/%3E%3Cpath d="M0 62 Q25 50 50 62 T100 62 T150 62 T200 62 T250 62 T300 62 T350 62 T400 62" stroke="%236fb3c0" stroke-opacity="0.42"/%3E%3Cpath d="M0 84 Q25 72 50 84 T100 84 T150 84 T200 84 T250 84 T300 84 T350 84 T400 84" stroke="%236fb3c0" stroke-opacity="0.36"/%3E%3Cpath d="M0 106 Q25 94 50 106 T100 106 T150 106 T200 106 T250 106 T300 106 T350 106 T400 106" stroke="%236fb3c0" stroke-opacity="0.30"/%3E%3Cpath d="M0 128 Q25 116 50 128 T100 128 T150 128 T200 128 T250 128 T300 128 T350 128 T400 128" stroke="%236fb3c0" stroke-opacity="0.24"/%3E%3Cpath d="M60 400C40 330 80 270 60 200S45 140 65 110" stroke="%237fae7a" stroke-opacity="0.48" stroke-width="1.3"/%3E%3Cpath d="M60 360q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 335q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 305q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 280q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 250q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 225q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 195q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M60 170q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 400C120 330 160 270 140 200S125 140 145 110" stroke="%237fae7a" stroke-opacity="0.48" stroke-width="1.3"/%3E%3Cpath d="M140 360q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 335q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 305q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 280q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 250q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 225q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 195q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M140 170q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 400C230 330 270 270 250 200S235 140 255 110" stroke="%237fae7a" stroke-opacity="0.48" stroke-width="1.3"/%3E%3Cpath d="M250 360q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 335q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 305q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 280q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 250q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 225q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 195q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M250 170q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 400C310 330 350 270 330 200S315 140 335 110" stroke="%237fae7a" stroke-opacity="0.48" stroke-width="1.3"/%3E%3Cpath d="M330 360q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 335q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 305q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 280q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 250q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 225q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 195q14 -10 22 -26" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3Cpath d="M330 170q-14 -10 -20 -24" stroke="%237fae7a" stroke-opacity="0.38"/%3E%3C/svg%3E'); }
.page-servicios { --m-chain: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="80" viewBox="0 0 400 80" fill="none" stroke-linecap="round"%3E%3Ccircle cx="40" cy="40" r="26.0" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Ccircle cx="104" cy="40" r="26.0" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Ccircle cx="168" cy="40" r="26.0" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Ccircle cx="232" cy="40" r="26.0" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Ccircle cx="296" cy="40" r="26.0" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Ccircle cx="360" cy="40" r="26.0" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3C/svg%3E'); }
.page-home { --m-helix: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" width="400" height="120" viewBox="0 0 400 120" fill="none" stroke-linecap="round"%3E%3Cpath d="M0 60.0 L10 69.9 L20 79.2 L30 87.3 L40 93.7 L50 98.0 L60 99.9 L70 99.4 L80 96.4 L90 91.1 L100 83.9 L110 75.3 L120 65.6 L130 55.7 L140 46.0 L150 37.1 L160 29.7 L170 24.2 L180 20.9 L190 20.0 L200 21.6 L210 25.6 L220 31.8 L230 39.7 L240 48.8 L250 58.7 L260 68.6 L270 78.0 L280 86.3 L290 92.9 L300 97.5 L310 99.8 L320 99.6 L330 96.9 L340 91.9 L350 85.0 L360 76.5 L370 67.0 L380 57.0 L390 47.2 L400 38.2" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Cpath d="M0 60.0 L10 50.1 L20 40.8 L30 32.7 L40 26.3 L50 22.0 L60 20.1 L70 20.6 L80 23.6 L90 28.9 L100 36.1 L110 44.7 L120 54.4 L130 64.3 L140 74.0 L150 82.9 L160 90.3 L170 95.8 L180 99.1 L190 100.0 L200 98.4 L210 94.4 L220 88.2 L230 80.3 L240 71.2 L250 61.3 L260 51.4 L270 42.0 L280 33.7 L290 27.1 L300 22.5 L310 20.2 L320 20.4 L330 23.1 L340 28.1 L350 35.0 L360 43.5 L370 53.0 L380 63.0 L390 72.8 L400 81.8" stroke="%23c9a227" stroke-opacity="0.45" stroke-width="1.2"/%3E%3Cpath d="M0 60L0 60" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M20 79L20 41" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M40 94L40 26" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M60 100L60 20" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M80 96L80 24" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M100 84L100 36" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M120 66L120 54" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M140 46L140 74" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M160 30L160 90" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M180 21L180 99" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M200 22L200 98" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M220 32L220 88" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M240 49L240 71" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M260 69L260 51" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M280 86L280 34" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M300 98L300 22" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M320 100L320 20" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M340 92L340 28" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M360 76L360 44" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M380 57L380 63" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3Cpath d="M400 38L400 82" stroke="%23c9a227" stroke-opacity="0.15"/%3E%3C/svg%3E'); }

/* Agua: ondas y curvas de flujo */
.page-agua .story-body { position: relative; background: var(--m-ripple) right -7rem bottom -7rem / 22rem no-repeat, radial-gradient(circle at 100% 100%, rgba(127,182,196,.08), transparent 60%); }
.page-agua .deep-block { border-radius: 2.4rem .8rem 2.4rem .8rem; border-color: rgba(127,182,196,.22); background: var(--m-ripple) right -9rem top -9rem / 24rem no-repeat, #080808; }
.page-agua .grid-3 .card { position: relative; border-radius: 1.6rem 1.6rem 1.6rem .4rem; border-color: rgba(127,182,196,.24); padding-top: 3rem; background: linear-gradient(180deg, rgba(127,182,196,.08), transparent 45%), #090a0a; }
.page-agua .grid-3 .card::before { content: ""; position: absolute; left: 0; right: 0; top: .9rem; height: 2.2rem; background: var(--m-wave) 0 0 / 150px 36px repeat-x; opacity: .9; }
.page-agua .grid-3 .card .cinema-step-num { display: inline-grid; place-items: center; width: 3.2rem; height: 3.2rem; border-radius: 50% 50% 50% 0; border: 1px solid rgba(127,182,196,.55); color: #9fd0dc; font-size: 1.05rem; position: relative; z-index: 1; background: #090a0a; }
.page-agua .grid-3 .card .cinema-step-num::first-line { }
.page-agua .grid-3 .card h3 { color: #cfe6ec; }
/* Suelo: horizontes del suelo y micelio */
.page-suelo .story-body { position: relative; background:
  var(--m-myc) right -3rem bottom 0 / 18rem no-repeat,
  linear-gradient(180deg, transparent 55%, rgba(120,92,48,.10) 55% 70%, rgba(92,66,34,.14) 70% 86%, rgba(64,46,24,.18) 86%); }
.page-suelo .story-body::before { content: ""; position: absolute; left: clamp(2rem,5vw,4.5rem); right: clamp(2rem,5vw,4.5rem); bottom: 45%; height: 1px; background: linear-gradient(90deg, transparent, rgba(216,196,138,.3), transparent); pointer-events: none; }
.page-suelo .story-body > * { position: relative; }
/* Cultivos: hileras y nervios de hoja */
.page-cultivos .story-body { position: relative; background: var(--m-rows) center bottom -.4rem / auto 8.5rem repeat-x, linear-gradient(180deg, transparent 50%, rgba(159,191,106,.06)); }
.page-cultivos .story.reverse .story-body { background: var(--m-leaf) right -6rem top -6rem / 19rem no-repeat, radial-gradient(circle at 100% 0, rgba(159,191,106,.07), transparent 60%); }
/* Animales: anillos de rotación de parcelas */
.page-animales .story-body { position: relative; background: var(--m-paddock) right -8rem bottom -8rem / 21rem no-repeat, radial-gradient(circle at 100% 100%, rgba(201,162,39,.07), transparent 55%); }
/* Personas: red de nodos conectados */
.page-personas .story-body { position: relative; background: var(--m-net) right -5rem top -5rem / 18rem no-repeat, radial-gradient(circle at 100% 0, rgba(224,185,122,.07), transparent 55%); }
.page-personas .story.reverse .story-body { background: var(--m-net) right -5rem bottom -5rem / 18rem no-repeat, radial-gradient(circle at 100% 100%, rgba(224,185,122,.07), transparent 55%); }
/* Clima: arcos de sol y nubes */
.page-clima .story-body { position: relative; background: var(--m-sun) right -5rem bottom -6rem / 18rem no-repeat, radial-gradient(ellipse at 100% 100%, rgba(232,184,96,.08), transparent 60%); }
/* Agricultura: surcos de campo */
.page-agricultura .story-body { position: relative; background: var(--m-furrow) right -6rem bottom -7rem / 20rem no-repeat, linear-gradient(200deg, rgba(201,165,106,.06), transparent 60%); }
.page-agricultura .deep-block { border-radius: .8rem 2.6rem .8rem 2.6rem; background: var(--m-furrow) right -8rem bottom -10rem / 24rem no-repeat, #080808; }
.page-agricultura .grid-3 .card { position: relative; border-radius: 2rem .6rem 2rem .6rem; border-color: rgba(201,165,106,.22);
  background: var(--m-furrow) right -6rem bottom -8rem / 16rem no-repeat, linear-gradient(160deg, rgba(201,165,106,.07), transparent 50%), #090908; transition: border-color .35s ease, transform .35s ease; }
.page-agricultura .grid-3 .card:nth-child(even) { border-radius: .6rem 2rem .6rem 2rem; }
.page-agricultura .grid-3 .card:hover { border-color: rgba(201,165,106,.5); transform: translateY(-3px); }
.page-agricultura .grid-3 .card .cinema-step-num { font-weight: 300; font-size: 2rem; color: transparent; -webkit-text-stroke: 1px rgba(201,165,106,.8); }
/* Acuicultura: olas y algas */
.page-acuicultura .story-body { position: relative; background: var(--m-kelp) right -4rem bottom -4rem / 18rem no-repeat, linear-gradient(180deg, rgba(111,179,192,.06), transparent 40%, rgba(127,174,122,.06)); }
/* Servicios: pasos con conector y bloque de marcas destacado */
.page-servicios .inner-band:first-of-type .grid-3 { position: relative; }
.page-servicios .grid-3 .card { border-radius: 2rem .6rem 2rem 2rem; transition: border-color .35s ease, transform .35s ease; }
.page-servicios .grid-3 .card:hover { border-color: rgba(201,162,39,.5); transform: translateY(-3px); }
.page-servicios .svc-steps { position: relative; }
.page-servicios .svc-steps::before { content: ""; position: absolute; left: 3.4rem; right: 3.4rem; top: 3.25rem; height: 1px; background: repeating-linear-gradient(90deg, rgba(201,162,39,.55) 0 6px, transparent 6px 12px); pointer-events: none; }
.page-servicios .svc-steps .card { position: relative; overflow: visible; background: linear-gradient(180deg, rgba(201,162,39,.07), transparent 40%), #080808; }
.page-servicios .svc-steps .card .cinema-step-num { display: grid; place-items: center; width: 3.1rem; height: 3.1rem; border-radius: 50%; border: 1px solid rgba(201,162,39,.6); background: radial-gradient(circle at 35% 30%, #2a2312, #0b0a07 70%); font-size: 1.05rem; position: relative; z-index: 1; box-shadow: 0 0 0 .35rem #080808; }
.page-servicios #marcas { position: relative; background: var(--m-chain) center top 1.2rem / 400px 80px repeat-x, radial-gradient(ellipse 70% 60% at 50% 30%, rgba(201,162,39,.12), transparent 70%), linear-gradient(180deg, #0c0a05, #050505); border-block: 1px solid rgba(201,162,39,.3); padding-top: 6.5rem; }
.page-servicios #marcas .card { border-color: rgba(201,162,39,.35); background: linear-gradient(170deg, rgba(201,162,39,.10), rgba(8,8,8,.9) 55%); }
.page-servicios #marcas .deep-block { border-radius: 2.6rem; border-color: rgba(201,162,39,.4); background: radial-gradient(circle at 0 0, rgba(201,162,39,.12), transparent 50%), #0a0906; }
.page-servicios #marcas h2 { color: #f1d77a; }
.page-servicios .faq-item { border-radius: 1.1rem; }
/* Sobre: raíz que une las tres etapas */
.page-sobre .sobre-roots { position: relative; padding-left: 3rem; }
.page-sobre .sobre-roots::before { content: ""; position: absolute; left: 1rem; top: 2.8rem; bottom: 9rem; width: 2px; border-radius: 2px; background: linear-gradient(180deg, rgba(201,162,39,.7), rgba(201,162,39,.15)); }
.page-sobre .sobre-roots .deep-block { position: relative; border-radius: 2.2rem .7rem 2.2rem .7rem; background: radial-gradient(circle at 0 0, rgba(201,162,39,.08), transparent 45%), #080808; }
.page-sobre .sobre-roots .deep-block::before { content: ""; position: absolute; left: -2.55rem; top: 2.2rem; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: #050505; border: 2px solid var(--gold); box-shadow: 0 0 0 .3rem rgba(201,162,39,.12); }
.page-sobre .sobre-roots .deep-block::after { content: ""; position: absolute; left: -1.45rem; top: 2.75rem; width: 1.45rem; height: 1px; background: rgba(201,162,39,.5); }
.page-sobre .sobre-gracias { color: var(--ink); font-size: 1.05rem; }
/* Contacto: marco cálido del formulario */
.page-contacto .contact-panel { border-radius: 2rem .7rem 2rem 2rem; border-color: rgba(201,162,39,.25); }
.page-contacto form.contact-panel { position: relative; border: 1px solid transparent;
  background: linear-gradient(#0b0a08, #0b0a08) padding-box, linear-gradient(140deg, rgba(232,184,96,.7), rgba(201,162,39,.12) 40%, rgba(201,162,39,.08) 60%, rgba(232,184,96,.5)) border-box;
  box-shadow: 0 2rem 4rem rgba(0,0,0,.45), 0 0 3rem rgba(232,184,96,.06); }
.page-contacto form.contact-panel input, .page-contacto form.contact-panel select, .page-contacto form.contact-panel textarea { border-radius: .8rem; }
.page-contacto form.contact-panel button, .page-contacto form.contact-panel .btn { border-radius: 999px; }
.page-contacto aside.contact-panel { border-radius: .7rem 2rem 2rem 2rem; background: radial-gradient(circle at 100% 0, rgba(232,184,96,.10), transparent 55%), #0a0a09; }
.page-contacto .faq-item { border-radius: 1.1rem; }
/* Inicio: bloque de sponsors con trenza simbiótica */
.page-home .home-partners .deep-block { position: relative; border-radius: 2.8rem .9rem 2.8rem .9rem; border-color: rgba(201,162,39,.3); padding-top: clamp(4.6rem, 7vw, 5.4rem);
  background: var(--m-helix) center top .6rem / 400px 120px repeat-x, radial-gradient(ellipse at 50% 0, rgba(201,162,39,.10), transparent 60%), #080808; }
@media (max-width: 860px) {
  .page-servicios .svc-steps::before { left: 2.6rem; right: auto; top: 3rem; bottom: 3rem; width: 1px; height: auto; background: repeating-linear-gradient(180deg, rgba(201,162,39,.55) 0 6px, transparent 6px 12px); }
  .page-agua .story-body, .page-suelo .story-body, .page-animales .story-body, .page-personas .story-body, .page-clima .story-body, .page-agricultura .story-body, .page-acuicultura .story-body { background-size: 13rem, auto; }
  .page-cultivos .story-body { background-size: auto 6rem, auto; }
  .page-sobre .sobre-roots { padding-left: 2.2rem; }
  .page-sobre .sobre-roots::before { left: .6rem; }
  .page-sobre .sobre-roots .deep-block::before { left: -2.05rem; }
  .page-sobre .sobre-roots .deep-block::after { left: -1rem; width: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  .page-agricultura .grid-3 .card, .page-servicios .grid-3 .card { transition: none; }
  .page-agricultura .grid-3 .card:hover, .page-servicios .grid-3 .card:hover { transform: none; }
}

/* ===== Inicio: Apóyanos · aportación voluntaria (solo .page-home) ===== */
.page-home .home-support { padding-top: 0; border-top: 0 !important; scroll-margin-top: 5.5rem; }
.page-home .home-support .deep-block { position: relative; margin-top: 0; max-width: 46rem; margin-inline: auto; text-align: center;
  border-radius: .9rem 2.8rem .9rem 2.8rem; border-color: rgba(201,162,39,.3);
  background: radial-gradient(ellipse at 50% 0, rgba(201,162,39,.12), transparent 62%), #080808; }
.page-home .home-support .deep-block::before { content: ""; display: block; width: 2.6rem; height: 2.6rem; margin: 0 auto .9rem; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); border: 1.5px solid var(--gold); box-shadow: inset 0 0 0 .55rem #080808, inset 0 0 0 2rem rgba(201,162,39,.35); }
.page-home .home-support h2 { font-size: clamp(1.4rem, 3vw, 2rem); }
.page-home .home-support .muted { max-width: 38rem; margin: 0 auto; line-height: 1.65; }
.page-home .home-support .support-lead { margin: .9rem auto 0; color: var(--ink); font-weight: 600; }
.page-home .support-account { display: grid; gap: .55rem; margin: 1.5rem auto 0; padding: 1rem 1.2rem; max-width: 30rem; border: 1px solid rgba(201,162,39,.28); border-radius: 1.2rem; background: rgba(255,255,255,.02); text-align: left; }
.page-home .support-account div { display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .8rem; }
.page-home .support-account dt { min-width: 6.5rem; font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.page-home .support-account dd { margin: 0; color: var(--ink); }
.page-home .support-iban { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace; font-size: clamp(.92rem, 3.6vw, 1.08rem); letter-spacing: .04em; user-select: all; -webkit-user-select: all; overflow-wrap: anywhere; }
.page-home .support-copy-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: .6rem 1rem; margin-top: 1.1rem; min-height: 1.5rem; }
.page-home .support-copy-status { color: var(--gold); font-size: .9rem; font-weight: 600; }
.page-home .support-note { margin: .9rem auto 0; color: var(--muted); font-size: .92rem; }
.page-home .support-legal { margin: .6rem auto 0; max-width: 34rem; color: var(--muted); font-size: .8rem; line-height: 1.5; opacity: .9; }
.page-casos .casos-gracias .casos-gracias-actions { justify-content: center; margin-top: 1.4rem; }
.page-sobre .page-hero-media img { object-position: 68% center; }
@media (max-width: 520px) {
  .page-home .home-support .deep-block { border-radius: .7rem 2rem .7rem 2rem; }
  .page-home .support-account { padding: .9rem 1rem; }
  .page-home .support-account dt { min-width: 0; width: 100%; }
}
@media (max-width: 520px) {
  .cinema-manifesto-title { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
}

/* ===== Servicios: FAQ con lista ===== */
.faq-item .faq-a--rich p { margin: 0 0 .6rem; }
.faq-item .faq-a--rich ul { margin: 0 0 .7rem; padding-left: 1.15rem; }
.faq-item .faq-a--rich li { margin-bottom: .35rem; }
.faq-item .faq-a--rich strong { color: var(--ink); }

/* ===== Método: figura de cromatogramas ===== */
.page-metodo .metodo-figure { margin: 1.4rem 0 1.2rem; }
.page-metodo .metodo-figure picture { display: block; overflow: hidden; border-radius: 2.4rem .8rem 2.4rem .8rem; border: 1px solid rgba(201,162,39,.3); box-shadow: 0 1.2rem 2.6rem rgba(0,0,0,.45); }
.page-metodo .metodo-figure img { display: block; width: 100%; height: auto; }
.page-metodo .metodo-figure figcaption { margin-top: .6rem; font-size: .85rem; color: var(--gold); letter-spacing: .04em; }

/* ===== Contacto: diagnóstico rápido ===== */
.page-contacto .diag-band { border-top: 1px solid var(--line); }
.page-contacto .diag-wrap { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 2.4rem; align-items: start; }
.page-contacto .diag-intro h2 { margin: 0 0 .8rem; }
.page-contacto .diag-promise { margin-top: 1rem; color: var(--ink); font-weight: 600; }
.page-contacto .diag-form { max-width: none; border-radius: .7rem 2rem 2rem 2rem; }
.page-contacto .diag-row { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.page-contacto .diag-row > div { display: grid; gap: .35rem; align-content: start; }
.page-contacto .diag-row input, .page-contacto .diag-row select { width: 100%; box-sizing: border-box; }
.page-contacto .diag-file { padding: .7rem; background: #0d0d0c; border-style: dashed; border-color: rgba(201,162,39,.4); }
.page-contacto .diag-file::file-selector-button { font: inherit; font-size: .8rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-right: .8rem; padding: .5rem .9rem; border: 1px solid var(--gold); background: transparent; color: var(--gold); border-radius: 999px; cursor: pointer; }
.page-contacto .diag-note { margin: 0; color: var(--ink); font-weight: 600; font-size: .95rem; }
@media (max-width: 860px) {
  .page-contacto .diag-wrap { grid-template-columns: 1fr; gap: 1.4rem; }
}
@media (max-width: 560px) {
  .page-contacto .diag-row { grid-template-columns: 1fr; }
}

/* ===== Inicio: newsletter ===== */
.page-home .home-newsletter { padding-top: 1rem; border-top: 0 !important; }
.page-home .newsletter-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 1.6rem 2.4rem; align-items: center; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgba(201,162,39,.25); border-radius: 2.4rem .8rem 2.4rem .8rem; background: radial-gradient(ellipse at 0 0, rgba(120,150,70,.12), transparent 60%), #0a0a09; }
.page-home .newsletter-copy h2 { margin: 0 0 .5rem; font-size: clamp(1.25rem, 2.6vw, 1.7rem); }
.page-home .newsletter-copy p { margin: 0; }
.page-home .newsletter-form { display: grid; gap: .8rem; }
.page-home .newsletter-row { display: flex; gap: .6rem; }
.page-home .newsletter-row input { flex: 1 1 auto; min-width: 0; border-radius: 999px; padding-inline: 1.1rem; }
.page-home .newsletter-row .btn { flex: 0 0 auto; }
.page-home .newsletter-form .form-check label { font-weight: 400; font-size: .85rem; color: var(--muted); display: block; }
.page-home .newsletter-form .form-check { display: flex; gap: .55rem; align-items: flex-start; }
@media (max-width: 760px) {
  .page-home .newsletter-card { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .page-home .newsletter-row { flex-direction: column; }
}

/* ===== Sobre: prensa y apariciones ===== */
.page-sobre .sobre-prensa { border-top: 1px solid var(--line); }
.page-sobre .prensa-list { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.page-sobre .prensa-item { padding: 1.3rem 1.3rem 1.4rem; border: 1px solid rgba(201,162,39,.22); border-radius: 1.6rem .6rem 1.6rem .6rem; background: linear-gradient(160deg, rgba(201,162,39,.07), transparent 55%), #0a0a09; }
.page-sobre .prensa-kind { display: block; font-size: .68rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: .6rem; }
.page-sobre .prensa-title { margin: 0 0 .6rem; color: var(--ink); font-weight: 600; line-height: 1.45; }
.page-sobre .prensa-item .muted { margin: 0; font-size: .92rem; line-height: 1.55; }
.page-sobre .prensa-item a { color: var(--gold); }
@media (max-width: 860px) { .page-sobre .prensa-list { grid-template-columns: 1fr; } }

/* ===== Casos: voces del sector ===== */
.page-casos .casos-voces { position: relative; }
.page-casos .casos-voces-intro { max-width: 40rem; margin-bottom: 1.6rem; }
.page-casos .voces-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.6rem; align-items: stretch; }
.page-casos .voz-card { position: relative; padding: 1.6rem 1.6rem 1.4rem; background: linear-gradient(135deg, rgba(20,19,15,.92), rgba(9,9,8,.94)); border: 1px solid rgba(201,162,39,.18); border-radius: 1.4rem 3.6rem 1.4rem 3.6rem; }
.page-casos .voz-card--photo { padding: 0; overflow: hidden; display: grid; grid-template-rows: auto 1fr; border-radius: 3.6rem 1.4rem 3.6rem 1.4rem; }
.page-casos .voz-photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; }
.page-casos .voz-photo-body { padding: 1.2rem 1.6rem 1.4rem; }
.page-casos .voz-photo-body h3 { margin: 0 0 .5rem; }
.page-casos .voz-mark { width: 2.4rem; height: 2rem; fill: rgba(201,162,39,.55); margin-bottom: .6rem; }
.page-casos .voz-quote { margin: 0; }
.page-casos .voz-quote p { margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--ink); font-style: italic; }
.page-casos .voz-quote-inline { margin: 0 0 .6rem; font-style: italic; color: var(--ink); }
.page-casos .voz-tr { margin: .55rem 0 0; font-size: .86rem; line-height: 1.5; color: var(--muted); }
.page-casos .voz-tr span { color: var(--gold); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; margin-right: .3rem; }
.page-casos .voz-meta { margin: .9rem 0 0; font-size: .85rem; line-height: 1.5; color: var(--muted); }
.page-casos .voz-meta strong { color: var(--ink); }
.page-casos .voz-meta a, .page-casos .voz-card a { color: var(--gold); }
.page-casos .voz-story { margin-top: 2.2rem; padding: clamp(1.4rem, 3vw, 2.2rem); border: 1px solid rgba(201,162,39,.22); border-radius: 3rem 1rem 3rem 1rem; background: radial-gradient(ellipse at 0 0, rgba(80,130,160,.10), transparent 55%), radial-gradient(ellipse at 100% 100%, rgba(201,162,39,.10), transparent 55%), #0a0a09; }
.page-casos .voz-story-head h3 { margin: .2rem 0 .5rem; font-size: clamp(1.2rem, 2.4vw, 1.6rem); text-transform: uppercase; letter-spacing: .02em; }
.page-casos .voz-story-head p { margin: 0; max-width: 40rem; }
.page-casos .voz-story-steps { list-style: none; margin: 1.4rem 0 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2.6rem; position: relative; }
.page-casos .voz-story-steps::before { content: ""; position: absolute; top: 1.2rem; left: 2.4rem; right: calc(50% + 1.3rem + 2.4rem); height: 1px; background: none; }
.page-casos .voz-step { position: relative; padding: 1.3rem 1.3rem 1.2rem; border-radius: 1.2rem; background: rgba(255,255,255,.02); border: 1px solid rgba(255,255,255,.06); }
.page-casos .voz-step + .voz-step::before { content: "→"; position: absolute; left: -1.95rem; top: 50%; transform: translateY(-50%); color: var(--gold); font-size: 1.4rem; }
.page-casos .voz-step-num { display: inline-grid; place-items: center; width: 1.9rem; height: 1.9rem; border-radius: 50%; border: 1px solid var(--gold); color: var(--gold); font-weight: 700; font-size: .85rem; margin-right: .5rem; }
.page-casos .voz-step-label { font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.page-casos .voz-step .voz-quote { margin-top: .9rem; }
.page-casos .voz-step .voz-quote p { font-size: 1rem; }
.page-casos .voz-list-intro { margin: .9rem 0 .3rem; font-size: .85rem; color: var(--ink); font-weight: 600; }
.page-casos .voz-list { margin: 0; padding-left: 1.1rem; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.page-casos .voz-card--small { margin-top: 1.6rem; max-width: 46rem; padding: 1.3rem 1.5rem; border-radius: .9rem 2.4rem .9rem 2.4rem; }
.page-casos .voz-small-head { display: block; font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); margin-bottom: .6rem; }
.page-casos .voz-card--small .voz-quote p { font-size: .98rem; }
.page-casos .voz-disclaimer { margin: .5rem 0 0; font-size: .78rem; color: var(--muted); opacity: .85; }
@media (max-width: 860px) {
  .page-casos .voces-grid, .page-casos .voz-story-steps { grid-template-columns: 1fr; gap: 1.6rem; }
  .page-casos .voz-step + .voz-step::before { content: "↓"; left: 50%; top: -1.45rem; transform: translateX(-50%); }
}

/* ===== Casos: mapa de proyectos ===== */
.page-casos .casos-map-intro { max-width: 40rem; }
.page-casos .casos-map-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 1.8rem; align-items: center; margin-top: 1.2rem; }
.page-casos .casos-map-figure { border: 1px solid rgba(201,162,39,.2); border-radius: 2.6rem .9rem 2.6rem .9rem; background: radial-gradient(ellipse at 60% 40%, rgba(70,110,140,.16), transparent 70%), #070807; padding: 1rem; }
.page-casos .casos-map-svg { display: block; width: 100%; height: auto; }
.page-casos .cm-land { fill: rgba(150,130,70,.13); stroke: rgba(201,162,39,.7); stroke-width: 1.4; stroke-linejoin: round; }
.page-casos .cm-contour { fill: none; stroke: rgba(201,162,39,.14); stroke-width: 1; }
.page-casos .cm-pin circle { fill: var(--gold); }
.page-casos .cm-pin .cm-halo { fill: rgba(201,162,39,.18); stroke: rgba(201,162,39,.5); stroke-width: 1; }
.page-casos .cm-pin text { fill: #f4f1e8; font-size: 13px; font-weight: 600; paint-order: stroke; stroke: #070807; stroke-width: 4px; stroke-linejoin: round; }
.page-casos .cm-hq { fill: var(--gold) !important; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.page-casos .cm-zoom { fill: none; stroke: var(--gold); stroke-width: 1.2; }
.page-casos .cm-lead { fill: none; stroke: rgba(201,162,39,.6); stroke-width: 1; stroke-dasharray: 3 4; }
.page-casos .cm-inset { fill: rgba(10,12,11,.92); stroke: rgba(201,162,39,.55); stroke-width: 1.2; }
.page-casos .cm-inset-title { fill: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.page-casos .cm-coast { fill: none; stroke: rgba(201,162,39,.7); stroke-width: 1.4; }
.page-casos .casos-map-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; font-size: .92rem; color: var(--muted); }
.page-casos .casos-map-list strong { color: var(--ink); }
.page-casos .cm-dot { display: inline-block; width: .55rem; height: .55rem; border-radius: 50%; background: var(--gold); margin-right: .55rem; box-shadow: 0 0 0 3px rgba(201,162,39,.2); }
@media (max-width: 860px) {
  .page-casos .casos-map-layout { grid-template-columns: 1fr; }
}
.page-contacto .diag-wrap { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.page-contacto .diag-form > *, .page-contacto .diag-row > div { min-width: 0; }
.page-contacto .diag-form input:not([type="checkbox"]), .page-contacto .diag-form select, .page-contacto .diag-form textarea { width: 100%; max-width: 100%; box-sizing: border-box; }
.page-casos .voz-card--quote { display: flex; flex-direction: column; justify-content: center; }
@media (max-width: 860px) { .page-contacto .diag-wrap { grid-template-columns: minmax(0, 1fr); } }
.page-metodo .metodo-figure { max-width: 40rem; }
.site-footer .footer-ig { display: inline-flex; align-items: center; gap: .35rem; vertical-align: middle; }
.site-footer .footer-ig .ig-icon { flex: 0 0 auto; }

/* ===== Biofábrica: vídeos por familias (solo .page-biofab) ===== */
.page-biofab .bs-families-intro { max-width: 40rem; margin-bottom: 1.4rem; }
.page-biofab .bs-family { margin-top: 2.4rem; padding-top: 1.8rem; border-top: 1px solid rgba(201,162,39,.16); }
.page-biofab .bs-family-head { display: flex; gap: 1rem; align-items: center; margin-bottom: 1.3rem; }
.page-biofab .bs-family-icon { flex: 0 0 auto; display: grid; place-items: center; width: 3.4rem; height: 3.4rem; border-radius: 50%; border: 1px solid rgba(201,162,39,.55); background: radial-gradient(circle at 35% 30%, rgba(201,162,39,.22), rgba(10,10,8,.9) 70%); box-shadow: 0 0 0 6px rgba(201,162,39,.06); }
.page-biofab .bs-family-icon svg { width: 2rem; height: 2rem; stroke: var(--gold); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.page-biofab .bs-family-head h3 { margin: 0 0 .2rem; font-size: clamp(1.05rem, 2vw, 1.3rem); letter-spacing: .06em; text-transform: uppercase; }
.page-biofab .bs-family-head p { margin: 0; font-size: .95rem; }
.page-biofab .bs-clips { display: grid; gap: 1.6rem; grid-template-columns: repeat(auto-fit, minmax(13rem, 16rem)); justify-content: start; }
.page-biofab .bs-clip { margin: 0; }
.page-biofab .bs-clip-frame { position: relative; aspect-ratio: 1 / 1; border-radius: 50%; overflow: hidden; border: 1px solid rgba(201,162,39,.45); box-shadow: 0 0 0 7px rgba(201,162,39,.05), 0 1.2rem 2.4rem rgba(0,0,0,.5); background: #0b0a08; }
.page-biofab .bs-family:nth-of-type(even) .bs-clip:nth-child(even) .bs-clip-frame { border-radius: 46% 54% 50% 50% / 52% 46% 54% 48%; }
.page-biofab .bs-clip-frame video { width: 100%; height: 100%; object-fit: cover; display: block; }
.page-biofab .bs-clip figcaption { margin-top: .9rem; display: grid; gap: .2rem; text-align: center; }
.page-biofab .bs-clip-kicker { font-size: .66rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--gold); }
.page-biofab .bs-clip figcaption strong { color: var(--ink); font-size: 1rem; }
.page-biofab .bs-clip-text { color: var(--muted); font-size: .86rem; line-height: 1.5; }
@media (max-width: 560px) {
  .page-biofab .bs-clips { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.1rem; }
  .page-biofab .bs-clips--1 { grid-template-columns: minmax(0, 15rem); justify-content: center; }
  .page-biofab .bs-clip-text { font-size: .8rem; }
  .page-biofab .bs-family-icon { width: 2.8rem; height: 2.8rem; }
}

/* ===== Biofábrica: toroide simbiótico + espiral áurea (solo .page-biofab) ===== */
.page-biofab .bs-sym { position: relative; overflow: hidden; background: radial-gradient(ellipse 70% 60% at 50% 45%, rgba(201,162,39,.07), transparent 70%); }
.page-biofab .bs-sym-head { max-width: 44rem; }
.page-biofab .bs-sym-stage { margin-top: 1.4rem; }
.page-biofab .bs-sym-figure { position: relative; margin: 0 auto; max-width: 64rem; border-radius: 3rem 1rem 3rem 1rem; overflow: hidden; border: 1px solid rgba(201,162,39,.18); background: #060605; }
.page-biofab .bs-sym-svg { display: block; width: 100%; height: auto; }
.page-biofab .bs-ground { fill: none; stroke: rgba(201,162,39,.35); stroke-width: 1; stroke-dasharray: 2 6; }
.page-biofab .bs-fl { fill: none; stroke: url(#bsField); stroke-width: .9; stroke-dasharray: 26 10 4 10; animation: bsFlow 6s linear infinite; }
.page-biofab .bs-fl-b { stroke-width: 1.4; }
.page-biofab .bs-water { fill: none; stroke: #6fb2c9; stroke-opacity: .6; stroke-width: 1.4; filter: url(#bsGlow); }
.page-biofab .bs-torus { transform-box: view-box; transform-origin: 500px 400px; animation: bsBreath 9s ease-in-out infinite; }
.page-biofab .bs-roots path { fill: none; stroke: #c9965a; stroke-width: 2.2; stroke-linecap: round; opacity: .9; }
.page-biofab .bs-myco path { fill: none; stroke: #efe3c4; stroke-width: .7; opacity: .5; }
.page-biofab .bs-myco circle { fill: #efe3c4; opacity: .7; }
.page-biofab .bs-stem { fill: none; stroke: #8fb85a; stroke-width: 3; stroke-linecap: round; }
.page-biofab .bs-leaf { fill: rgba(122,170,80,.55); stroke: #a9cf72; stroke-width: 1; }
.page-biofab .bs-vein { stroke: rgba(230,240,200,.6); stroke-width: .8; fill: none; }
.page-biofab .bs-petals ellipse { fill: rgba(232,184,96,.75); stroke: rgba(255,226,150,.8); stroke-width: .6; }
.page-biofab .bs-florets circle { fill: #c9a227; opacity: .55; }
.page-biofab .bs-seed { cursor: pointer; outline: none; }
.page-biofab .bs-seed-hit { fill: transparent; }
.page-biofab .bs-seed-dot { fill: #f3d88a; stroke: #fff2c8; stroke-width: 1; transition: r .25s ease, fill .25s ease; filter: url(#bsGlow); }
.page-biofab .bs-seed text { fill: #2a1d09; font-size: 10px; font-weight: 800; pointer-events: none; }
.page-biofab .bs-seed:hover .bs-seed-dot, .page-biofab .bs-seed:focus-visible .bs-seed-dot, .page-biofab .bs-seed.is-active .bs-seed-dot { fill: #fff; r: 11; }
.page-biofab .bs-seed:focus-visible .bs-seed-hit { stroke: #fff; stroke-width: 2; }
.page-biofab .bs-orbit { fill: none; stroke: rgba(201,162,39,.22); stroke-width: 1; }
.page-biofab .bs-orbit-flow { stroke: rgba(201,162,39,.65); stroke-dasharray: 2 14; animation: bsOrbit 30s linear infinite; }
.page-biofab .bs-node-halo { fill: rgba(201,162,39,.07); stroke: rgba(201,162,39,.25); stroke-width: 1; }
.page-biofab .bs-node-core { fill: url(#bsNode); stroke: var(--gold); stroke-width: 1.3; }
.page-biofab .bs-icon path, .page-biofab .bs-icon circle { fill: none; stroke: #f0d58a; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.page-biofab .bs-node-micro .bs-icon circle, .page-biofab .bs-node-micro .bs-node-core { stroke: #9fd0b0; }
.page-biofab .bs-node-label { fill: #f4f1e8; font-size: 14px; font-weight: 600; letter-spacing: .02em; paint-order: stroke; stroke: #060605; stroke-width: 4px; stroke-linejoin: round; }
.page-biofab .bs-particle { fill: #ffe3a0; filter: url(#bsGlow); offset-rotate: 0deg; animation: bsParticle 30s linear infinite; }
.page-biofab .bs-ex path { fill: none; stroke: rgba(240,213,138,.55); stroke-width: 1; stroke-dasharray: 3 5; }
.page-biofab .bs-ex text { fill: #f0d58a; font-size: 13px; font-style: italic; paint-order: stroke; stroke: #060605; stroke-width: 4px; }
.page-biofab .bs-callout { position: absolute; right: 1.2rem; top: 1.2rem; width: min(18rem, 34%); padding: 1rem 1.1rem; border-radius: 1.4rem .5rem 1.4rem .5rem; background: rgba(10,10,8,.86); border: 1px solid rgba(201,162,39,.4); backdrop-filter: blur(6px); }
.page-biofab .bs-callout-num { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #f3d88a; color: #2a1d09; font-weight: 800; font-size: .8rem; }
.page-biofab .bs-callout h4 { margin: .5rem 0 .35rem; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.page-biofab .bs-callout p { margin: 0; font-size: .82rem; line-height: 1.5; color: var(--muted); }
.page-biofab .bs-lines-head { margin-top: 2.4rem; max-width: 44rem; }
.page-biofab .bs-lines-title { margin: 0 0 .6rem; font-size: clamp(1.2rem, 2.4vw, 1.6rem); text-transform: uppercase; letter-spacing: .03em; }
.page-biofab .bs-hint { color: var(--gold); }
.page-biofab .bs-lines { list-style: none; margin: 1.2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr)); gap: 1rem; }
.page-biofab .bs-line { display: flex; gap: .9rem; padding: 1rem 1.1rem; border: 1px solid rgba(201,162,39,.16); border-radius: 1.4rem .5rem 1.4rem .5rem; background: #0a0a08; transition: border-color .3s ease, background .3s ease; scroll-margin-top: 6rem; }
.page-biofab .bs-line.is-active, .page-biofab .bs-line:target { border-color: rgba(243,216,138,.7); background: linear-gradient(135deg, rgba(201,162,39,.12), #0a0a08 70%); }
.page-biofab .bs-line-num { flex: 0 0 auto; display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; border: 1px solid var(--gold); color: var(--gold); font-weight: 700; font-size: .8rem; }
.page-biofab .bs-line h4 { margin: .15rem 0 .35rem; font-size: .9rem; letter-spacing: .08em; text-transform: uppercase; }
.page-biofab .bs-line p { margin: 0; font-size: .86rem; line-height: 1.5; }
.page-biofab .bs-line a { color: var(--gold); }
@keyframes bsFlow { to { stroke-dashoffset: -100; } }
@keyframes bsBreath { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.025, 1.04); } }
@keyframes bsOrbit { to { stroke-dashoffset: -320; } }
@keyframes bsParticle { from { offset-distance: 0%; } to { offset-distance: 100%; } }
@media (max-width: 860px) {
  .page-biofab .bs-callout { display: none; }
  .page-biofab .bs-sym-figure { border-radius: 1.6rem .6rem 1.6rem .6rem; margin-inline: -.4rem; }
  .page-biofab .bs-node-label { font-size: 17px; }
  .page-biofab .bs-ex text { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .page-biofab .bs-fl, .page-biofab .bs-torus, .page-biofab .bs-orbit-flow, .page-biofab .bs-particle { animation: none; }
  .page-biofab .bs-particle { display: none; }
}
.page-biofab .bs-sym-stage { display: grid; grid-template-columns: minmax(0, 1fr) 17rem; gap: 1.4rem; align-items: center; }
.page-biofab .bs-sym-figure { max-width: none; width: 100%; }
.page-biofab .bs-callout { position: relative; right: auto; top: auto; width: auto; padding: 1.3rem 1.3rem 1.4rem; }
.page-biofab .bs-callout h4 { font-size: 1rem; }
.page-biofab .bs-callout p { font-size: .9rem; }
@media (max-width: 860px) { .page-biofab .bs-sym-stage { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 560px) {
  .page-biofab .bs-node-label { font-size: 25px; stroke-width: 6px; }
  .page-biofab .bs-ex text { font-size: 22px; stroke-width: 6px; }
  .page-biofab .bs-seed text { font-size: 12px; }
}

/* ===== Cultivos: poda fisiológica en viña (colaboración Maxime Pourveur / Architecte du Vivant) ===== */
.page-cultivos .poda-band { --pd: 168,104,132; position: relative; border-top: 1px solid var(--line); padding: 5.5rem 0;
  background: radial-gradient(50rem 26rem at 90% 0%, rgba(var(--pd),.08), transparent 60%); }
.page-cultivos .poda-intro { max-width: 46rem; }
.page-cultivos .poda-intro h2 { margin: .2rem 0 .9rem; }
.page-cultivos .poda-collab { display: flex; align-items: flex-start; gap: .6rem; margin: 0 0 1.1rem; color: #e9dfb8; font-size: .92rem; font-weight: 600; line-height: 1.45; }
.page-cultivos .poda-collab-dot { flex: 0 0 auto; width: .55rem; height: .55rem; margin-top: .42rem; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 .28rem rgba(201,162,39,.16); }
.page-cultivos .poda-lead { color: #dcd8cc; margin: 0; }
.page-cultivos .poda-steps { list-style: none; margin: 3rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 2rem 1.6rem; }
.page-cultivos .poda-step { margin: 0; }
.page-cultivos .poda-icon { display: grid; place-items: center; width: 2.9rem; height: 2.9rem; margin-bottom: .9rem; border-radius: 50% 50% 50% .35rem; border: 1px solid rgba(var(--pd),.55); background: rgba(var(--pd),.08); }
.page-cultivos .poda-step:nth-child(even) .poda-icon { border-radius: 50% 50% .35rem 50%; }
.page-cultivos .poda-icon svg { width: 1.45rem; height: 1.45rem; fill: none; stroke: rgb(var(--pd)); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.page-cultivos .poda-step h3 { margin: 0 0 .35rem; font-size: .98rem; color: #f4f0e2; }
.page-cultivos .poda-step p { margin: 0; color: #a9a79d; font-size: .9rem; line-height: 1.5; }
.page-cultivos .poda-result { margin: 2.6rem 0 0; max-width: 46rem; padding-left: 1rem; border-left: 2px solid var(--gold); color: var(--ink); }
.page-cultivos .poda-result-k { font-size: .68rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin-right: .5rem; }
.page-cultivos .poda-gallery { margin-top: 2.8rem; display: grid; grid-template-columns: 1.6fr 1fr; gap: 1.4rem; align-items: start; }
.page-cultivos .poda-fig { margin: 0; }
.page-cultivos .poda-fig img { width: 100%; height: 19rem; object-fit: cover; border-radius: 2rem .4rem 2rem .4rem; }
.page-cultivos .poda-fig + .poda-fig img { border-radius: .4rem 2rem .4rem 2rem; }
.page-cultivos .poda-fig figcaption { margin-top: .55rem; font-size: .8rem; line-height: 1.45; color: var(--muted); }
.page-cultivos .poda-fig-credit { margin: .7rem 0 0; font-size: .78rem; }
.page-cultivos .poda-more { margin-top: 2.4rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.page-cultivos .poda-more summary { cursor: pointer; list-style: none; padding: 1.1rem 0; color: var(--gold); font-weight: 600; font-size: .95rem; display: flex; align-items: center; gap: .6rem; }
.page-cultivos .poda-more summary::-webkit-details-marker { display: none; }
.page-cultivos .poda-more summary::before { content: "+"; display: grid; place-items: center; width: 1.6rem; height: 1.6rem; border-radius: 50%; border: 1px solid rgba(201,162,39,.5); font-weight: 400; transition: transform .3s ease; }
.page-cultivos .poda-more[open] summary::before { content: "−"; }
.page-cultivos .poda-more-body { padding: .2rem 0 2rem; }
.page-cultivos .poda-more-body > .muted:first-child { max-width: 50rem; }
.page-cultivos .poda-deep { margin-top: 1.6rem; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1.6rem; }
.page-cultivos .poda-deep-card h3 { margin: 0 0 .4rem; font-size: .98rem; color: #e9dfb8; }
.page-cultivos .poda-deep-card p { margin: 0; color: #a9a79d; font-size: .92rem; line-height: 1.55; }
.page-cultivos .poda-quote { margin: 2rem 0 0; max-width: 50rem; padding: 0 0 0 1.2rem; border-left: 2px solid rgba(var(--pd),.6); }
.page-cultivos .poda-quote p { margin: 0; font-size: 1.05rem; line-height: 1.6; color: #efe9d6; font-style: italic; }
.page-cultivos .poda-quote footer { margin-top: .5rem; font-size: .75rem; letter-spacing: .14em; text-transform: uppercase; color: var(--gold); }
.page-cultivos .poda-credit { margin: 1.4rem 0 0; font-size: .85rem; }
.page-cultivos .poda-band .actions { margin-top: 2rem; }
@media (max-width: 1080px) { .page-cultivos .poda-steps { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px) {
  .page-cultivos .poda-band { padding: 4rem 0; }
  .page-cultivos .poda-steps { grid-template-columns: 1fr; gap: 1.3rem; margin-top: 2.2rem; }
  .page-cultivos .poda-step { display: grid; grid-template-columns: 2.9rem 1fr; column-gap: 1rem; align-items: start; }
  .page-cultivos .poda-icon { grid-row: span 2; margin: 0; }
  .page-cultivos .poda-gallery { grid-template-columns: 1fr; gap: 1.2rem; }
  .page-cultivos .poda-fig img { height: 13rem; }
  .page-cultivos .poda-deep { grid-template-columns: 1fr; gap: 1.2rem; }
  .page-cultivos .poda-band p { overflow-wrap: anywhere; }
}

/* Formación: nuevo formato */
.page-formacion .formacion-card[data-kind="poda"] { --fm-c: 176,110,140; }

/* Sobre: prensa como lista compacta */
.page-sobre .prensa-rows { list-style: none; margin: 1.6rem 0 0; padding: 0; max-width: 58rem; }
.page-sobre .prensa-row { display: grid; grid-template-columns: 3.4rem 11rem minmax(0,1fr) auto; gap: .2rem 1.2rem; align-items: baseline; padding: .95rem 0; border-bottom: 1px solid var(--line); }
.page-sobre .pr-year { font-variant-numeric: tabular-nums; color: var(--gold); font-size: .85rem; font-weight: 600; }
.page-sobre .pr-src { color: #e9dfb8; font-size: .85rem; font-weight: 600; }
.page-sobre .pr-line { color: #bdbab0; font-size: .93rem; line-height: 1.5; }
.page-sobre .pr-links { font-size: .82rem; white-space: nowrap; }
.page-sobre .pr-links a { color: var(--gold); }
.page-sobre .prensa-more { max-width: 58rem; }
.page-sobre .prensa-more summary { cursor: pointer; padding: 1rem 0; color: var(--gold); font-weight: 600; font-size: .9rem; }
.page-sobre .prensa-more .prensa-rows { margin-top: 0; }
@media (max-width: 760px) {
  .page-sobre .prensa-row { grid-template-columns: 3rem minmax(0,1fr); }
  .page-sobre .pr-line, .page-sobre .pr-links { grid-column: 2; }
  .page-sobre .pr-links { white-space: normal; }
}

/* Casos: más voces + desplegable */
.page-casos .voces-grid--more { margin-top: 1.6rem; }
.page-casos .voces-more { margin-top: 1.6rem; }
.page-casos .voces-more summary { cursor: pointer; color: var(--gold); font-weight: 600; font-size: .9rem; padding: .6rem 0; }
.page-casos .voces-more .voz-card--small { margin-top: .8rem; }

/* Acuicultura: OCEAN CITIZEN (proyecto de UGI), bloque compacto */
.page-inner .acu-oc { border-top: 1px solid var(--line); }
.page-inner .acu-oc-block { max-width: 46rem; }
.page-inner .acu-oc-block h2 { margin: .2rem 0 .8rem; }
.page-inner .acu-oc-block p { margin: 0; line-height: 1.6; }
.page-inner .acu-oc-link { margin-top: 1rem !important; padding-left: .9rem; border-left: 2px solid rgba(201,162,39,.45); font-size: .9rem; }
.page-inner .acu-oc-block a { overflow-wrap: anywhere; }

/* Inicio · Formas de colaborar (compacto) */
.page-home .home-colab { padding-top: clamp(2.5rem, 5vw, 3.5rem); border-top: 0 !important; scroll-margin-top: 5.5rem; }
.page-home .home-colab .colab-head { text-align: center; margin: 0 auto 1.6rem; max-width: 40rem; }
.page-home .home-colab .colab-head h2 { margin: .5rem 0 0; }
.colab-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.colab-card { position: relative; border-radius: 1.6rem .5rem 1.6rem .5rem; border-color: rgba(201,162,39,.22); padding: 1.35rem 1.25rem 1.3rem; }
.colab-card h3 { font-size: .9rem; margin: .35rem 0 .45rem; line-height: 1.35; }
.colab-card p { margin: 0; font-size: .95rem; line-height: 1.55; }
.colab-num { display: inline-block; font-size: .72rem; letter-spacing: .14em; color: var(--gold); font-weight: 700; }
.colab-rec { max-width: 46rem; margin: 1.5rem auto 0; text-align: center; font-size: .98rem; line-height: 1.6; }
.colab-actions { justify-content: center; margin-top: 1.1rem; }
#form-contacto { scroll-margin-top: 6rem; }
@media (max-width: 960px) { .colab-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .colab-grid { grid-template-columns: 1fr; gap: .75rem; } .colab-card { padding: 1.1rem 1.1rem 1.05rem; } }

/* Páginas legales: subtítulos */
.legal h2 { margin: 2rem 0 .6rem; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; color: var(--ink); }
.legal h2 + p { margin-top: 0; }
.legal .btn { margin: .5rem 0 0; }

/* ===== Agricultura: curvas de nivel, capas de suelo y bancales (solo .page-agricultura) ===== */
.page-agricultura { --agr-sand: #c9a56a; --agr-loam: #8a6a44; --agr-leaf: #8fa866; }
.page-agricultura .page-hero-copy h1, .page-acuicultura .page-hero-copy h1 { font-size: clamp(2rem, 5.2vw, 3.7rem); max-width: 19ch; line-height: 1; }
.page-agricultura .page-hero-copy, .page-acuicultura .page-hero-copy { padding-bottom: 4.5rem; }
.page-agricultura .agr-contours, .page-acuicultura .acu-waves { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 70px; z-index: 1; pointer-events: none; }
.page-agricultura .agr-contours path { fill: none; stroke: var(--agr-sand); stroke-width: 1; vector-effect: non-scaling-stroke; opacity: .45; }
.page-agricultura .agr-contours path + path { opacity: .28; }
.page-agricultura .agr-contours path + path + path { opacity: .16; }
.page-agricultura .agr-head, .page-acuicultura .acu-head { max-width: 40rem; margin-bottom: 2.4rem; }
.page-agricultura .agr-head h2, .page-acuicultura .acu-head h2 { margin: .35rem 0 .6rem; }
.page-agricultura .agr-head p, .page-acuicultura .acu-head p { margin: 0; }
.page-agricultura .section { padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
/* Secuencia agua → personas sobre una curva de nivel */
.page-agricultura .agr-flow { position: relative; }
.page-agricultura .agr-flow-line { position: absolute; left: 0; top: 0; width: 100%; height: 3.4rem; overflow: visible; pointer-events: none; }
.page-agricultura .agr-flow-line path { fill: none; vector-effect: non-scaling-stroke; }
.page-agricultura .agr-flow-main { stroke: var(--agr-sand); stroke-width: 1.4; stroke-dasharray: 6 7; animation: agrFlow 18s linear infinite; }
.page-agricultura .agr-flow-c2 { stroke: rgba(201,165,106,.22); stroke-width: 1; }
.page-agricultura .agr-flow-c1 { display: none; }
@keyframes agrFlow { to { stroke-dashoffset: -130; } }
.page-agricultura .agr-flow-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 1.2rem; position: relative; }
.page-agricultura .agr-flow-step a { display: flex; flex-direction: column; align-items: center; text-align: center; color: inherit; padding: 0 .25rem .5rem; }
.page-agricultura .agr-flow-dot { width: 3.4rem; height: 3.4rem; border-radius: 50%; display: grid; place-items: center; background: #0b0b0b; border: 1px solid var(--agr-sand); color: var(--agr-sand); font-size: .78rem; font-weight: 700; letter-spacing: .08em; transition: background .3s ease, color .3s ease; }
.page-agricultura .agr-flow-step:nth-child(1) .agr-flow-dot { box-shadow: 0 0 0 6px rgba(111,179,192,.08); }
.page-agricultura .agr-flow-step:nth-child(3) .agr-flow-dot { box-shadow: 0 0 0 6px rgba(143,168,102,.1); }
.page-agricultura .agr-flow-step a:hover .agr-flow-dot, .page-agricultura .agr-flow-step a:focus-visible .agr-flow-dot { background: var(--agr-sand); color: #0b0b0b; }
.page-agricultura .agr-flow-kicker { margin-top: 1rem; font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--agr-sand); }
.page-agricultura .agr-flow-title { margin-top: .3rem; font-weight: 700; font-size: 1.02rem; line-height: 1.25; }
.page-agricultura .agr-flow-text { margin-top: .45rem; color: var(--muted); font-size: .9rem; line-height: 1.5; }
/* Qué es: perfil de suelo */
.page-agricultura .agr-what { background: linear-gradient(180deg, transparent, rgba(138,106,68,.07) 40%, transparent); }
.page-agricultura .agr-what-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.page-agricultura .agr-soil { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.2rem; align-items: center; }
.page-agricultura .agr-soil svg { width: 100%; height: auto; display: block; border-radius: 46% 46% 1.2rem 1.2rem / 16% 16% 1.2rem 1.2rem; overflow: hidden; }
.page-agricultura .agr-l0 { fill: #3b2c1d; } .page-agricultura .agr-l1 { fill: #2c2117; } .page-agricultura .agr-l2 { fill: #211a13; } .page-agricultura .agr-l3 { fill: #17130f; }
.page-agricultura .agr-grass path { stroke: var(--agr-leaf); stroke-width: 2; stroke-linecap: round; fill: none; }
.page-agricultura .agr-roots path { stroke: rgba(201,165,106,.55); stroke-width: 1.3; fill: none; stroke-linecap: round; }
.page-agricultura .agr-life circle { fill: rgba(143,168,102,.75); }
.page-agricultura .agr-stones ellipse { fill: none; stroke: rgba(201,165,106,.35); stroke-width: 1.2; }
.page-agricultura .agr-soil-legend { list-style: none; margin: 0; padding: 0; display: grid; gap: .9rem; font-size: .82rem; color: rgba(244,244,242,.8); }
.page-agricultura .agr-soil-legend li { display: flex; align-items: center; gap: .55rem; }
.page-agricultura .agr-sw { width: .8rem; height: .8rem; border-radius: 50%; flex: none; border: 1px solid rgba(201,165,106,.5); }
.page-agricultura .agr-sw0 { background: var(--agr-leaf); } .page-agricultura .agr-sw1 { background: #5a4129; } .page-agricultura .agr-sw2 { background: #3a2c1e; } .page-agricultura .agr-sw3 { background: #1f1a14; }
.page-agricultura .agr-what-copy h2 { margin: .35rem 0 1rem; }
.page-agricultura .agr-what-copy p { margin: 0 0 .9rem; line-height: 1.65; max-width: 36rem; }
/* En el campo: surcos */
.page-agricultura .agr-furrows { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.8rem); }
.page-agricultura .agr-furrow { margin: 0; }
.page-agricultura .agr-furrow-media { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 50% 50% 1rem 1rem / 22% 22% 1rem 1rem; border: 1px solid rgba(201,165,106,.25); background: #111; }
.page-agricultura .agr-furrow:nth-child(2) .agr-furrow-media { margin-top: 2.2rem; }
.page-agricultura .agr-furrow-media video { width: 100%; height: 100%; object-fit: cover; }
.page-agricultura .agr-furrow figcaption { display: grid; gap: .3rem; padding: 1rem .2rem 0; }
.page-agricultura .agr-furrow-kicker { font-size: .68rem; letter-spacing: .16em; text-transform: uppercase; color: var(--agr-sand); }
.page-agricultura .agr-furrow figcaption strong { font-size: 1.05rem; }
.page-agricultura .agr-furrow figcaption .muted { font-size: .92rem; line-height: 1.55; }
/* Enfoque: bancales escalonados */
.page-agricultura .agr-terraces { list-style: none; margin: 0; padding: 0; display: grid; gap: .8rem; }
.page-agricultura .agr-terrace { display: grid; grid-template-columns: 3.4rem minmax(9rem, 14rem) minmax(0, 1fr) auto; gap: 1.2rem; align-items: center; padding: 1.15rem 1.4rem; border: 1px solid rgba(201,165,106,.2); border-radius: 999px; background: linear-gradient(90deg, rgba(138,106,68,.1), transparent 70%); }
.page-agricultura .agr-terrace:nth-child(2) { margin-left: 4%; } .page-agricultura .agr-terrace:nth-child(3) { margin-left: 8%; } .page-agricultura .agr-terrace:nth-child(4) { margin-left: 12%; }
.page-agricultura .agr-terrace-num { font-size: 1.6rem; font-weight: 300; color: transparent; -webkit-text-stroke: 1px var(--agr-sand); }
.page-agricultura .agr-terrace h3 { margin: 0; font-size: 1.05rem; }
.page-agricultura .agr-terrace p { margin: 0; font-size: .93rem; line-height: 1.5; }
.page-agricultura .agr-terrace-link { white-space: nowrap; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; }
.page-agricultura .agr-tools-note { margin: 1.6rem 0 0; }
/* Límites + FAQ */
.page-agricultura .agr-honest-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4rem); align-items: start; }
.page-agricultura .agr-honest-copy h2 { margin: .35rem 0 1rem; }
.page-agricultura .agr-honest-copy p { line-height: 1.65; margin: 0; }
.page-agricultura .agr-faq-h { font-size: 1.1rem; margin: 0 0 .8rem; letter-spacing: .02em; }
.page-agricultura .agr-faq-item { border-top: 1px solid rgba(201,165,106,.22); }
.page-agricultura .agr-faq-item:last-child { border-bottom: 1px solid rgba(201,165,106,.22); }
.page-agricultura .agr-faq-item summary { cursor: pointer; list-style: none; padding: 1rem 2rem 1rem 0; font-weight: 600; position: relative; }
.page-agricultura .agr-faq-item summary::-webkit-details-marker { display: none; }
.page-agricultura .agr-faq-item summary::after { content: ""; position: absolute; right: .3rem; top: 50%; width: .9rem; height: .9rem; margin-top: -.45rem; border-radius: 50%; border: 1px solid var(--agr-sand); }
.page-agricultura .agr-faq-item[open] summary::after { background: var(--agr-sand); }
.page-agricultura .agr-faq-item p { margin: 0 0 1rem; line-height: 1.6; }
@media (max-width: 900px) {
  .page-agricultura .agr-flow-line { display: none; }
  .page-agricultura .agr-flow-list { grid-template-columns: 1fr; gap: 0; border-left: 1px dashed rgba(201,165,106,.45); margin-left: 1.6rem; }
  .page-agricultura .agr-flow-step a { display: grid; grid-template-columns: auto 1fr; column-gap: 1rem; align-items: start; text-align: left; padding: 0 0 1.4rem; margin-left: -1.6rem; }
  .page-agricultura .agr-flow-dot { grid-row: span 3; width: 3.2rem; height: 3.2rem; }
  .page-agricultura .agr-flow-kicker { margin-top: .2rem; }
  .page-agricultura .agr-what-grid, .page-agricultura .agr-honest-grid { grid-template-columns: 1fr; }
  .page-agricultura .agr-soil { max-width: 26rem; }
  .page-agricultura .agr-furrows { grid-template-columns: 1fr; }
  .page-agricultura .agr-furrow-media { aspect-ratio: 16 / 10; border-radius: 40% 40% 1rem 1rem / 26% 26% 1rem 1rem; }
  .page-agricultura .agr-furrow:nth-child(2) .agr-furrow-media { margin-top: 0; }
  .page-agricultura .agr-terrace { grid-template-columns: auto 1fr; border-radius: 1.6rem; gap: .5rem 1rem; }
  .page-agricultura .agr-terrace:nth-child(n) { margin-left: 0; }
  .page-agricultura .agr-terrace-num { grid-row: span 3; font-size: 1.4rem; }
}

/* ===== Acuicultura: ondas, corrientes, guijarro y frondas de kelp (solo .page-acuicultura) ===== */
.page-acuicultura { --acu-teal: #6fb3c0; --acu-deep: #12303a; --acu-foam: #a9d6d9; }
.page-acuicultura .section { padding: clamp(3.5rem, 7vw, 5.5rem) 0; }
.page-acuicultura .page-hero-veil { background: linear-gradient(to top, rgba(5,12,14,.95) 0%, rgba(5,12,14,.5) 45%, rgba(0,0,0,.3) 70%, rgba(0,0,0,.42) 100%), linear-gradient(90deg, rgba(0,0,0,.5) 0%, transparent 55%), radial-gradient(ellipse 80% 50% at 50% 100%, rgba(111,179,192,.14), transparent 55%); }
.page-acuicultura .acu-waves path { fill: none; stroke: var(--acu-teal); stroke-width: 1; vector-effect: non-scaling-stroke; }
.page-acuicultura .acu-w1 { opacity: .45; } .page-acuicultura .acu-w2 { opacity: .25; }
.page-acuicultura .acu-waves .acu-w3 { fill: var(--bg); stroke: none; }
.page-acuicultura .badge { color: var(--acu-teal); border-color: rgba(111,179,192,.4); }
/* Tres corrientes */
.page-acuicultura .acu-currents { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem); }
.page-acuicultura .acu-current { position: relative; padding-top: .2rem; }
.page-acuicultura .acu-ripple { width: 4.2rem; height: 4.2rem; display: block; margin-bottom: 1rem; overflow: visible; }
.page-acuicultura .acu-ripple circle { fill: none; stroke: var(--acu-teal); stroke-width: 1; transform-origin: 40px 40px; }
.page-acuicultura .acu-ripple circle:nth-child(1) { fill: rgba(111,179,192,.25); }
.page-acuicultura .acu-ripple circle:nth-child(2) { opacity: .7; } .page-acuicultura .acu-ripple circle:nth-child(3) { opacity: .45; } .page-acuicultura .acu-ripple circle:nth-child(4) { opacity: .22; animation: acuRipple 6s ease-out infinite; }
.page-acuicultura .acu-current:nth-child(2) .acu-ripple circle:nth-child(4) { animation-delay: 2s; }
.page-acuicultura .acu-current:nth-child(3) .acu-ripple circle:nth-child(4) { animation-delay: 4s; }
@keyframes acuRipple { 0% { transform: scale(.6); opacity: .5; } 100% { transform: scale(1.15); opacity: 0; } }
.page-acuicultura .acu-current h3 { margin: 0 0 .45rem; font-size: 1.08rem; }
.page-acuicultura .acu-current p { margin: 0; line-height: 1.55; font-size: .95rem; }
/* Mejillonera: vídeo en guijarro */
.page-acuicultura .acu-filter { background: radial-gradient(ellipse 70% 60% at 25% 50%, rgba(18,48,58,.55), transparent 70%); }
.page-acuicultura .acu-filter-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.page-acuicultura .acu-pebble { aspect-ratio: 1; max-width: 30rem; overflow: hidden; border-radius: 46% 54% 42% 58% / 55% 45% 55% 45%; border: 1px solid rgba(111,179,192,.35); box-shadow: 0 0 0 14px rgba(111,179,192,.05), 0 0 0 30px rgba(111,179,192,.025); background: #0a1418; }
.page-acuicultura .acu-pebble video { width: 100%; height: 100%; object-fit: cover; }
.page-acuicultura .acu-filter-copy h2 { margin: .35rem 0 1rem; }
.page-acuicultura .acu-filter-copy p { margin: 0; line-height: 1.65; max-width: 32rem; }
/* UGI: frondas */
.page-acuicultura .acu-ugi { border-top: 1px solid rgba(111,179,192,.14); }
.page-acuicultura .acu-fronds { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 1.6rem); align-items: start; }
.page-acuicultura .acu-frond { position: relative; overflow: hidden; padding: 1.6rem 1.5rem 1.4rem 4rem; border: 1px solid rgba(111,179,192,.22); border-radius: 2.4rem .8rem 2.4rem .8rem; background: linear-gradient(170deg, rgba(18,48,58,.5), rgba(5,5,5,.2) 70%); scroll-margin-top: calc(var(--nav-h) + 1rem); }
.page-acuicultura .acu-frond:nth-child(2) { margin-top: 1.8rem; }
.page-acuicultura .acu-kelp { position: absolute; left: .7rem; bottom: 0; width: 2.4rem; height: 82%; pointer-events: none; }
.page-acuicultura .acu-kelp-stem { fill: none; stroke: rgba(111,179,192,.55); stroke-width: 1.4; }
.page-acuicultura .acu-kelp-leaf { fill: rgba(111,179,192,.18); stroke: rgba(111,179,192,.5); stroke-width: 1; }
.page-acuicultura .acu-frond-tag { font-size: .68rem; letter-spacing: .14em; text-transform: uppercase; color: var(--acu-teal); }
.page-acuicultura .acu-frond h3 { margin: .45rem 0 .6rem; font-size: 1.1rem; line-height: 1.25; }
.page-acuicultura .acu-frond p { margin: 0; line-height: 1.6; font-size: .93rem; }
.page-acuicultura .acu-frond-links { margin-top: .9rem !important; font-size: .85rem; overflow-wrap: anywhere; }
.page-acuicultura .acu-frond a, .page-acuicultura .acu-head a { color: var(--acu-foam); }
@media (max-width: 900px) {
  .page-acuicultura .acu-currents, .page-acuicultura .acu-fronds, .page-acuicultura .acu-filter-grid { grid-template-columns: 1fr; }
  .page-acuicultura .acu-current { display: grid; grid-template-columns: 3.4rem 1fr; column-gap: 1rem; }
  .page-acuicultura .acu-ripple { grid-row: span 2; width: 3.4rem; height: 3.4rem; margin: 0; }
  .page-acuicultura .acu-pebble { max-width: 22rem; margin-inline: auto; }
  .page-acuicultura .acu-frond:nth-child(2) { margin-top: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .page-agricultura .agr-flow-main, .page-acuicultura .acu-ripple circle { animation: none !important; }
  .page-agricultura .agr-flow-dot { transition: none; }
}

/* ===== Menú Sistema: subtítulo «Sectores» (todas las páginas) ===== */
.site-header .nav-drop-menu .nav-drop-sep { margin: .45rem .95rem .1rem; padding-top: .6rem; border-top: 1px solid var(--line); font-size: .58rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(201,162,39,.75); font-weight: 600; }
.site-header .nav-drop-menu a[aria-current="page"] { color: var(--gold); }
@media (max-width: 980px) {
  .site-header .nav-drop-menu .nav-drop-sep { margin: .5rem 0 .1rem; padding-top: .7rem; font-size: .7rem; }
}

/* ===== Casos: antes/después en ficha de campo (L'Horta de Carme) ===== */
.page-casos .case-field > .case-ba { grid-area: gallery; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin: .4rem 0 0; }
.page-casos .case-ba figure { position: relative; margin: 0; min-width: 0; overflow: hidden; aspect-ratio: 16/9; border: 1px solid rgba(201,162,39,.25); border-radius: 2.2rem .8rem 2.2rem .8rem; }
.page-casos .case-ba figure + figure { border-radius: .8rem 2.2rem .8rem 2.2rem; }
.page-casos .case-ba picture { display: block; width: 100%; height: 100%; }
.page-casos .case-ba img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; transition: transform .6s ease; }
.page-casos .case-ba figure:hover img { transform: scale(1.04); }
.page-casos .case-ba figcaption { position: absolute; left: .7rem; bottom: .7rem; padding: .28rem .7rem; border-radius: 999px; font-family: var(--mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase; line-height: 1.2; color: #f4f0e2; background: rgba(9,9,8,.78); border: 1px solid rgba(201,162,39,.4); }
@media (max-width: 480px) {
  .page-casos .case-field > .case-ba { gap: .4rem; }
  .page-casos .case-ba figure { aspect-ratio: 4/5; }
  .page-casos .case-ba figcaption { left: .4rem; right: .4rem; bottom: .4rem; font-size: .56rem; letter-spacing: .06em; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .page-casos .case-ba img { transition: none; } .page-casos .case-ba figure:hover img { transform: none; } }
