/* Psicología JAMARÍ — sistema (ver DESIGN.md). Dirección: colour-chapters, tasteskill v2 seed 1281811028 */

:root {
  --paper: #fbfbfb;
  --surface: #eef1f4;
  --sand: #e8ecf1;
  --ink: #0f1f33;
  --muted: #334155;
  --navy: #14305a;
  --navy-deep: #0b2440;
  --navy-mid: #2a4f85;
  --navy-soft: #9db5d8;
  --navy-pale: #dbe6f5;
  --sport: #2090ec;
  --sport-deep: #003c78;
  --sport-night: #021636;
  --health: #c43000;
  --health-deep: #a43400;
  --health-night: #8c2400;
  --work: #188448;
  --work-deep: #044424;
  --work-night: #003020;
  --white: #ffffff;

  --bg: var(--paper);
  --accent: var(--navy);
  --accent-ink: var(--white);

  --font: "Cabinet Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;

  --step-small: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
  --step-body: clamp(1.0625rem, 1rem + 0.25vw, 1.1875rem);
  --step-lead: clamp(1.25rem, 1.1rem + 0.7vw, 1.625rem);
  --step-head: clamp(2.5rem, 1.2rem + 5vw, 5rem);
  --step-display: clamp(3.75rem, 1rem + 10vw, 10rem);

  --margin: clamp(1rem, 2.2vw, 2rem);
  --gutter: clamp(1rem, 2vw, 2rem);
  --section: clamp(5rem, 12vw, 13rem);
  --radius: 0px;

  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-soft: cubic-bezier(0.33, 1, 0.68, 1);
  --t-press: 140ms;
  --t-hover: 180ms;
  --t-ui: 240ms;
  --t-reveal: 800ms;
}

/* ---------- reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--font); font-size: var(--step-body); line-height: 1.5; font-kerning: normal; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
h1, h2, h3, h4, p, figure, blockquote, ul, ol, dl, dd { margin: 0; }
ul[class], ol[class] { padding: 0; list-style: none; }
img, video, svg, canvas { display: block; max-width: 100%; }
img, video { height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
button { background: none; border: 0; padding: 0; cursor: pointer; }
a { color: inherit; }
:target { scroll-margin-top: 6rem; }
::selection { background: var(--navy); color: var(--white); }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ---------- type ---------- */
h1, h2, h3 { font-weight: 800; text-wrap: balance; hyphens: none; }
.display { font-size: var(--step-display); line-height: 0.9; letter-spacing: -0.035em; margin-left: -0.04em; }
.head { font-size: var(--step-head); line-height: 0.95; letter-spacing: -0.03em; }
.lead { font-size: var(--step-lead); line-height: 1.35; max-width: 40ch; font-weight: 400; }
.small { font-size: var(--step-small); line-height: 1.45; }
.muted { color: var(--muted); }
p { max-width: 62ch; text-wrap: pretty; }
p + p { margin-top: 0.9em; }
.nums { font-variant-numeric: tabular-nums; }
strong { font-weight: 500; }

/* ---------- layout ---------- */
.wrap { padding-inline: var(--margin); }
.grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
.cover { width: 100%; height: 100%; object-fit: cover; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.only-wide { display: none; }
@media (min-width: 48em) { .only-wide { display: inline; } }

/* ---------- controls ---------- */
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0 1.5rem; background: var(--accent); color: var(--accent-ink); border-radius: var(--radius); text-decoration: none; white-space: nowrap; font-weight: 500; transition: transform var(--t-press) var(--ease-out), background-color var(--t-hover) ease, color var(--t-hover) ease; }
.wp-block-button__link:active { transform: scale(0.97); }
.button--paper .wp-block-button__link { background: var(--white); color: var(--navy); }
.link { text-decoration: underline; text-underline-offset: 0.2em; text-decoration-thickness: 0.07em; text-decoration-color: color-mix(in srgb, currentColor 45%, transparent); transition: text-decoration-color var(--t-hover) ease; }
@media (hover: hover) and (pointer: fine) {
  .link:hover { text-decoration-color: currentColor; }
  .wp-block-button__link:hover { filter: brightness(1.12); }
  .button--paper .wp-block-button__link:hover { filter: none; background: var(--navy-pale); }
}
.field { width: 100%; min-height: 3rem; padding: 0.7rem 0.9rem; background: var(--white); border: 0; border-radius: var(--radius); font-size: max(1rem, var(--step-body)); color: var(--ink); }

/* ---------- chapter fields ---------- */
.chapter { position: relative; color: var(--chapter-ink, var(--ink)); background: var(--chapter-bg, var(--paper)); }
.chapter--navy { --chapter-bg: var(--navy-deep); --chapter-ink: var(--white); --accent: var(--white); --accent-ink: var(--navy-deep); }
.chapter--sand { --chapter-bg: var(--sand); --chapter-ink: var(--ink); }
.chapter--sport { --chapter-bg: var(--sport); --chapter-ink: var(--sport-night); --accent: var(--sport-night); --accent-ink: var(--white); }
.chapter--sport-deep { --chapter-bg: var(--sport-deep); --chapter-ink: var(--white); --accent: var(--white); --accent-ink: var(--sport-deep); }
.chapter--health { --chapter-bg: var(--health-deep); --chapter-ink: var(--white); --accent: var(--white); --accent-ink: var(--health-deep); }
.chapter--work { --chapter-bg: var(--work-deep); --chapter-ink: var(--white); --accent: var(--white); --accent-ink: var(--work-deep); }
.chapter .muted { color: inherit; }

/* ====================================================================
   PORTADA
   ==================================================================== */

/* ---------- hero: pila de carpetas con pestañas ---------- */
.folders-hero { min-height: 100svh; display: grid; grid-template-rows: auto 1fr; overflow: hidden; }
.folders-hero__top { text-align: center; padding-top: clamp(2rem, 6vw, 5rem); }
.folders-hero__top h1 { display: inline-block; max-width: 100%; white-space: nowrap; }
.folders-hero__top p { margin: 1.25rem auto 0; max-width: 46ch; text-align: center; font-size: var(--step-lead); line-height: 1.35; }
.folders { position: relative; margin-top: clamp(2rem, 5vw, 4rem); height: clamp(420px, 60svh, 640px); }
.folder { position: absolute; left: 50%; width: 86%; translate: -50% 0; top: calc(var(--n) * 64px); bottom: -2rem; color: var(--f-ink); transition: top 450ms var(--ease-in-out); }
.folder__tab { margin: 0; position: absolute; bottom: 100%; left: var(--tab-x); width: clamp(140px, 18vw, 240px); height: 40px; background: var(--f-bg); color: var(--f-ink); font-weight: 500; font-size: var(--step-body); letter-spacing: 0; clip-path: polygon(0 100%, 12px 0, calc(100% - 12px) 0, 100% 100%); }
.folder__tab a { display: flex; align-items: center; height: 100%; padding-inline: 1.1rem; text-decoration: none; color: inherit; }
.folder__body { position: absolute; inset: 0; background: var(--f-bg); padding: 2rem; display: grid; grid-template-columns: 1fr; align-content: start; gap: 1.25rem; }
.folder__body .folder__claim { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); line-height: 1.15; letter-spacing: -0.02em; font-weight: 800; max-width: 26ch; }
.folder__body p { font-size: var(--step-body); max-width: 48ch; }
.folder__body .wp-block-button__link { justify-self: start; background: var(--f-ink); color: var(--f-bg); clip-path: polygon(0 100%, 8px 0, calc(100% - 8px) 0, 100% 100%); padding-inline: 1.75rem; }
.folder:not(.is-front) .folder__body > * { visibility: hidden; }
.folder.is-front { top: calc(4 * 64px); z-index: 6; }
.js .folder.is-front .folder__body > * { animation: rise var(--t-reveal) var(--ease-out) both; animation-delay: calc(var(--i, 0) * 80ms + 60ms); }
.folder--sand { --f-bg: var(--sand); --f-ink: var(--navy-deep); }
.folder--sport { --f-bg: var(--sport); --f-ink: var(--sport-night); }
.folder--health { --f-bg: var(--health-deep); --f-ink: var(--white); }
.folder--work { --f-bg: var(--work-deep); --f-ink: var(--white); }
.folder--pale { --f-bg: var(--navy-pale); --f-ink: var(--navy-deep); }
.folder__meta { display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; font-weight: 500; }
@media (min-width: 64em) {
  .folder__body { grid-template-columns: 7fr 5fr; align-items: end; }
  .folder__body .wp-block-button__link { grid-column: 2; justify-self: end; }
  .folder__body .folder__claim { grid-column: 1 / -1; }
}
@media (max-width: 48em) {
  .folders-hero__top h1 { white-space: normal; font-size: clamp(3.25rem, 15vw, 5rem); }
  .folder { width: 100%; top: calc(var(--n) * 52px); }
  .folder.is-front { top: calc(4 * 52px); }
  .folder__tab { height: 32px; font-size: 0.9375rem; width: auto; min-width: 96px; left: min(var(--tab-x), calc(100% - 118px)); white-space: nowrap; }
  .folder__tab a { padding-inline: 0.75rem; }
  .folder__body { padding: 1.25rem; }
  .folder__body .wp-block-button__link { width: 100%; }
  .folder__body p:not(.folder__claim):not(.folder__meta) { order: 5; }
  .folders { height: clamp(380px, 56svh, 560px); }
}

/* ---------- ramas: hojas apiladas sticky ---------- */
.sheets { padding-top: var(--section); }
@media (max-width: 48em) { .sheets { padding-top: 9rem; } }
.sheets__title { padding-bottom: 3rem; }
.sheet { position: sticky; top: calc(var(--k) * 72px); min-height: calc(86svh - var(--k) * 72px); color: var(--f-ink); background: var(--f-bg); display: grid; grid-template-columns: 1fr; }
.sheet__band { min-height: 72px; display: flex; align-items: center; padding: 0 var(--margin); }
.sheet__band h3 { font-size: var(--step-lead); line-height: 1; letter-spacing: -0.03em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
@media (min-width: 64em) { .sheet__band h3 { font-size: 2.5rem; } }
.sheet__text { padding: var(--margin); display: grid; align-content: end; gap: 1.5rem; }
.sheet__text p { max-width: 40ch; }
.sheet__text .wp-block-button__link { justify-self: start; background: var(--f-ink); color: var(--f-bg); }
.sheet__text .price { font-weight: 500; }
.sheet__photo { position: relative; min-height: 50vw; overflow: hidden; }
.sheet__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sheet--sport { --f-bg: var(--sport-deep); --f-ink: var(--white); }
.sheet--health { --f-bg: var(--health-deep); --f-ink: var(--white); }
.sheet--work { --f-bg: var(--work-deep); --f-ink: var(--white); }
@media (min-width: 48em) {
  .sheet { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: 72px 1fr; }
  .sheet__band { grid-column: 1 / -1; }
  .sheet__text { grid-column: 1 / 7; grid-row: 2; }
  .sheet__photo { grid-column: 7 / -1; grid-row: 2; min-height: 0; }
}
@media (max-width: 48em) {
  .sheet { top: calc(var(--k) * 52px); min-height: calc(70svh - var(--k) * 52px); }
  .sheet__band { min-height: 52px; }
  .sheet__photo { order: 2; aspect-ratio: 4/3; }
  .sheet__text { order: 3; padding: 1.25rem; }
}

/* ---------- método: acordeón horizontal ---------- */
.method { padding-block: var(--section); }
.method__intro { display: grid; gap: 1.5rem; margin-bottom: 4rem; }
.method__intro p { max-width: 48ch; }
@media (min-width: 64em) {
  .method__intro { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: end; }
  .method__intro h2 { grid-column: 1 / 6; }
  .method__intro p { grid-column: 7 / 12; }
}
.acc { display: flex; flex-direction: column; overflow: hidden; }
.method { overflow: hidden; }
.acc__stage { position: relative; display: flex; flex-direction: column; justify-content: space-between; background: var(--s-bg); color: var(--s-ink); min-height: 64px; cursor: pointer; transition: flex-basis 450ms var(--ease-in-out); }
.acc__stage:nth-child(1) { --s-bg: var(--navy-deep); --s-ink: var(--white); }
.acc__stage:nth-child(2) { --s-bg: var(--navy); --s-ink: var(--white); }
.acc__stage:nth-child(3) { --s-bg: var(--navy-mid); --s-ink: var(--white); }
.acc__stage:nth-child(4) { --s-bg: var(--navy-soft); --s-ink: var(--navy-deep); }
.acc__name { padding: 1.1rem 1.25rem; font-weight: 800; font-size: var(--step-body); text-align: left; width: 100%; color: inherit; }
.acc__panel { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms var(--ease-out); }
.acc__panel > div { overflow: hidden; }
.acc__panel p { padding: 0 1.25rem 1.5rem; max-width: 36ch; }
.acc__panel .acc__title { display: none; }
.acc__stage.is-open .acc__panel { grid-template-rows: 1fr; }
@media (min-width: 64em) {
  .acc { flex-direction: row; height: 520px; }
  .acc__stage { flex: 0 0 14%; min-width: 0; overflow: hidden; }
  .acc__stage.is-open { flex-basis: 58%; }
  .acc__name { position: absolute; left: 1.1rem; bottom: 1.25rem; writing-mode: vertical-rl; rotate: 180deg; white-space: nowrap; font-size: var(--step-body); padding: 0; width: auto; line-height: 1; }
  .acc__stage.is-open .acc__name { opacity: 0; pointer-events: none; }
  .acc__panel { position: absolute; inset: 0; grid-template-rows: auto 1fr; padding: 0; display: grid; grid-template-columns: 1fr 1fr; opacity: 0; transition: opacity 300ms var(--ease-out); }
  .acc__panel > div { display: contents; }
  .acc__panel .acc__title { display: block; grid-column: 1; grid-row: 1; font-size: 2.5rem; letter-spacing: -0.03em; line-height: 1; font-weight: 800; padding: 2rem 2rem 0; max-width: 16ch; }
  .acc__panel p { grid-column: 1; grid-row: 2; align-self: end; padding: 0 2rem 2rem; }
  .acc__panel img { grid-column: 2; grid-row: 1 / 3; width: 100%; height: 100%; object-fit: cover; }
  .acc__stage.is-open .acc__panel { opacity: 1; transition-delay: 150ms; }
}
@media (max-width: 64em) { .acc__panel img { display: none; } }

/* ---------- sobre mí: panel con retrato a sangre ---------- */
.about-panel { margin: 20px; background: var(--navy-deep); color: var(--white); overflow: hidden; display: grid; grid-template-columns: 1fr; grid-template-areas: "head" "photo" "side"; }
.about-panel h2 { grid-area: head; font-size: clamp(2rem, 1rem + 4vw, 4rem); line-height: 0.95; letter-spacing: -0.03em; max-width: 21ch; padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3.5rem) 0; }
.about-panel__portrait { grid-area: photo; position: relative; margin: 2rem 0 0; aspect-ratio: 4 / 5; overflow: hidden; }
.about-panel__portrait img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% 28%; }
.about-panel__side { grid-area: side; display: grid; gap: 2rem; align-content: start; padding: clamp(1.5rem, 4vw, 3.5rem); }
.about-panel__side h3 { font-size: var(--step-body); line-height: 1.2; font-weight: 800; margin-bottom: 0.6rem; }
.about-panel__side p { font-size: var(--step-body); max-width: 40ch; }
.about-panel .wp-block-button__link { justify-self: start; background: var(--sport); color: var(--sport-night); }
@media (min-width: 64em) {
  .about-panel { grid-template-columns: 5fr 7fr; grid-template-rows: auto 1fr; grid-template-areas: "photo head" "photo side"; min-height: 80svh; }
  .about-panel__portrait { margin: 0; aspect-ratio: auto; min-height: 100%; }
  .about-panel h2 { padding: 3.5rem 3.5rem 0; }
  .about-panel__side { grid-template-columns: 1fr 1fr; column-gap: 3rem; row-gap: 2.5rem; align-content: end; padding: 3rem 3.5rem 3.5rem; }
  .about-panel__side > :last-child { grid-column: 1 / -1; }
}
@media (max-width: 64em) {
  .about-panel { margin: 10px; }
}

/* ---------- cierre: fila de bloques ---------- */
.tiles { display: grid; grid-template-columns: 1fr; gap: 10px; padding-block: var(--section) 10px; }
.tile { min-height: 300px; position: relative; overflow: hidden; }
.tile--accent { background: var(--navy); color: var(--white); padding: 40px; display: grid; align-content: center; gap: 1rem; }
.tile--accent h2 { font-size: 2.5rem; letter-spacing: -0.03em; line-height: 1; }
.tile--accent p { max-width: 48ch; }
.tile--accent .wp-block-button__link { background: var(--white); color: var(--navy); justify-self: start; margin-top: 0.5rem; }
.tile--photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tile--flat { background: var(--navy-pale); }
@media (min-width: 64em) {
  .tiles { grid-template-columns: repeat(12, minmax(0, 1fr)); margin-inline: calc(var(--margin) * -1); }
  .tile { min-height: 360px; }
  .tile--photo { grid-column: 1 / 3; }
  .tile--accent { grid-column: 3 / 11; }
  .tile--flat { grid-column: 11 / -1; }
  .tile--photo.tile--end { grid-column: 11 / -1; }
}
@media (max-width: 64em) {
  .tiles { grid-template-columns: 1fr 1fr; }
  .tile--accent { padding: 24px; }
  .tile--accent h2 { font-size: 1.75rem; }
  .tile--accent { grid-column: 1 / -1; }
  .tile--photo, .tile--flat { min-height: 120px; }
}

/* ---------- footer: el símbolo a gran escala ---------- */
.footer { background: var(--navy-deep); color: var(--white); padding-block: var(--section) 2rem; }
.footer__mark { display: block; width: min(100%, 520px); height: auto; background: none; margin-bottom: 56px; }
.footer__wordmark { display: block; width: min(100%, 720px); height: auto; background: none; margin-bottom: 56px; }
.footer__grid { display: grid; gap: 2.5rem; }
.footer__links { display: grid; gap: 0.5rem; }
.footer__links a { text-decoration: none; }
.footer__contact p { max-width: none; }
.footer__contact a { text-decoration: none; font-weight: 500; }
.footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; align-items: center; margin-top: 4rem; }
.footer .credits { font-size: var(--step-small); max-width: none; margin-top: 2rem; }
.footer .credits a { color: var(--white); }
@media (min-width: 64em) {
  .footer__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
  .footer__links { grid-column: span 2; }
  .footer__contact { grid-column: 9 / -1; }
}
@media (max-width: 64em) { .footer__grid { grid-template-columns: 1fr 1fr; } .footer__contact { grid-column: 1 / -1; } }

/* ====================================================================
   JAMA SPORT
   ==================================================================== */

/* ---------- hero: campo de color, dos tintas ---------- */
.field-hero { min-height: 100svh; display: grid; grid-template-rows: auto 1fr auto; }
.field-hero__statement { padding-top: 6vh; }
.field-hero__statement h1 { font-size: clamp(5rem, 14vw, 13.75rem); line-height: 0.82; letter-spacing: -0.03em; margin-left: -0.04em; }
.field-hero__statement h1 .pale { color: var(--white); display: block; }
.field-hero__statement h1 .dark { color: var(--sport-night); display: block; }
.field-hero__bottom { display: grid; gap: 1.5rem; padding-bottom: 24px; }
.field-hero__bottom p { color: var(--sport-night); max-width: min(40ch, 100%); }
.field-hero__bottom .wp-block-button__link { justify-self: start; background: var(--sport-night); color: var(--white); }
@media (min-width: 64em) {
  .field-hero__bottom { grid-template-columns: 1fr 24vw; align-items: end; padding-bottom: 3vw; }
  .field-hero__bottom p { grid-column: 2; text-align: right; justify-self: end; font-size: var(--step-body); }
  .field-hero__bottom .wp-block-button__link { grid-column: 1; grid-row: 1; }
}
/* dos botones: el segundo, solo con contorno */
.field-hero__bottom .field-hero__actions { display: flex; flex-wrap: wrap; gap: 8px; max-width: none; }
.field-hero__bottom .wp-block-button__link + .wp-block-button__link { background: none; color: var(--sport-night); box-shadow: inset 0 0 0 2px var(--sport-night); }
@media (hover: hover) and (pointer: fine) {
  .field-hero__bottom .wp-block-button__link + .wp-block-button__link:hover { filter: none; background: color-mix(in srgb, var(--sport-night) 12%, transparent); }
}
@media (min-width: 64em) {
  .field-hero__bottom .field-hero__actions { grid-column: 1; grid-row: 1; justify-self: start; text-align: left; }
}
@media (max-width: 48em) {
  .field-hero__statement h1 { font-size: 21vw; }
  .nav { flex-wrap: wrap; }
  .nav__action { padding-inline: 1rem; }
}

/* ---------- tarifas: bloques que crecen ---------- */
.tiers { padding-block: var(--section); }
.tiers__row { display: grid; gap: 8px; align-items: end; }
.tiers__title { align-self: start; padding-bottom: 2rem; }
.tier { background: var(--t-bg); color: var(--t-ink); display: grid; grid-template-rows: 1fr 64px; min-height: var(--t-h, auto); }
.tier__body { padding: 28px; display: grid; align-content: start; gap: 0.6rem; }
.tier__name { font-size: var(--step-lead); font-weight: 800; letter-spacing: -0.02em; line-height: 1; }
.tier__price { font-size: 2.5rem; font-weight: 800; letter-spacing: -0.03em; line-height: 1; margin-block: 0.4rem 0.6rem; text-wrap: balance; }
.tier__body ul { display: grid; gap: 0.35rem; list-style: none; padding: 0; margin: 0; }
.tier__body li { max-width: 30ch; }
.tier__body li::before { content: ""; display: inline-block; width: 0.5em; height: 0.5em; background: currentColor; margin-right: 0.6em; vertical-align: middle; }
.tier__go { display: flex; align-items: center; padding-inline: 28px; background: var(--t-strip); color: var(--t-strip-ink); text-decoration: none; font-weight: 500; }
.tier--map { --t-bg: var(--sport); --t-ink: var(--sport-night); --t-strip: var(--sport-deep); --t-strip-ink: var(--white); }
.tier--perf { --t-bg: var(--sport-deep); --t-ink: var(--white); --t-strip: var(--sport-night); --t-strip-ink: var(--white); }
.tier--365 { --t-bg: var(--sport-night); --t-ink: var(--white); --t-strip: var(--navy-deep); --t-strip-ink: var(--white); }
.tiers__note { margin-top: 1.5rem; max-width: 60ch; }
@media (min-width: 64em) {
  .tiers__row { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .tiers__title { grid-column: 1 / 9; grid-row: 1; }
  .tier { grid-column: span 4; grid-row: 1 / 3; }
  .tier--map { --t-h: 360px; grid-row: 2; }
  .tier--perf { --t-h: 480px; grid-row: 2; }
  .tier--365 { --t-h: 600px; grid-row: 1 / 3; }
  .tiers__row { grid-template-rows: auto auto; }
}
@media (max-width: 64em) { .tier__price { font-size: 2.75rem; } }

/* ---------- situaciones: hojas (reutiliza .sheet) ---------- */
.sheet--situ1 { --f-bg: var(--sport-deep); --f-ink: var(--white); }
.sheet--situ2 { --f-bg: var(--navy); --f-ink: var(--white); }
.sheet--situ3 { --f-bg: var(--sport-night); --f-ink: var(--white); }
.sheet .need { font-weight: 500; }

/* ---------- organizaciones: foto fija, lista activa ---------- */
.index { padding-block: var(--section); display: grid; gap: 2rem 3rem; }
.index__photo { position: sticky; top: 12vh; aspect-ratio: 4/5; width: 34vw; max-width: 100%; }
.index__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 300ms ease; }
.index__photo img.is-on { opacity: 1; }
.index__title { font-size: clamp(2rem, 1rem + 4vw, 4rem); letter-spacing: -0.03em; line-height: 1; }
.index__row { padding-block: 0.9rem; color: var(--muted); transition: color var(--t-hover) ease; }
.index__row.is-active { color: var(--ink); }
.index__rowhead { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; width: 100%; text-align: left; font-size: var(--step-lead); font-weight: 500; color: inherit; }
.index__rowhead span:last-child { font-size: var(--step-small); font-weight: 400; white-space: nowrap; }
.index__desc { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 320ms var(--ease-out); }
.index__desc > p { overflow: hidden; max-width: 34ch; padding-top: 0; font-size: var(--step-body); }
.index__row.is-active .index__desc { grid-template-rows: 1fr; }
.index__row.is-active .index__desc > p { padding-top: 0.5rem; }
.index__cta { margin-top: 2.5rem; }
@media (min-width: 64em) {
  .index { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: start; }
  .index__title { grid-column: 7 / 12; grid-row: 1; }
  .index__photo { grid-column: 1 / 6; grid-row: 1 / 3; }
  .index__list { grid-column: 7 / 12; grid-row: 2; }
}
@media (max-width: 64em) {
  .index__photo { position: sticky; top: 0; width: auto; aspect-ratio: 4/3; height: 38svh; z-index: 2; margin-inline: calc(var(--margin) * -1); }
  .index__list { min-width: 0; }
  .index__rowhead { flex-wrap: wrap; }
  .index__rowhead span:last-child { white-space: normal; }
}

/* ---------- sobre mí (Sport): datos al lado, párrafo ancho ---------- */
.facts { padding-block: var(--section); display: grid; gap: 3rem; }
.facts__row { display: grid; gap: 2rem; }
.facts__labels { display: grid; gap: 20px; align-content: start; }
.facts__labels div span { display: block; }
.facts__labels div span:first-child { color: var(--muted); font-size: var(--step-small); }
.facts__labels div span:last-child { font-weight: 500; }
.facts__para { font-size: var(--step-lead); line-height: 1.35; max-width: 56ch; }
.facts__word { color: var(--ink); font-weight: 800; font-size: var(--step-lead); letter-spacing: -0.02em; line-height: 1.1; }
.facts__lists { display: grid; gap: 2rem; }
.facts__list { display: grid; gap: 0; list-style: none; margin: 0; padding: 0; }
.facts__list li { display: flex; justify-content: space-between; align-items: baseline; gap: 1.5rem; padding: 0.9rem 1rem; font-size: var(--step-body); line-height: 1.35; }
.facts__list li:nth-child(odd) { background: color-mix(in srgb, var(--white) 75%, transparent); }
.facts__list li span:last-child { color: var(--ink); font-weight: 800; font-size: var(--step-lead); letter-spacing: -0.02em; white-space: nowrap; }
@media (min-width: 64em) {
  .facts__row { grid-template-columns: 34% 1fr; }
  .facts__labels { max-width: 160px; }
  .facts__para { max-width: none; width: 85%; }
  .facts__lists { grid-template-columns: 1fr 1fr; column-gap: clamp(2rem, 4vw, 4rem); }
  .facts__row + .facts__row { margin-top: 120px; }
}

/* ---------- cierre: una palabra es el botón ---------- */
.cta-word { display: block; position: relative; min-height: 60svh; background: var(--sport); color: var(--sport-night); text-decoration: none; overflow: hidden; }
.cta-word__note { position: absolute; top: var(--margin); left: var(--margin); max-width: 32ch; font-size: var(--step-lead); color: var(--white); }
.cta-word__arrow { position: absolute; top: var(--margin); right: var(--margin); width: 48px; height: 48px; color: var(--white); }
.cta-word__word { position: absolute; left: var(--margin); right: var(--margin); bottom: 0; font-size: clamp(5.5rem, 22vw, 24rem); font-weight: 800; letter-spacing: -0.04em; line-height: 0.78; transform: translateY(0.08em); white-space: nowrap; }
@media (hover: hover) and (pointer: fine) {
  .cta-word:hover, .cta-word:focus-visible { background: var(--sport-night); color: var(--sport); }
}
@media (max-width: 48em) {
  .cta-word { min-height: 46svh; }
  .cta-word__note { font-size: 1.0625rem; max-width: 60%; }
  .cta-word__arrow { width: 32px; height: 32px; }
}

/* ---------- movimiento ---------- */
@media (prefers-reduced-motion: no-preference) {
  .js [data-rise] { opacity: 0; transform: translateY(18px); animation: rise var(--t-reveal) var(--ease-out) forwards; animation-delay: calc(var(--i, 0) * 90ms + 120ms); }
  .js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 700ms var(--ease-out), transform 900ms var(--ease-out); }
  .js [data-reveal].is-in { opacity: 1; transform: none; }
  .js .drift img, .js img.drift { animation: drift 14s var(--ease-soft) infinite alternate; }
}
@keyframes rise { to { opacity: 1; transform: none; } }
@keyframes drift { from { transform: scale(1.04) translateY(-1.5%); } to { transform: scale(1.04) translateY(1.5%); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* ====================================================================
   RESTO DE PÁGINAS
   ==================================================================== */
:root { --health-ink: #3a0e00; --work-ink: #02200f; }
.chapter--health-bright { --chapter-bg: var(--health); --chapter-ink: var(--health-ink); --accent: var(--health-ink); --accent-ink: var(--white); }
.chapter--work-bright { --chapter-bg: var(--work); --chapter-ink: var(--work-ink); --accent: var(--work-ink); --accent-ink: var(--white); }
.chapter--pale { --chapter-bg: var(--navy-pale); --chapter-ink: var(--navy-deep); --accent: var(--navy-deep); --accent-ink: var(--white); }

/* hero de campo: variantes de tinta por rama */
.field-hero--health .field-hero__statement h1 .dark { color: var(--health-ink); }
.field-hero--health .field-hero__bottom p { color: var(--white); }
.field-hero--health .field-hero__bottom .wp-block-button__link { background: var(--health-ink); color: var(--white); }
.field-hero--work .field-hero__statement h1 .dark { color: var(--work-ink); }
.field-hero--work .field-hero__bottom p { color: var(--white); }
.field-hero--work .field-hero__bottom .wp-block-button__link { background: var(--work-ink); color: var(--white); }
.field-hero--pale .field-hero__statement h1 .pale { color: var(--navy-mid); }
.field-hero--pale .field-hero__statement h1 .dark { color: var(--navy-deep); }
.field-hero--pale .field-hero__bottom p { color: var(--navy-deep); }
.field-hero--pale .field-hero__bottom .wp-block-button__link { background: var(--navy-deep); color: var(--white); }

/* hojas de rama Health / Work / Sobre mí */
.sheet--h1 { --f-bg: var(--health-deep); --f-ink: var(--white); }
.sheet--h2 { --f-bg: var(--health-night); --f-ink: var(--white); }
.sheet--h3 { --f-bg: var(--navy-deep); --f-ink: var(--white); }
.sheet--w1 { --f-bg: var(--work-deep); --f-ink: var(--white); }
.sheet--w2 { --f-bg: var(--work-night); --f-ink: var(--white); }
.sheet--w3 { --f-bg: var(--navy-deep); --f-ink: var(--white); }
.sheet--s1 { --f-bg: var(--navy-deep); --f-ink: var(--white); }
.sheet--s2 { --f-bg: var(--sport-deep); --f-ink: var(--white); }
.sheet--s3 { --f-bg: var(--navy); --f-ink: var(--white); }

/* fases por rama (mismo bloque que las tarifas de Sport) */
.tier--hmap { --t-bg: var(--health-deep); --t-ink: var(--white); --t-strip: var(--health-night); --t-strip-ink: var(--white); }
.tier--hcare { --t-bg: var(--health-night); --t-ink: var(--white); --t-strip: #5a1600; --t-strip-ink: var(--white); }
.tier--h365 { --t-bg: var(--navy-deep); --t-ink: var(--white); --t-strip: #061a30; --t-strip-ink: var(--white); }
.tier--wmap { --t-bg: var(--work-deep); --t-ink: var(--white); --t-strip: var(--work-night); --t-strip-ink: var(--white); }
.tier--waction { --t-bg: var(--work-night); --t-ink: var(--white); --t-strip: #001a10; --t-strip-ink: var(--white); }
.tier--w365 { --t-bg: var(--navy-deep); --t-ink: var(--white); --t-strip: #061a30; --t-strip-ink: var(--white); }
@media (min-width: 64em) {
  .tier--hmap, .tier--wmap { --t-h: 360px; grid-row: 2; }
  .tier--hcare, .tier--waction { --t-h: 480px; grid-row: 2; }
  .tier--h365, .tier--w365 { --t-h: 600px; grid-row: 1 / 3; }
}

/* acordeón: tonos por rama */
.acc--health .acc__stage:nth-child(1) { --s-bg: var(--health-night); }
.acc--health .acc__stage:nth-child(2) { --s-bg: var(--health-deep); }
.acc--health .acc__stage:nth-child(3) { --s-bg: #c43000; --s-ink: var(--white); }
.acc--health .acc__stage:nth-child(4) { --s-bg: #f4c9b4; --s-ink: var(--health-ink); }
.acc--work .acc__stage:nth-child(1) { --s-bg: var(--work-night); }
.acc--work .acc__stage:nth-child(2) { --s-bg: var(--work-deep); }
.acc--work .acc__stage:nth-child(3) { --s-bg: #15763f; --s-ink: var(--white); }
.acc--work .acc__stage:nth-child(4) { --s-bg: #bfe3cb; --s-ink: var(--work-ink); }
.acc--work .acc__stage:nth-child(5) { --s-bg: #e3f2e8; --s-ink: var(--work-ink); }
@media (min-width: 64em) { .acc--five .acc__stage { flex-basis: 10.5%; } .acc--five .acc__stage.is-open { flex-basis: 58%; } }

/* cierre de una palabra por rama */
.cta-word--health { background: var(--health); color: var(--health-ink); }
.cta-word--health .cta-word__note, .cta-word--health .cta-word__arrow { color: var(--white); }
.cta-word--work { background: var(--work); color: var(--work-ink); }
.cta-word--work .cta-word__note, .cta-word--work .cta-word__arrow { color: var(--white); }
.cta-word--navy { background: var(--navy); color: var(--white); }
.cta-word--navy .cta-word__note, .cta-word--navy .cta-word__arrow { color: var(--white); }
@media (hover: hover) and (pointer: fine) {
  .cta-word--health:hover, .cta-word--health:focus-visible { background: var(--health-ink); color: var(--health); }
  .cta-word--work:hover, .cta-word--work:focus-visible { background: var(--work-ink); color: var(--work); }
  .cta-word--navy:hover, .cta-word--navy:focus-visible { background: var(--white); color: var(--navy); }
}

/* ---------- hero de nombre (Método, Contacto) ---------- */
.name-hero { min-height: 72svh; display: grid; grid-template-rows: auto 1fr; }
.name-hero__body { display: grid; gap: 2rem; align-content: end; padding-block: 3rem clamp(3rem, 8vw, 7rem); }
.name-hero__body h1 { font-size: clamp(2.75rem, 1rem + 7.5vw, 7rem); line-height: 0.9; letter-spacing: -0.035em; margin-left: -0.04em; max-width: 14ch; }
.name-hero__aside { display: grid; gap: 1.5rem; }
.name-hero__aside .lead { max-width: 40ch; }
.name-hero__aside .wp-block-button__link { justify-self: start; }
@media (min-width: 64em) {
  .name-hero__body { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: end; }
  .name-hero__body h1 { grid-column: 1 / 9; }
  .name-hero__aside { grid-column: 9 / -1; }
}
@media (max-width: 48em) { .name-hero__body h1 { font-size: 12vw; } }

/* ---------- Sobre mí: retrato grande ---------- */
.portrait-hero { display: grid; min-height: 100svh; grid-template-rows: auto 1fr; }
.portrait-hero__grid { display: grid; gap: 2rem; align-items: end; padding-top: 2rem; }
.portrait-hero__text { display: grid; gap: 1.25rem; padding-bottom: clamp(2rem, 5vw, 4rem); }
.portrait-hero__text h1 { font-size: clamp(2.75rem, 1rem + 6.5vw, 6.5rem); line-height: 0.9; letter-spacing: -0.035em; margin-left: -0.04em; max-width: 10ch; }
.portrait-hero__text .lead { max-width: 36ch; }
.portrait-hero__text .wp-block-button__link { justify-self: start; }
.portrait-hero__photo { position: relative; aspect-ratio: 4/5; overflow: hidden; }
.portrait-hero__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 55% 30%; }
@media (min-width: 64em) {
  .portrait-hero__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
  .portrait-hero__text { grid-column: 1 / 7; }
  .portrait-hero__photo { grid-column: 8 / -1; aspect-ratio: auto; min-height: 70svh; }
}
@media (max-width: 48em) { .portrait-hero__text h1 { font-size: 12vw; } }

/* ---------- tabla sin líneas (etapas, áreas, trayectoria) ---------- */
.plain-table { padding-block: var(--section); display: grid; gap: 3rem; }
.plain-table h2, .head--m { font-size: clamp(2rem, 1rem + 3vw, 3.5rem); line-height: 0.95; letter-spacing: -0.03em; }
.plain-table__rows { display: grid; }
.plain-table__row { display: grid; gap: 0.5rem 2rem; padding: 1.25rem 1rem; }
.plain-table__row:nth-child(odd) { background: color-mix(in srgb, currentColor 7%, transparent); }
.plain-table__row strong { font-size: var(--step-lead); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; }
.plain-table__row p { max-width: 52ch; }
@media (min-width: 64em) {
  .plain-table { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); align-items: start; }
  .plain-table h2 { grid-column: 1 / 5; position: sticky; top: 2rem; }
  .plain-table__rows { grid-column: 5 / -1; }
  .plain-table__row { grid-template-columns: 2fr 3fr; }
}

/* ---------- formulario ---------- */
.form { display: grid; gap: 1rem; }
.form label { display: grid; gap: 0.4rem; font-weight: 500; }
.form textarea.field { min-height: 9rem; resize: vertical; }
.form .check { display: flex; gap: 0.75rem; align-items: start; font-weight: 400; }
.form .check input { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; accent-color: var(--navy); }
.form .wp-block-button__link { justify-self: start; }
.form .small { max-width: none; }
@media (min-width: 48em) {
  .form { grid-template-columns: 1fr 1fr; }
  .form .span2 { grid-column: 1 / -1; }
}

/* ---------- contacto: dos columnas ---------- */
.contact { padding-block: var(--section); display: grid; gap: 3rem; }
.contact__data { display: grid; gap: 1.5rem; align-content: start; }
.contact__data h2 { font-size: var(--step-lead); font-weight: 800; }
.contact__data p { max-width: none; }
.contact__data a { font-weight: 500; }
.contact__data figure { aspect-ratio: 4/5; overflow: hidden; max-width: 320px; }
.contact__data figure img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 20%; }
.photo-band { position: relative; min-height: 60svh; overflow: hidden; }
.photo-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-band__caption { position: absolute; left: var(--margin); bottom: var(--margin); background: var(--navy-deep); color: var(--white); padding: 1rem 1.25rem; max-width: 36ch; }
@media (min-width: 64em) {
  .contact { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
  .contact__data { grid-column: 1 / 5; }
  .contact__form { grid-column: 6 / -1; }
}
.panel { background: var(--surface); padding: clamp(1.5rem, 3vw, 3rem); }

/* ---------- método: el ciclo como tres campos ---------- */
.cycle__step { display: grid; gap: 1.5rem; padding: clamp(2rem, 5vw, 5rem) var(--margin); min-height: 72svh; align-content: space-between; }
.cycle__step h2 { font-size: clamp(2.5rem, 1rem + 6vw, 6rem); line-height: 0.9; letter-spacing: -0.035em; max-width: 14ch; }
.cycle__photo { aspect-ratio: 16/10; overflow: hidden; }
.cycle__photo img { width: 100%; height: 100%; object-fit: cover; }
.cycle__step p { max-width: 44ch; }
.cycle__step .branches { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.cycle__step .branches a { display: inline-flex; align-items: center; min-height: 3rem; padding-inline: 1.25rem; background: var(--chapter-ink); color: var(--chapter-bg); text-decoration: none; font-weight: 500; }
@media (min-width: 64em) {
  .cycle__step { grid-template-columns: 1fr 1fr; grid-template-rows: auto auto auto; align-items: end; }
  .cycle__step h2 { grid-row: 1 / 4; align-self: start; }
  .cycle__step .cycle__photo { grid-column: 2; grid-row: 1; align-self: start; }
  .cycle__step p:not(.branches) { grid-column: 2; grid-row: 2; }
  .cycle__step .branches { grid-column: 2; grid-row: 3; }
}
@media (max-width: 64em) { .cycle__step .cycle__photo { order: 5; } }

/* ---------- páginas legales ---------- */
.legal { padding-block: clamp(3rem, 8vw, 7rem) var(--section); }
.legal > * { max-width: 70ch; }
.legal h1 { font-size: clamp(2.25rem, 1rem + 4vw, 4.5rem); line-height: 0.95; letter-spacing: -0.03em; margin: 0 0 1.5rem; }
.legal h2 { font-size: var(--step-lead); line-height: 1.15; letter-spacing: -0.02em; margin: 2.5rem 0 0.75rem; }
.legal p + p { margin-top: 0.9em; }
.legal ul { padding-left: 1.2em; display: grid; gap: 0.4rem; margin: 0.75rem 0; }
.legal a { text-decoration: underline; text-underline-offset: 0.2em; text-decoration-thickness: 0.07em; }

/* ---------- elementos clicables: respuesta al pasar el ratón ---------- */
.folder { transition: top 450ms var(--ease-in-out), translate 220ms var(--ease-out); }
.folder__tab { transition: filter var(--t-hover) ease; }
.acc__stage { transition: flex-basis 450ms var(--ease-in-out), filter var(--t-hover) ease, box-shadow var(--t-hover) ease; }
.folder:not(.is-front), .acc__stage:not(.is-open) { cursor: pointer; }
@media (hover: hover) and (pointer: fine) {
  .folder:not(.is-front):hover { translate: -50% -6px; }
  .folder:not(.is-front):hover .folder__tab { filter: brightness(1.12); }
  .folder:not(.is-front):hover .folder__tab a { text-decoration: underline; text-underline-offset: 0.2em; text-decoration-thickness: 0.08em; }
  .acc__stage:not(.is-open):hover { filter: brightness(1.15); box-shadow: inset 0 5px 0 currentColor; }
}
.folder:not(.is-front):focus-within { translate: -50% -6px; }

/* ---------- acordeón: el nombre de la fase sigue visible al abrirla ---------- */
@media (min-width: 64em) {
  .acc__stage.is-open .acc__name {
    opacity: 1; pointer-events: none; z-index: 2;
    top: 2rem; left: 2rem; bottom: auto; translate: none; rotate: none; transform: none; writing-mode: horizontal-tb;
    font-size: var(--step-small); font-weight: 500; letter-spacing: 0; line-height: 1.2;
    transition: opacity 300ms var(--ease-out) 150ms;
  }
  .acc__stage.is-open .acc__panel .acc__title { padding-top: 3.75rem; }
}

/* ====================================================================
   INICIO — ALTERNATIVA B: retrato, lista de ámbitos y cifras
   ==================================================================== */
.hero-split { display: grid; grid-template-rows: auto 1fr; min-height: 100svh; background: var(--paper); color: var(--ink); }
.hero-split__grid { display: grid; gap: 2rem; }
.hero-split__text { display: grid; gap: 1.5rem; align-content: end; padding-block: 2rem clamp(2rem, 6vw, 5rem); }
.hero-split__text h1 { font-size: clamp(3rem, 1rem + 7vw, 8rem); line-height: 0.9; letter-spacing: -0.035em; margin-left: -0.04em; max-width: 12ch; }
.hero-split__text .lead { max-width: 44ch; }
.hero-split__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 2rem; }
.hero-split__actions > a:not(.wp-block-button__link), .hero-split__actions > p a { font-weight: 500; text-decoration: underline; text-underline-offset: 0.25em; text-decoration-thickness: 0.08em; }
.hero-split__actions > p { margin: 0; }
.hero-split__photo { position: relative; margin: 0 calc(var(--margin) * -1); aspect-ratio: 4 / 5; overflow: hidden; }
.hero-split__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 58% 25%; }
@media (min-width: 64em) {
  .hero-split__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
  .hero-split__text { grid-column: 1 / 8; }
  .hero-split__photo { grid-column: 8 / -1; margin: 0 calc(var(--margin) * -1) 0 0; aspect-ratio: auto; min-height: calc(100svh - 4.5rem); }
}

.index--branches .index__rowhead { font-size: clamp(1.75rem, 1rem + 2vw, 2.75rem); font-weight: 800; letter-spacing: -0.02em; align-items: center; }
.index--branches .index__rowhead > :first-child::before { content: ""; display: inline-block; width: 0.6em; height: 0.6em; margin-right: 0.5em; background: var(--swatch, var(--navy)); vertical-align: 0.04em; }
.index--branches :is([data-key="sport"], .key-sport) { --swatch: var(--sport); }
.index--branches :is([data-key="health"], .key-health) { --swatch: var(--health); }
.index--branches :is([data-key="work"], .key-work) { --swatch: var(--work); }
.index--branches :is([data-key="proyectos"], .key-proyectos) { --swatch: var(--navy-soft); }
.index--branches .index__desc a { font-weight: 500; text-decoration: underline; text-underline-offset: 0.2em; }
.index--branches .index__desc > p { max-width: 44ch; }

.stats-band { padding-block: var(--section); }
.stats-band h2 { font-size: var(--step-head); line-height: 0.95; letter-spacing: -0.03em; max-width: 16ch; margin-bottom: 3rem; }
.stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 2.5rem var(--gutter); }
.stats li { font-size: var(--step-body); line-height: 1.3; max-width: 16ch; }
.stats li strong { display: block; font-size: clamp(4rem, 2rem + 7vw, 9rem); line-height: 0.85; letter-spacing: -0.04em; font-weight: 800; margin-bottom: 0.6rem; }
.stats-band__note { margin-top: 3rem; max-width: 56ch; }
@media (min-width: 64em) { .stats { grid-template-columns: repeat(4, 1fr); } }

.photo-quote { display: grid; background: var(--navy-deep); color: var(--white); }
.photo-quote__photo { position: relative; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; }
.photo-quote__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 45% 40%; }
.photo-quote__text { display: grid; gap: 1.5rem; align-content: center; padding: clamp(2rem, 5vw, 5rem) var(--margin); }
.photo-quote__statement { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); line-height: 1.15; font-weight: 800; letter-spacing: -0.02em; max-width: 18ch; }
.photo-quote .wp-block-button__link { justify-self: start; background: var(--sport); color: var(--sport-night); }
@media (min-width: 64em) {
  .photo-quote { grid-template-columns: 7fr 5fr; min-height: 80svh; }
  .photo-quote__photo { aspect-ratio: auto; }
}
@media (max-width: 63.99em) {
  .index--branches .index__photo { position: relative; top: auto; z-index: auto; height: auto; aspect-ratio: 4 / 3; }
  .stats { grid-template-columns: 1fr; gap: 1.25rem; }
  .stats li { display: flex; align-items: baseline; gap: 1rem; max-width: none; }
  .stats li strong { flex: none; min-width: 1.6em; margin: 0; font-size: clamp(3.5rem, 2rem + 6vw, 5.5rem); }
}
@media (max-width: 63.99em) {
  .stats { gap: 0; }
  .stats li { justify-content: space-between; padding-block: 0.75rem; }
  .stats li strong { order: 2; margin-left: auto; text-align: right; }
}
@media (max-width: 63.99em) {
  .stats li { align-items: center; padding-block: 1.25rem; }
  .stats li + li { border-top: 4px solid color-mix(in srgb, currentColor 25%, transparent); }
}
@media (max-width: 63.99em) {
  .stats li { font-size: var(--step-lead); line-height: 1.15; font-weight: 500; }
  .stats li strong { font-size: clamp(3rem, 2rem + 5vw, 4.5rem); }
}

/* portada: barra de navegación azul marino sobre el héroe claro */
.hero-split > .nav { background: var(--navy-deep); color: var(--white); --nav-ink: var(--white); }
.hero-split > .nav .wp-block-button__link { background: var(--white); color: var(--navy); }

/* «Hablemos»: al invertir colores, la frase y la flecha cambian con la palabra */
@media (hover: hover) and (pointer: fine) {
  .cta-word--navy:hover :is(.cta-word__note, .cta-word__arrow),
  .cta-word--navy:focus-within :is(.cta-word__note, .cta-word__arrow) { color: var(--navy); }
}
.cta-word__note, .cta-word__arrow { transition: color var(--t-hover) ease; }
.cta-word--navy:focus-within { background: var(--white); color: var(--navy); }
.cta-word--navy:focus-within :is(.cta-word__note, .cta-word__arrow) { color: var(--navy); }
/* Sobre mí: barra de navegación azul marino */
.portrait-hero > .nav { background: var(--navy-deep); color: var(--white); --nav-ink: var(--white); }
.portrait-hero > .nav .wp-block-button__link { background: var(--white); color: var(--navy); }

/* portada: primera sección en azul marino con textos y botones blancos */
.hero-split { background: var(--navy-deep); color: var(--white); }
.hero-split .wp-block-button__link { background: var(--white); color: var(--navy); }
.hero-split__actions > a:not(.wp-block-button__link), .hero-split__actions > p a { color: var(--white); }
@media (hover: hover) and (pointer: fine) { .hero-split .wp-block-button__link:hover { filter: none; background: var(--navy-pale); } }
.stats li strong { font-variant-numeric: tabular-nums; }

/* ====================================================================
   JAMA SPORT — autochequeo: carriles de piscina en el sistema de color
   ==================================================================== */
.quiz { padding-block: var(--section); --line: color-mix(in srgb, var(--white) 28%, transparent); --soft: var(--navy-soft); }
html:not(.js) .quiz { display: none; }
.quiz__screen { display: none; }
.quiz__screen.is-on { display: grid; }
.quiz :is(h3, h4, h5) { letter-spacing: -0.02em; }
.quiz h5 { margin: 0; font-weight: 800; }
.quiz :is(h3, h4)[tabindex]:focus { outline: none; }

/* inicio */
.quiz__intro { gap: 3rem; }
.quiz__head { display: grid; gap: 1.5rem; align-content: start; }
.quiz__eyebrow { font-weight: 500; color: var(--soft); }
.quiz__head .head { max-width: 12ch; }
.quiz__setup { display: grid; gap: 1rem; align-content: start; max-width: 36rem; }
.quiz__how { display: grid; gap: 0.5rem; margin-bottom: 1rem; }
.quiz__how li::before { content: ""; display: inline-block; width: 0.5em; height: 0.5em; background: var(--sport); margin-right: 0.6em; vertical-align: middle; }
.quiz__label { font-weight: 500; }
.quiz__roles { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 0.5rem; }
.quiz__chip { min-height: 3rem; padding: 0.6rem 1rem; box-shadow: inset 0 0 0 2px var(--line); font-weight: 500; text-align: center; transition: background-color var(--t-hover) ease, color var(--t-hover) ease, box-shadow var(--t-hover) ease; }
.quiz__chip[aria-pressed="true"] { background: var(--white); color: var(--sport-deep); box-shadow: none; }
.quiz__hint { color: var(--soft); max-width: 44ch; }
.quiz__start { justify-self: start; margin-top: 0.75rem; }
.quiz__fine { color: var(--soft); max-width: 52ch; }
@media (min-width: 64em) {
  .quiz__intro { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gutter); }
  .quiz__head { grid-column: 1 / 7; }
  .quiz__setup { grid-column: 8 / -1; }
}
@media (max-width: 48em) { .quiz__start { justify-self: stretch; } }

/* preguntas */
.quiz__ask { max-width: 56rem; }
.quiz__progress { position: relative; height: 6px; background: var(--line); overflow: hidden; }
.quiz__progress i { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--sport); transition: width 300ms var(--ease-out); }
.quiz__meta { display: flex; justify-content: space-between; gap: 1rem; margin-top: 0.75rem; color: var(--soft); max-width: none; }
.quiz__question { font-size: clamp(1.75rem, 1rem + 2.6vw, 3.25rem); line-height: 1.05; margin: clamp(2rem, 5vw, 3.5rem) 0 2rem; max-width: 22ch; }
.quiz__opts { display: grid; gap: 8px; }
.quiz__opt { min-height: 3.5rem; padding: 0.9rem 1.25rem; text-align: left; font-weight: 500; background: color-mix(in srgb, var(--white) 8%, transparent); transition: background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out); }
.quiz__opt:active { transform: scale(0.98); }
.quiz__opt.is-sel { background: var(--white); color: var(--sport-deep); }
.quiz__back { justify-self: start; margin-top: 1.5rem; padding-block: 0.5rem; font-size: var(--step-small); text-decoration: underline; text-underline-offset: 0.2em; }
.quiz__back[hidden] { display: block; visibility: hidden; }
@media (min-width: 48em) {
  .quiz__opts { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .quiz__opt { min-height: 5rem; text-align: center; }
}
@media (hover: hover) and (pointer: fine) {
  .quiz__opt:not(.is-sel):hover, .quiz__chip:not([aria-pressed="true"]):hover { background: color-mix(in srgb, var(--white) 18%, transparent); }
}

/* resultados */
.quiz__results { gap: 3rem var(--gutter); }
.quiz__rhead { display: grid; gap: 1rem; align-content: start; }
.quiz__rtitle { font-size: clamp(2.25rem, 1rem + 4vw, 4.5rem); line-height: 0.95; letter-spacing: -0.03em; }
.quiz__rhead p { max-width: 40ch; }
.quiz__pool { display: grid; }
.quiz__lane { padding: 0.8rem 1rem 0.9rem; }
.quiz__lane:nth-child(odd) { background: color-mix(in srgb, var(--white) 6%, transparent); }
.quiz__lane.is-prio { background: var(--sport); color: var(--sport-night); }
.quiz__lanetop { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-weight: 500; line-height: 1.25; }
.quiz__lanetop em { font-style: normal; font-size: var(--step-small); white-space: nowrap; }
.quiz__track { position: relative; height: 16px; margin-top: 0.6rem; }
.quiz__track::before { content: ""; position: absolute; inset: 7px 0 auto; height: 2px; background: currentColor; opacity: 0.3; }
.quiz__wall { position: absolute; top: 0; right: 0; bottom: 0; width: 4px; background: currentColor; }
.quiz__swimmer { position: absolute; top: 1px; left: 3%; width: 14px; height: 14px; background: var(--white); translate: -50% 0; transition: left 1100ms var(--ease-out); }
.quiz__lane.is-prio .quiz__swimmer { background: var(--sport-night); }
.quiz__legend { display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; margin-top: 1rem; color: var(--soft); max-width: none; }
.quiz__legend span::before { content: ""; display: inline-block; width: 0.7em; height: 0.7em; margin-right: 0.5em; background: var(--white); vertical-align: -0.05em; }
.quiz__legend .is-prio::before { background: var(--sport); }
.quiz__wellbeing:empty { display: none; }
.quiz__alert { padding: 1.25rem 1.5rem; background: color-mix(in srgb, var(--white) 8%, transparent); box-shadow: inset 4px 0 0 var(--health); max-width: 62ch; }
.quiz__sec { font-size: var(--step-lead); font-weight: 800; line-height: 1.1; margin-bottom: 1rem; }
.quiz__item { padding-block: 1.25rem; border-top: 1px solid var(--line); }
.quiz__item h5 { font-size: var(--step-body); font-weight: 800; margin-bottom: 0.4rem; }
.quiz__item p { max-width: 52ch; }
.quiz__tip { margin-top: 0.9rem; padding: 1rem 1.25rem; background: color-mix(in srgb, var(--white) 10%, transparent); }
.quiz__guide { display: grid; gap: 0.75rem; margin-top: 1.5rem; padding: 1.5rem; box-shadow: inset 0 0 0 2px var(--sport); }
.quiz__guide h5 { font-size: var(--step-lead); font-weight: 800; line-height: 1.1; }
.quiz__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 3rem; padding: 0.6rem 1.5rem; background: var(--sport); color: var(--sport-night); font-weight: 500; text-align: center; text-decoration: none; transition: filter var(--t-hover) ease, background-color var(--t-hover) ease, color var(--t-hover) ease, transform var(--t-press) var(--ease-out); }
.quiz__btn:active { transform: scale(0.97); }
.quiz__btn--ghost { background: none; color: inherit; box-shadow: inset 0 0 0 2px currentColor; }
.quiz__guide .quiz__btn { justify-self: start; }
.quiz__lead { display: grid; gap: 1rem; align-content: start; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--surface); color: var(--ink); }
.quiz__lead .quiz__sec { margin: 0; }
.quiz__lead .form { grid-template-columns: 1fr; margin-top: 0.5rem; }
.quiz__lead .form .check { font-size: var(--step-small); line-height: 1.45; }
.quiz__lead .form .check > label, .quiz__lead .form .check .wpcf7-list-item-label { display: block; font-weight: 400; }
.quiz__lead .form .check a { text-decoration: underline; text-underline-offset: 0.2em; }
.quiz__lead .form .check input { accent-color: var(--sport-deep); }
.quiz__lead .form .wp-block-button__link { background: var(--sport-deep); color: var(--white); white-space: normal; text-align: center; }
.quiz__ok { font-weight: 500; }
.quiz__next { display: grid; gap: 1rem; align-content: start; padding: clamp(1.5rem, 3vw, 2.5rem); background: var(--sport); color: var(--sport-night); }
.quiz__next h4 { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.25rem); line-height: 1.05; font-weight: 800; max-width: 20ch; }
.quiz__actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 0.5rem; }
.quiz__next .quiz__btn { background: var(--sport-night); color: var(--white); }
.quiz__next .quiz__btn--ghost { background: none; color: var(--sport-night); }
.quiz__pair { display: grid; gap: 3rem var(--gutter); }
@media (hover: hover) and (pointer: fine) {
  .quiz__btn:hover { filter: brightness(1.12); }
  .quiz__btn--ghost:hover { filter: none; background: color-mix(in srgb, currentColor 12%, transparent); }
}
@media (min-width: 64em) {
  .quiz__results, .quiz__pair { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
  .quiz__rhead { grid-column: 1 / 5; }
  .quiz__poolbox, .quiz__wellbeing { grid-column: 6 / -1; }
  .quiz__pair { grid-column: 1 / -1; }
  .quiz__prios, .quiz__strength { grid-column: 1 / 7; }
  .quiz__lead, .quiz__next { grid-column: 8 / -1; }
}
/* el formulario acompaña a «Por dónde empezar» mientras se lee, si cabe en la pantalla */
@media (min-width: 64em) and (min-height: 50rem) {
  .quiz__lead { position: sticky; top: calc(var(--hdr-h, 0px) + var(--hdr-top, 0px) + 1.5rem); }
}
@media (max-width: 48em) {
  .quiz__actions .quiz__btn { width: 100%; }
}

/* ====================================================================
   WORDPRESS — adaptación del sistema a bloques nativos
   (se añade al final de assets/css/jamari.css al construir el theme)
   ==================================================================== */

/* ---------- base de bloques ---------- */
.wp-site-blocks { padding: 0; }
.wp-block-image { margin: 0; }
.wp-block-image img { display: block; }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; }
.wp-block-button { margin: 0; }
.wp-block-button__link { border: 0; cursor: pointer; font-family: inherit; line-height: 1.2; box-shadow: none; }
:where(.wp-block-post-content, .wp-block-group) p + p { margin-top: 0.9em; }
.wp-block-post-content p + p, .wp-block-group > p + p { margin-top: 0.9em; }
mark.has-inline-color { background: none !important; }
.wp-block-list { margin: 0; }

/* ---------- cabecera ---------- */
.site-header { position: relative; z-index: 30; background: var(--hdr-bg, var(--paper)); color: var(--hdr-ink, var(--ink)); }
.hdr-navy   { --hdr-bg: var(--navy-deep);  --hdr-ink: var(--white);       --hdr-btn: var(--white);       --hdr-btn-ink: var(--navy); }
.hdr-sand   { --hdr-bg: var(--sand);       --hdr-ink: var(--ink);         --hdr-btn: var(--navy);        --hdr-btn-ink: var(--white); }
.hdr-sport  { --hdr-bg: var(--sport);      --hdr-ink: var(--sport-night); --hdr-btn: var(--sport-night); --hdr-btn-ink: var(--white); }
.hdr-health { --hdr-bg: var(--health);     --hdr-ink: var(--white);       --hdr-btn: var(--health-ink);  --hdr-btn-ink: var(--white); }
.hdr-work   { --hdr-bg: var(--work);       --hdr-ink: var(--white);       --hdr-btn: var(--work-ink);    --hdr-btn-ink: var(--white); }
.hdr-pale   { --hdr-bg: var(--navy-pale);  --hdr-ink: var(--navy-deep);   --hdr-btn: var(--navy-deep);   --hdr-btn-ink: var(--white); }
.hdr-light  { --hdr-bg: var(--paper);      --hdr-ink: var(--ink);         --hdr-btn: var(--navy);        --hdr-btn-ink: var(--white); }
.site-header .nav { display: flex; align-items: center; gap: var(--gutter); min-height: 4.5rem; padding-block: 0.75rem; color: inherit; }
.site-logo { display: block; width: clamp(150px, 15vw, 200px); flex: none; }
.site-logo img { width: 100%; height: auto; }
.site-logo .logo--light, .hdr-on-dark .site-logo .logo--dark { display: none; }
.hdr-on-dark .site-logo .logo--light { display: block; }
.site-nav { margin-left: auto; font-weight: 500; }
.site-nav .wp-block-navigation__container { gap: clamp(1rem, 2vw, 2rem); }
.site-nav .wp-block-navigation-item__content { color: inherit; text-decoration: none; }
.site-nav .wp-block-navigation-item__content[aria-current="page"] { text-decoration: underline; text-underline-offset: 0.3em; text-decoration-thickness: 0.1em; }
.site-nav .only-menu { display: none; }
.site-nav .wp-block-navigation__responsive-container-open, .site-nav .wp-block-navigation__responsive-container-close { color: inherit; }
.site-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--navy-deep) !important; color: var(--white) !important; padding: var(--margin); }
.site-nav .is-menu-open .wp-block-navigation__container { gap: 0.4em !important; }
.site-nav .is-menu-open .wp-block-navigation-item__content { font-size: var(--step-head); font-weight: 800; letter-spacing: -0.02em; line-height: 1.05; }
.site-nav .is-menu-open .only-menu { display: block; }
.site-header .nav__action { flex: none; }
.site-header .nav__action .wp-block-button__link { background: var(--hdr-btn); color: var(--hdr-btn-ink); }
@media (min-width: 600px) and (max-width: 1023.98px) {
  .site-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
  .site-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 599.98px) {
  .site-header .nav { gap: 0.75rem; }
  .site-header .nav__action .wp-block-button__link { padding-inline: 1rem; }
  .site-logo { width: 132px; }
}

/* ---------- héroes sin barra de navegación dentro ---------- */
.folders-hero { min-height: calc(100svh - 4.5rem); }
.field-hero { min-height: calc(100svh - 4.5rem); grid-template-rows: 1fr auto; }
.field-hero__statement { padding-top: 4vh; align-self: start; }
.field-hero__statement h1 { color: var(--white); }
.field-hero__statement h1 mark { background: none; color: var(--sport-night); }
.field-hero--health .field-hero__statement h1 mark { color: var(--health-ink); }
.field-hero--work .field-hero__statement h1 mark { color: var(--work-ink); }
.field-hero--pale .field-hero__statement h1 { color: var(--navy-mid); }
.field-hero--pale .field-hero__statement h1 mark { color: var(--navy-deep); }
.name-hero, .portrait-hero { grid-template-rows: 1fr; }
@media (min-width: 64em) {
  .field-hero__bottom > .wp-block-buttons { grid-column: 1; grid-row: 1; }
}
.field-hero__bottom .wp-block-buttons { gap: 8px; }
.field-hero__bottom .wp-block-button + .wp-block-button .wp-block-button__link { background: none; color: var(--sport-night); box-shadow: inset 0 0 0 2px var(--sport-night); }
@media (hover: hover) and (pointer: fine) {
  .field-hero__bottom .wp-block-button + .wp-block-button .wp-block-button__link:hover { filter: none; background: color-mix(in srgb, var(--sport-night) 12%, transparent); }
}

/* entradas de los héroes (sustituyen a data-rise) */
@media (prefers-reduced-motion: no-preference) {
  .js :is(.folders-hero__top > *, .field-hero__statement > *, .field-hero__bottom > *, .name-hero__body > h1, .name-hero__aside > *, .portrait-hero__text > *, .portrait-hero__photo) {
    opacity: 0; transform: translateY(18px); animation: rise var(--t-reveal) var(--ease-out) forwards; animation-delay: 120ms;
  }
  .js :is(.folders-hero__top, .field-hero__bottom, .name-hero__aside, .portrait-hero__text) > :nth-child(2) { animation-delay: 210ms; }
  .js :is(.folders-hero__top, .field-hero__bottom, .name-hero__aside, .portrait-hero__text) > :nth-child(3) { animation-delay: 300ms; }
  .js .portrait-hero__photo { animation-delay: 210ms; }
}

/* ---------- carpetas ---------- */
.folder--pale { --tab-x: 80%; }
.folder--work { --tab-x: 62%; }
.folder--health { --tab-x: 43%; }
.folder--sport { --tab-x: 24%; }
.folder--sand { --tab-x: 4%; }
.folder__tab { margin: 0; }
.folder__body > :nth-child(1) { --i: 0; }
.folder__body > :nth-child(2) { --i: 1; }
.folder__body > :nth-child(3) { --i: 2; }
.folder__body > :nth-child(4) { --i: 3; }
ul.folder__meta { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 0.5rem 2rem; font-weight: 500; }
.folder__body > .wp-block-buttons { justify-self: start; }
.folder__body .wp-block-button__link { background: var(--f-ink); color: var(--f-bg); clip-path: polygon(0 100%, 8px 0, calc(100% - 8px) 0, 100% 100%); padding-inline: 1.75rem; }
@media (min-width: 64em) {
  .folder__body > .wp-block-buttons { grid-column: 2; justify-self: end; }
}
@media (max-width: 48em) {
  .folder__body > .wp-block-buttons, .folder__body > .wp-block-buttons .wp-block-button { width: 100%; }
}

/* ---------- hojas apiladas ---------- */
.sheets-stack > .sheet:nth-child(1) { --k: 0; }
.sheets-stack > .sheet:nth-child(2) { --k: 1; }
.sheets-stack > .sheet:nth-child(3) { --k: 2; }
.sheets-stack > .sheet:nth-child(4) { --k: 3; }
.sheet__text > .wp-block-buttons { justify-self: start; }
.sheet__text .wp-block-button__link { background: var(--f-ink); color: var(--f-bg); }

/* ---------- fotos que llenan su caja ---------- */
:is(.sheet__photo, .portrait-hero__photo, .about-panel__portrait, .cycle__photo) img,
.tile--photo .wp-block-image img,
.photo-band .wp-block-image img,
.contact__data .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
.wp-block-image.sheet__photo img, .wp-block-image.portrait-hero__photo img { position: absolute; inset: 0; }
.tile--photo .wp-block-image img, .photo-band .wp-block-image img { position: absolute; inset: 0; }

/* ---------- acordeón ---------- */
.acc__name { margin: 0; cursor: pointer; user-select: none; }
.acc__name:focus-visible { outline: 2px solid currentColor; outline-offset: -4px; }
.acc__panel .wp-block-image { margin: 0; overflow: hidden; }
.acc__panel .wp-block-image img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 64em) {
  .acc__panel .wp-block-image { grid-column: 2; grid-row: 1 / 3; height: 100%; }
}
@media (max-width: 64em) { .acc__panel .wp-block-image { display: none; } }

/* ---------- tarifas / fases ---------- */
.tier > .tier__go { display: flex; align-items: stretch; padding: 0; gap: 0; }
.tier__go .wp-block-button { flex: 1; display: flex; }
.tier__go .wp-block-button__link { flex: 1; display: flex; align-items: center; justify-content: flex-start; min-height: 64px; padding: 0 28px; background: none; color: inherit; }

/* ---------- lista con foto fija ---------- */
.index__photo .wp-block-image { position: absolute; inset: 0; margin: 0; opacity: 0; transition: opacity 300ms ease; }
.index__photo .wp-block-image.is-on { opacity: 1; }
.index__photo .wp-block-image img { position: static; opacity: 1; width: 100%; height: 100%; object-fit: cover; }
.index__rowhead { cursor: pointer; }
.index__rowhead > p { margin: 0; }
.index__rowhead > p:last-child { font-size: var(--step-small); font-weight: 400; white-space: nowrap; }
.index__rowhead:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.index__cta .wp-block-buttons { margin-top: 0; }

/* ---------- datos y trayectoria ---------- */
.facts__labels > .wp-block-group > p { margin: 0; }
.facts__labels > .wp-block-group > p:first-child { color: var(--muted); font-size: var(--step-small); }
.facts__labels > .wp-block-group > p:last-child { font-weight: 500; }
.facts__list li strong { margin-left: auto; color: var(--ink); font-weight: 800; font-size: var(--step-lead); letter-spacing: -0.02em; white-space: nowrap; }

/* ---------- tabla sin líneas ---------- */
.plain-table__term { font-size: var(--step-lead); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; margin: 0; }
.plain-table__row > p { margin: 0; }

/* ---------- cierres ---------- */
.tiles--flush { padding-top: 0; }
.tile--accent .wp-block-button__link { background: var(--white); color: var(--navy); }
.cta-word__word { margin: 0; }
.cta-word__word a { color: inherit; text-decoration: none; }
.cta-word__word a::after { content: ""; position: absolute; inset: 0; }
.cta-word:focus-within { outline: 3px solid currentColor; outline-offset: -6px; }
.cycle__step .branches .wp-block-button__link { background: var(--chapter-ink); color: var(--chapter-bg); }
.about-panel .wp-block-button__link { background: var(--sport); color: var(--sport-night); }
.button--paper .wp-block-button__link { background: var(--white); color: var(--navy); }

/* ---------- Contact Form 7 ---------- */
.contact__form .form__title { font-size: var(--step-lead); font-weight: 800; letter-spacing: -0.02em; margin: 0 0 1.25rem; }
.wpcf7 { margin: 0; }
.wpcf7-form-control-wrap { display: block; }
.form .wpcf7-form-control.field { width: 100%; }
.form .check .wpcf7-list-item { margin: 0; }
.form .check .wpcf7-list-item label { display: flex; gap: 0.75rem; align-items: start; font-weight: 400; }
.form .check input { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; accent-color: var(--navy); flex: none; }
.form .wpcf7-submit { background: var(--navy); color: var(--white); min-height: 3rem; padding: 0 1.5rem; font-weight: 500; }
.wpcf7-not-valid-tip { color: var(--health-deep); font-size: var(--step-small); margin-top: 0.25rem; }
.wpcf7 form .wpcf7-response-output { margin: 1.25rem 0 0; padding: 0.75rem 1rem; border-width: 2px; }
.wpcf7-spinner { margin: 0 0 0 1rem; vertical-align: middle; }
.form-fallback { font-size: var(--step-lead); }

/* ---------- pie ---------- */
.footer__links > p, .footer__contact > p { margin: 0; }
.footer__links { gap: 0.5rem; }
.footer__contact { display: grid; gap: 1rem; }
.footer .footer__legal .wp-block-buttons { margin: 0; }

/* ---------- editor ---------- */
.editor-styles-wrapper .folder { position: relative; left: auto; translate: none; width: auto; top: auto; bottom: auto; margin-bottom: 1rem; }
.editor-styles-wrapper .folder__body { position: relative; }
.editor-styles-wrapper .folder:not(.is-front) .folder__body > * { visibility: visible; }
.editor-styles-wrapper .folders { height: auto; }
.editor-styles-wrapper .sheet { position: relative; top: auto; }
.editor-styles-wrapper .acc__panel { grid-template-rows: 1fr; opacity: 1; position: relative; }
.editor-styles-wrapper .acc { height: auto; flex-direction: column; }
.editor-styles-wrapper .acc__stage { flex-basis: auto; }
.editor-styles-wrapper .acc__name { position: static; writing-mode: horizontal-tb; rotate: none; }
.editor-styles-wrapper .index__photo .wp-block-image { position: relative; opacity: 1; }
.editor-styles-wrapper .index__desc { grid-template-rows: 1fr; }
@media (max-width: 1023.98px) {
  .site-header .nav__action { margin-left: auto; }
  .site-nav { order: 3; margin-left: 0; }
}
.site-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.site-nav .is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }

/* ---------- cabecera fija ---------- */
:root { --hdr-h: 4.5rem; --hdr-top: 0px; }
body.admin-bar { --hdr-top: var(--wp-admin--admin-bar--height, 32px); }
@media (max-width: 600px) { body.admin-bar { --hdr-top: 0px; } }
.wp-site-blocks > .wp-block-template-part:has(> .site-header),
.wp-site-blocks > header:has(> .site-header) { position: sticky; top: var(--hdr-top); z-index: 40; }
:target { scroll-margin-top: calc(var(--hdr-h) + 1.5rem); }
/* lo que ya era fijo se coloca debajo de la cabecera */
.sheet { top: calc(var(--hdr-h) + var(--hdr-top) + var(--k) * 72px); }
.index__photo { top: calc(var(--hdr-h) + var(--hdr-top) + 4vh); }
@media (min-width: 64em) { .plain-table h2 { top: calc(var(--hdr-h) + var(--hdr-top) + 2rem); } }
@media (max-width: 64em) { .index__photo { top: calc(var(--hdr-h) + var(--hdr-top)); } }
@media (max-width: 48em) { .sheet { top: calc(var(--hdr-h) + var(--hdr-top) + var(--k) * 52px); } }

/* ---------- inicio alternativo (B) ---------- */
.hero-split { grid-template-rows: 1fr; min-height: calc(100svh - var(--hdr-h)); }
.wp-block-image:is(.hero-split__photo, .photo-quote__photo) img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-split__actions .wp-block-buttons { margin: 0; }
@media (prefers-reduced-motion: no-preference) {
  .js :is(.hero-split__text > *, .hero-split__photo) { opacity: 0; transform: translateY(18px); animation: rise var(--t-reveal) var(--ease-out) forwards; animation-delay: 120ms; }
  .js .hero-split__text > :nth-child(2), .js .hero-split__photo { animation-delay: 210ms; }
  .js .hero-split__text > :nth-child(3) { animation-delay: 300ms; }
}
.wp-block-image.hero-split__photo { margin: 0 calc(var(--margin) * -1); }
@media (min-width: 64em) { .wp-block-image.hero-split__photo { margin: 0 calc(var(--margin) * -1) 0 0; } }
