/*
Theme Name: ComoCabras Team
Theme URI: https://www.comocabrasteam.com/
Author: ComoCabrasTeam
Description: Tema ligero y responsive para entrenamiento online de trail running.
Version: 1.0.1
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 7.4
Text Domain: comocabras
*/

:root {
  --ink: #281940;
  --ink-soft: #665978;
  --forest: #4b287b;
  --forest-2: #6d48a3;
  --sage: #d8caed;
  --sand: #f7f4fc;
  --paper: #ffffff;
  --orange: #7951bc;
  --orange-deep: #54278c;
  --line: rgba(54, 28, 92, 0.14);
  --shadow: 0 20px 60px rgba(75, 40, 123, 0.12);
  --radius-lg: 30px;
  --radius-md: 18px;
  --radius-sm: 10px;
  --container: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 4px; }
a:hover { color: var(--orange-deep); }
button, input, textarea, select { font: inherit; }

.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }
.narrow { width: min(calc(100% - 40px), 800px); margin-inline: auto; }
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; overflow: hidden;
  position: absolute !important; white-space: nowrap; width: 1px;
}

.announcement {
  background: var(--forest);
  color: #f3edff;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-align: center;
  text-transform: uppercase;
}
.announcement p { margin: 0; padding: 10px 20px; }

.site-header {
  align-items: center;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid rgba(75, 40, 123, 0.1);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 16px max(20px, calc((100vw - var(--container)) / 2));
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(14px);
}
.brand { align-items: center; display: inline-flex; gap: 12px; min-width: max-content; text-decoration: none; }
.brand img { border-radius: 50%; height: 48px; object-fit: contain; width: 48px; }
.brand__name { font-size: 0.85rem; font-weight: 800; letter-spacing: 0.12em; line-height: 1.05; text-transform: uppercase; }
.brand__sub { color: var(--ink-soft); display: block; font-size: 0.69rem; font-weight: 600; letter-spacing: 0.04em; margin-top: 4px; text-transform: none; }
.site-nav { align-items: center; display: flex; gap: 18px; }
.site-nav ul { align-items: center; display: flex; gap: 18px; list-style: none; margin: 0; padding: 0; }
.site-nav a { color: var(--ink); font-size: 0.9rem; font-weight: 700; text-decoration: none; }
.site-nav a:hover { color: var(--orange-deep); }
.header-cta { white-space: nowrap; }

.button {
  align-items: center;
  background: var(--orange);
  border: 1px solid var(--orange);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-size: 0.88rem;
  font-weight: 800;
  gap: 8px;
  justify-content: center;
  padding: 13px 20px;
  text-decoration: none;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.button:hover { background: var(--orange-deep); box-shadow: 0 12px 24px rgba(84, 39, 140, 0.22); color: #fff; transform: translateY(-2px); }
.button--light { background: #fff; border-color: #fff; color: var(--forest); }
.button--light:hover { background: var(--sand); color: var(--forest); }
.button--outline { background: transparent; border-color: rgba(255,255,255,.55); color: #fff; }
.button--outline:hover { background: rgba(255,255,255,.12); color: #fff; }
.button--ink { background: var(--forest); border-color: var(--forest); }

.hero {
  background:
    radial-gradient(circle at 84% 26%, rgba(159, 110, 220, 0.5), transparent 28%),
    radial-gradient(circle at 20% 110%, rgba(216, 202, 237, 0.3), transparent 36%),
    linear-gradient(135deg, #321753 0%, #4b287b 62%, #7150a6 100%);
  color: #fff;
  overflow: hidden;
  position: relative;
}
.hero::before {
  background: repeating-radial-gradient(ellipse at 20% 90%, transparent 0 38px, rgba(255,255,255,.08) 40px 41px, transparent 43px 82px);
  content: "";
  inset: -12% -8%;
  opacity: .65;
  pointer-events: none;
  position: absolute;
  transform: rotate(-7deg);
}
.hero__inner { display: grid; gap: 48px; grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr); min-height: 660px; padding-bottom: 92px; padding-top: 92px; position: relative; z-index: 1; }
.hero__copy { align-self: center; max-width: 650px; }
.eyebrow { color: var(--orange); font-size: 0.78rem; font-weight: 900; letter-spacing: .16em; margin: 0 0 18px; text-transform: uppercase; }
.eyebrow--light { color: #ffd0bc; }
.hero h1 { font-size: clamp(3rem, 7vw, 6.8rem); letter-spacing: -0.075em; line-height: .92; margin: 0; max-width: 780px; }
.hero__lead { color: #e6f2e6; font-size: clamp(1.08rem, 2vw, 1.32rem); margin: 28px 0 32px; max-width: 620px; }
.hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 12px; }
.hero__note { align-items: center; color: #c8ded0; display: flex; font-size: .84rem; gap: 10px; margin-top: 24px; }
.hero__note::before { background: var(--orange); border-radius: 50%; content: ""; display: inline-block; height: 8px; width: 8px; }
.hero__visual { align-items: center; display: flex; justify-content: center; min-height: 420px; position: relative; }
.hero__visual::before { border: 1px solid rgba(255,255,255,.18); border-radius: 50%; content: ""; height: min(430px, 82vw); position: absolute; width: min(430px, 82vw); }
.hero__visual::after { border: 1px solid rgba(255,255,255,.12); border-radius: 50%; content: ""; height: min(540px, 102vw); position: absolute; width: min(540px, 102vw); }
.hero__logo-card { align-items: center; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 30px 80px rgba(0,0,0,.22); display: flex; height: 260px; justify-content: center; overflow: hidden; position: relative; width: 260px; z-index: 2; }
.hero__logo-card img { height: 220px; width: 220px; }
.hero__tag { background: var(--sand); border-radius: 12px; box-shadow: 0 12px 30px rgba(0,0,0,.12); color: var(--ink); font-size: .75rem; font-weight: 900; letter-spacing: .08em; padding: 12px 16px; position: absolute; right: 2%; text-transform: uppercase; top: 16%; transform: rotate(6deg); z-index: 3; }
.hero__tag--two { bottom: 16%; left: 0; right: auto; top: auto; transform: rotate(-6deg); }
.hero__visual { border-radius: 34px; isolation: isolate; overflow: hidden; }
.hero__visual-photo, .hero__visual-shade { inset: 0; height: 100%; position: absolute; width: 100%; }
.hero__visual-photo { object-fit: cover; opacity: .78; z-index: -2; }
.hero__visual-shade { background: linear-gradient(135deg, rgba(10,46,38,.75), rgba(10,46,38,.16)); z-index: -1; }
.hero__price { align-items: baseline; background: #fff; border-radius: 14px; bottom: 4%; box-shadow: 0 18px 40px rgba(0,0,0,.2); color: var(--forest); display: flex; flex-direction: column; padding: 14px 18px; position: absolute; right: 4%; z-index: 4; }
.hero__price strong { font-size: 1.8rem; letter-spacing: -.07em; line-height: 1; }
.hero__price span { color: var(--ink-soft); font-size: .72rem; margin-top: 4px; }

.home-plan-callout { background: #f7f3ea; }
.home-plan-callout__grid { align-items: center; display: grid; gap: 70px; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.home-plan-callout__image { min-height: 500px; position: relative; }
.home-plan-callout__image img { border-radius: 24px; height: 100%; object-fit: cover; width: 100%; }
.home-plan-callout__image span { background: var(--forest); bottom: 24px; color: #fff; font-weight: 900; left: 24px; padding: 14px 18px; position: absolute; }
.home-plan-callout__copy h2 { font-size: clamp(2.2rem, 4vw, 4.5rem); letter-spacing: -.07em; line-height: .96; margin: 0 0 20px; }
.home-plan-callout__copy > p:not(.section__kicker) { color: var(--ink-soft); font-size: 1.08rem; max-width: 560px; }
.home-plan-callout__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 20px; margin-top: 30px; }

.blog-hero, .article-hero, .service-hero, .about-hero, .contact-hero { background: var(--forest); color: #fff; overflow: hidden; }
.blog-hero__inner { align-items: center; display: grid; gap: 60px; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); min-height: 510px; padding-bottom: 70px; padding-top: 70px; }
.blog-hero h1, .service-hero h1, .about-hero h1, .contact-hero h1 { font-size: clamp(3.2rem, 7vw, 6.5rem); letter-spacing: -.08em; line-height: .9; margin: 0 0 22px; max-width: 850px; }
.blog-hero p:not(.eyebrow), .contact-hero p:not(.eyebrow) { color: #c5d7ce; font-size: 1.12rem; max-width: 600px; }
.blog-hero__visual { height: 330px; transform: rotate(3deg); }
.blog-hero__visual img { border: 8px solid #fff; box-shadow: 0 25px 50px rgba(0,0,0,.22); height: 100%; object-fit: cover; width: 100%; }
.blog-list-shell { background: #f7f3ea; }
.post-list--rich { gap: 22px; grid-template-columns: repeat(3, 1fr); }
.post-card--rich { background: #fff; border: 0; border-radius: 20px; box-shadow: 0 12px 30px rgba(16,45,40,.07); overflow: hidden; padding: 0; }
.post-card__media { display: block; height: 230px; overflow: hidden; }
.post-card__media img { height: 100%; object-fit: cover; transition: transform 220ms ease; width: 100%; }
.post-card:hover .post-card__media img { transform: scale(1.04); }
.post-card__body { display: flex; flex-direction: column; min-height: 255px; padding: 24px; }
.post-card--rich h2 { font-size: 1.45rem; margin: 10px 0 12px; }
.post-card--rich h2 a { color: var(--ink); }
.post-card--rich p:not(.section__kicker) { color: var(--ink-soft); }
.text-link { color: var(--orange-deep); font-weight: 900; margin-top: auto; text-decoration: none; }
.cta--deep { background: #142f2a; }

.article-hero__grid { align-items: center; display: grid; gap: 60px; grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr); min-height: 470px; padding-bottom: 65px; padding-top: 65px; }
.article-hero h1 { font-size: clamp(2.8rem, 6vw, 6rem); letter-spacing: -.08em; line-height: .92; margin: 0 0 20px; }
.article-hero__meta { color: #b9cec4; font-size: .86rem; }
.article-hero__image { height: 390px; transform: rotate(2deg); }
.article-hero__image img { border: 7px solid #fff; height: 100%; object-fit: cover; width: 100%; }
.article-shell { background: #fff; }
.article-layout { align-items: start; display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) 310px; }
.article-content { max-width: 820px; }
.article-content > p:first-of-type { font-size: 1.2rem; }
.article-lead { border-left: 4px solid var(--orange); color: var(--forest); font-size: 1.2rem; font-weight: 800; line-height: 1.25; margin-bottom: 34px; padding-left: 24px; }
.article-aside { position: sticky; top: 30px; }
.article-aside__card { background: var(--sand); border-radius: 18px; padding: 24px; }
.article-aside__card h2 { font-size: 2rem; letter-spacing: -.06em; line-height: .98; margin: 0 0 12px; }
.article-aside__card p:not(.section__kicker) { color: var(--ink-soft); }
.article-aside__image { border-radius: 18px; margin-top: 18px; overflow: hidden; }
.article-aside__image img { display: block; height: 210px; object-fit: cover; width: 100%; }
.article-gallery { background: #f7f3ea; padding: 82px 0; }
.article-gallery__grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.article-gallery__grid img { aspect-ratio: 1 / 1; border-radius: 16px; height: 100%; object-fit: cover; width: 100%; }

.service-hero__grid, .about-hero__grid, .contact-hero__grid { align-items: center; display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr); min-height: 590px; padding-bottom: 70px; padding-top: 70px; }
.service-hero__copy > p:not(.eyebrow), .about-hero__grid p:not(.eyebrow), .contact-hero__grid p:not(.eyebrow) { color: #c5d7ce; font-size: 1.08rem; max-width: 650px; }
.service-hero__promise { border-left: 3px solid var(--orange); color: #fff !important; font-size: 1.3rem !important; font-weight: 800; padding-left: 20px; }
.service-hero__copy small { color: #a9c1b5; display: block; margin-top: 18px; }
.button--outline-light { background: transparent; border: 1px solid rgba(255,255,255,.5); color: #fff; }
.button--outline-light:hover { background: #fff; color: var(--forest); }
.service-hero__visual { height: 480px; position: relative; }
.service-hero__visual img { border-radius: 26px; height: 100%; object-fit: cover; width: 100%; }
.service-hero__badge { align-items: center; background: var(--orange); border-radius: 50%; bottom: 25px; box-shadow: 0 20px 40px rgba(0,0,0,.22); display: flex; flex-direction: column; height: 120px; justify-content: center; position: absolute; right: -25px; transform: rotate(8deg); width: 120px; }
.service-hero__badge { color: #fff; font-size: 2rem; font-weight: 900; }
.service-hero__badge span { font-size: .8rem; }
.service-process { background: #fff; }
.process-grid, .values-grid, .contact-next__grid { display: grid; gap: 18px; grid-template-columns: repeat(4, 1fr); }
.process-grid article, .values-grid article, .contact-next__grid article { border-top: 2px solid var(--orange); padding: 24px 8px 0 0; }
.process-grid span, .contact-next__grid span, .values-grid span { color: var(--orange-deep); font-size: .8rem; font-weight: 900; letter-spacing: .12em; }
.process-grid h3, .values-grid h3, .contact-next__grid h3 { font-size: 1.4rem; letter-spacing: -.04em; line-height: 1; margin: 20px 0 10px; }
.process-grid p, .values-grid p, .contact-next__grid p { color: var(--ink-soft); font-size: .94rem; }
.service-promise__grid { align-items: center; display: grid; gap: 70px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.service-promise__image { height: 560px; }
.service-promise__image img { border-radius: 24px; height: 100%; object-fit: cover; width: 100%; }
.service-promise h2, .service-fit h2 { font-size: clamp(2.2rem, 4vw, 4.5rem); letter-spacing: -.07em; line-height: .95; margin: 0 0 22px; }
.service-promise__grid p:not(.section__kicker) { color: var(--ink-soft); }
.feature-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, 1fr); }
.feature-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 26px; }
.feature-card__icon { font-size: 2rem; }
.feature-card h3 { font-size: 1.25rem; letter-spacing: -.04em; line-height: 1.05; margin: 20px 0 10px; }
.feature-card p { color: var(--ink-soft); font-size: .92rem; margin: 0; }
.service-difference .section__kicker { color: #ffc2a9; }
.service-difference h2 { color: #fff; font-size: clamp(2.2rem, 4vw, 4.2rem); letter-spacing: -.07em; line-height: .95; margin: 0; }
.difference-grid, .fit-grid { display: grid; gap: 30px; grid-template-columns: repeat(2, 1fr); margin-top: 44px; }
.difference-grid > div { border: 1px solid rgba(255,255,255,.18); border-radius: 18px; padding: 30px; }
.difference-grid h3 { color: #fff; font-size: 1.25rem; margin: 0 0 20px; }
.difference-grid ul, .fit-grid ul, .price-card ul { list-style: none; margin: 0; padding: 0; }
.difference-grid li { border-top: 1px solid rgba(255,255,255,.14); color: #c5d7ce; padding: 12px 0; }
.service-price { background: #f7f3ea; }
.service-price__grid { align-items: center; display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); }
.service-price h2 { font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.08em; line-height: .92; margin: 0; }
.service-price p:not(.section__kicker) { color: var(--ink-soft); font-size: 1.05rem; }
.service-price__photo { border-radius: 18px; height: 250px; margin-top: 25px; object-fit: cover; width: 100%; }
.price-card { background: var(--forest); border-radius: 22px; box-shadow: 0 25px 60px rgba(16,45,40,.17); color: #fff; padding: 34px; }
.price-card .section__kicker { color: #ffc2a9; }
.price-card > strong { display: block; font-size: 3.5rem; letter-spacing: -.08em; line-height: 1; margin: 14px 0; }
.price-card > p:not(.section__kicker) { color: #c5d7ce; }
.price-card li { border-top: 1px solid rgba(255,255,255,.14); color: #e0eee4; font-size: .9rem; padding: 10px 0; }
.price-card .button { margin-top: 20px; }
.price-card small { color: #b9cec4; display: block; margin-top: 16px; }
.fit-grid > div { background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 30px; }
.fit-grid h3 { font-size: 1.25rem; margin: 0 0 18px; }
.fit-grid li { border-top: 1px solid var(--line); color: var(--ink-soft); padding: 11px 0; }
.service-final-cta { background: var(--orange); }

.about-hero__grid { min-height: 510px; }
.about-hero__grid h1 { max-width: 700px; }
.about-hero__grid > div:first-child > p:not(.eyebrow) { font-size: 1.3rem; }
.about-hero__visual { height: 420px; }
.about-hero__visual img { border-radius: 25px; height: 100%; object-fit: cover; width: 100%; }
.about-story__grid { display: grid; gap: 70px; grid-template-columns: minmax(250px, .65fr) minmax(0, 1.15fr); }
.about-story__aside { position: sticky; top: 30px; }
.about-story__quote { color: var(--forest); font-size: 2.2rem; font-weight: 900; letter-spacing: -.07em; line-height: .95; margin: 30px 0; }
.about-story__aside img { border-radius: 18px; display: block; height: auto; max-width: 420px; object-fit: contain; width: 100%; }
.values-grid { grid-template-columns: repeat(3, 1fr); }

.contact-hero__grid { min-height: 500px; }
.contact-hero__grid h1 { max-width: 650px; }
.contact-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.contact-hero__image { height: 430px; }
.contact-hero__image img { border-radius: 24px; height: 100%; object-fit: cover; width: 100%; }
.contact-grid { align-items: start; display: grid; gap: 70px; grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr); }
.contact-grid h2 { font-size: clamp(2.3rem, 4vw, 4.5rem); letter-spacing: -.07em; line-height: .95; margin: 0 0 18px; }
.contact-grid > div:first-child > p:not(.section__kicker) { color: var(--ink-soft); font-size: 1.05rem; }
.contact-details { display: grid; gap: 10px; margin-top: 30px; }
.contact-details a { color: var(--forest); font-weight: 900; text-decoration: none; }
.contact-form-card { background: #f7f3ea; border-radius: 20px; padding: 30px; }
.contact-form-card h3 { font-size: 2rem; letter-spacing: -.05em; margin: 0 0 20px; }
.contact-form-card form { display: grid; gap: 8px; }
.contact-form-card label { color: var(--ink); font-size: .84rem; font-weight: 900; margin-top: 8px; }
.contact-form-card input, .contact-form-card textarea { background: #fff; border: 1px solid #cbd8ce; border-radius: 8px; box-sizing: border-box; font: inherit; padding: 11px 12px; width: 100%; }
.contact-form-card textarea { resize: vertical; }
.contact-form-card small { color: var(--ink-soft); display: block; font-size: .75rem; margin-top: 14px; }
.contact-next { background: #f7f3ea; }
.contact-next__grid { grid-template-columns: repeat(3, 1fr); }

.site-cta { background: linear-gradient(135deg, #f8f5ff 0%, #eee5fc 100%); border-bottom: 1px solid rgba(75, 40, 123, 0.12); border-top: 1px solid rgba(75, 40, 123, 0.12); color: var(--ink); }
.site-cta__inner { align-items: center; display: flex; gap: 30px; justify-content: space-between; padding-bottom: 42px; padding-top: 42px; }
.site-cta__inner h2 { font-size: clamp(1.8rem, 3.5vw, 3rem); letter-spacing: -.07em; line-height: .95; margin: 0; }
.site-cta__inner .section__kicker { margin-bottom: 8px; }
.site-cta--footer .section__kicker { color: var(--forest); }
.site-cta--footer .button { box-shadow: 0 14px 28px rgba(75, 40, 123, 0.18); }

.proof-strip { background: var(--sand); border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); }
.proof-strip__grid { display: grid; grid-template-columns: repeat(3, 1fr); }
.proof-item { align-items: center; display: flex; gap: 14px; padding: 24px 18px; }
.proof-item + .proof-item { border-left: 1px solid var(--line); }
.proof-item__number { color: var(--orange-deep); font-size: 1.5rem; font-weight: 900; }
.proof-item strong { display: block; font-size: .92rem; }
.proof-item span { color: var(--ink-soft); display: block; font-size: .78rem; }

.section { padding: 110px 0; }
.section--sand { background: var(--sand); }
.section--forest { background: var(--forest); color: #fff; }
.section__head { align-items: end; display: flex; gap: 28px; justify-content: space-between; margin-bottom: 48px; }
.section h2 { font-size: clamp(2.3rem, 5vw, 4.6rem); letter-spacing: -.065em; line-height: .98; margin: 0; max-width: 780px; }
.section__intro { color: var(--ink-soft); font-size: 1.06rem; max-width: 490px; }
.section--forest .section__intro { color: #c5d7ce; }
.section__kicker { color: var(--orange-deep); font-size: .76rem; font-weight: 900; letter-spacing: .16em; margin: 0 0 14px; text-transform: uppercase; }
.section--forest .section__kicker { color: #ffc2a9; }

.story-grid { align-items: center; display: grid; gap: 60px; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.story-quote { border-left: 3px solid var(--orange); font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 800; letter-spacing: -.04em; line-height: 1.08; margin: 0; padding-left: 26px; }
.story-copy p { color: var(--ink-soft); font-size: 1.03rem; margin: 0 0 18px; }
.story-copy p:last-child { margin-bottom: 0; }
.signature { color: var(--forest); font-family: Georgia, serif; font-size: 1.45rem; font-style: italic; margin-top: 26px; }

.service-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.service-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); display: flex; flex-direction: column; min-height: 310px; padding: 30px; transition: box-shadow 160ms ease, transform 160ms ease; }
.service-card:hover { box-shadow: var(--shadow); transform: translateY(-5px); }
.service-card__index { color: var(--orange-deep); font-size: .8rem; font-weight: 900; letter-spacing: .14em; }
.service-card h3 { font-size: 1.45rem; letter-spacing: -.04em; line-height: 1.05; margin: 48px 0 12px; }
.service-card p { color: var(--ink-soft); font-size: .94rem; margin: 0; }
.service-card a { color: var(--forest); font-size: .88rem; font-weight: 900; margin-top: auto; padding-top: 28px; text-decoration: none; }

.method-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, 1fr); }
.method-card { border-top: 1px solid rgba(255,255,255,.28); padding-top: 22px; }
.method-card__num { color: #ffc2a9; font-size: .85rem; font-weight: 900; }
.method-card h3 { font-size: 1.3rem; letter-spacing: -.03em; margin: 22px 0 10px; }
.method-card p { color: #c5d7ce; font-size: .9rem; margin: 0; }

.testimonial-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.testimonial { background: #fff; border: 1px solid var(--line); border-radius: var(--radius-md); padding: 28px; }
.testimonial__stars { color: var(--orange); letter-spacing: .15em; }
.testimonial p { font-size: 1rem; margin: 22px 0 28px; }
.testimonial strong { font-size: .85rem; }
.testimonial span { color: var(--ink-soft); display: block; font-size: .78rem; margin-top: 3px; }
.testimonial-grid--wide { grid-template-columns: repeat(4, 1fr); }
.section--forest .story-copy p { color: #c5d7ce; }
.platform-copy { margin-top: 76px; }

.photo-gallery { background: #f0eadf; padding-bottom: 72px; padding-top: 72px; }
.photo-gallery__grid { display: grid; gap: 14px; grid-template-columns: repeat(4, 1fr); }
.photo-gallery img { aspect-ratio: 1 / 1; border-radius: var(--radius-md); height: 100%; object-fit: cover; width: 100%; }

.resource-grid { display: grid; gap: 18px; grid-template-columns: 1.1fr .9fr; }
.resource-card { border-radius: var(--radius-lg); overflow: hidden; padding: 36px; position: relative; }
.resource-card--dark { background: var(--forest); color: #fff; min-height: 360px; }
.resource-card--accent { background: #e66a3d; color: #fff; min-height: 360px; }
.resource-card::after { border: 1px solid rgba(255,255,255,.22); border-radius: 50%; bottom: -160px; content: ""; height: 390px; position: absolute; right: -80px; width: 390px; }
.resource-card h3 { font-size: clamp(2rem, 4vw, 3.3rem); letter-spacing: -.06em; line-height: .98; margin: 18px 0 16px; max-width: 470px; position: relative; z-index: 1; }
.resource-card p { color: rgba(255,255,255,.78); max-width: 460px; position: relative; z-index: 1; }
.resource-card .button { margin-top: 24px; position: relative; z-index: 2; }

.cta { background: var(--orange); color: #fff; overflow: hidden; position: relative; }
.cta::before { border: 1px solid rgba(255,255,255,.28); border-radius: 50%; content: ""; height: 620px; position: absolute; right: -200px; top: -250px; width: 620px; }
.cta__inner { align-items: center; display: flex; gap: 34px; justify-content: space-between; padding-bottom: 72px; padding-top: 72px; position: relative; z-index: 1; }
.cta h2 { font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.07em; line-height: .95; margin: 0; max-width: 680px; }
.cta p { color: #ffe0d5; font-size: 1.05rem; margin: 14px 0 0; max-width: 540px; }

.site-footer { background: radial-gradient(circle at 86% -12%, rgba(126, 82, 196, .42), transparent 34%), linear-gradient(135deg, #21132f 0%, #34204f 52%, #281940 100%); color: #fff; overflow: hidden; padding: 76px 0 24px; position: relative; }
.site-footer::before { border: 1px solid rgba(216, 202, 237, .16); border-radius: 50%; content: ""; height: 520px; position: absolute; right: -190px; top: -250px; width: 520px; }
.site-footer > .container { position: relative; z-index: 1; }
.footer-grid { display: grid; gap: 58px; grid-template-columns: minmax(0, 1.3fr) minmax(150px, .65fr) minmax(300px, 1fr); }
.footer-brand-column { max-width: 430px; }
.site-footer .brand { color: #fff; }
.site-footer .brand img { box-shadow: 0 10px 26px rgba(0, 0, 0, .22); }
.site-footer .brand__name { color: #fff; }
.site-footer .brand__sub { color: rgba(255,255,255,.62); }
.footer-lead { color: rgba(255,255,255,.72); font-size: .98rem; line-height: 1.6; margin: 28px 0 22px; max-width: 390px; }
.footer-pill-row { display: flex; flex-wrap: wrap; gap: 8px; }
.footer-pill-row span { border: 1px solid rgba(216, 202, 237, .24); border-radius: 999px; color: #d8caed; font-size: .7rem; font-weight: 800; letter-spacing: .04em; padding: 7px 11px; }
.footer-heading { color: #d8caed; font-size: .72rem; font-weight: 900; letter-spacing: .16em; margin: 4px 0 22px; text-transform: uppercase; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: 0 0 12px; }
.site-footer a { color: rgba(255,255,255,.72); text-decoration: none; transition: color 160ms ease, transform 160ms ease; }
.site-footer a:hover { color: #fff; }
.site-footer .footer-links a, .site-footer .menu a { display: inline-flex; font-size: .94rem; }
.site-footer .footer-links a::after, .site-footer .menu a::after { color: #a98bd2; content: "↗"; font-size: .78rem; margin-left: 7px; opacity: 0; transform: translate(-4px, 4px); transition: opacity 160ms ease, transform 160ms ease; }
.site-footer .footer-links a:hover::after, .site-footer .menu a:hover::after { opacity: 1; transform: translate(0, 0); }
.footer-contact-list li { align-items: flex-start; display: flex; gap: 11px; }
.footer-contact__icon { align-items: center; background: rgba(216, 202, 237, .12); border: 1px solid rgba(216, 202, 237, .2); border-radius: 50%; color: #d8caed; display: inline-flex; flex: 0 0 28px; font-size: .78rem; font-weight: 900; height: 28px; justify-content: center; line-height: 1; margin-top: -2px; width: 28px; }
.footer-contact-list a { font-size: .88rem; }
.footer-whatsapp { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(216, 202, 237, .2); border-radius: 16px; display: grid; gap: 11px; grid-template-columns: auto 1fr auto; margin-top: 22px; padding: 13px 14px; }
.footer-whatsapp:hover { background: rgba(255,255,255,.14); transform: translateY(-2px); }
.footer-whatsapp__mark { align-items: center; background: #d8caed; border-radius: 10px; color: #281940; display: inline-flex; font-size: .64rem; font-weight: 900; height: 34px; justify-content: center; letter-spacing: .04em; width: 34px; }
.footer-whatsapp__mark img { height: 18px; width: 18px; }
.footer-whatsapp strong, .footer-whatsapp small { display: block; }
.footer-whatsapp strong { color: #fff; font-size: .78rem; }
.footer-whatsapp small { color: rgba(255,255,255,.56); font-size: .68rem; line-height: 1.35; margin-top: 3px; }
.footer-arrow { color: #d8caed; font-size: 1.15rem; }
.footer-socialbar { align-items: center; border-top: 1px solid rgba(255,255,255,.14); display: flex; gap: 24px; justify-content: space-between; margin-top: 64px; padding: 22px 0; }
.footer-microcopy { align-items: center; color: rgba(255,255,255,.52); display: flex; font-size: .8rem; gap: 9px; margin: 0; }
.footer-status { background: #bda4ed; border-radius: 50%; box-shadow: 0 0 0 5px rgba(189,164,237,.12); display: inline-block; height: 7px; width: 7px; }
.footer-socials { display: flex; flex-wrap: wrap; gap: 9px; }
.footer-socials a { align-items: center; border: 1px solid rgba(216, 202, 237, .2); border-radius: 50%; display: inline-flex; height: 42px; justify-content: center; padding: 0; transition: background 160ms ease, border-color 160ms ease, transform 160ms ease; width: 42px; }
.footer-socials a:hover { background: rgba(216, 202, 237, .16); border-color: rgba(216, 202, 237, .7); transform: translateY(-2px); }
.footer-socials a img { display: block; height: 19px; width: 19px; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.48); display: flex; font-size: .72rem; gap: 20px; justify-content: space-between; padding-top: 20px; }
.footer-bottom span:last-child { white-space: nowrap; }
.footer-bottom a { color: rgba(255,255,255,.62); }
.footer-bottom i { color: rgba(216,202,237,.55); font-style: normal; margin: 0 8px; }

.entry-shell { padding: 86px 0 110px; }
.entry-header { margin-bottom: 48px; max-width: 820px; }
.entry-title { font-size: clamp(2.7rem, 6vw, 5.8rem); letter-spacing: -.07em; line-height: .95; margin: 0; }
.entry-meta { color: var(--ink-soft); font-size: .84rem; margin-top: 18px; }
.entry-content { font-size: 1.06rem; max-width: 780px; }
.entry-content h2, .entry-content h3 { letter-spacing: -.04em; line-height: 1.05; margin: 2em 0 .7em; }
.entry-content p, .entry-content ul, .entry-content ol { margin: 0 0 1.2em; }
.entry-content img { border-radius: var(--radius-md); }
.entry-content a { color: var(--orange-deep); }
.article-photo-strip { display: grid; gap: 12px; grid-template-columns: repeat(3, 1fr); margin: 0 0 42px; max-width: 980px; }
.article-photo-strip img { aspect-ratio: 4 / 3; border-radius: var(--radius-md); height: 100%; object-fit: cover; width: 100%; }
.calculator-intro { padding-bottom: 28px; }
.calculator-lead { color: var(--ink-soft); font-size: 1.15rem; margin: 22px 0 0; }
.calculator-section { background: #f3eee4; border-top: 1px solid var(--line); padding: 70px 0 110px; }
.calculator-section h2 { font-size: clamp(1.65rem, 3vw, 2.7rem); letter-spacing: -.055em; line-height: 1; margin: 0 0 28px; max-width: 950px; }
.calculator-heading-spaced { margin-top: 82px !important; }
.calculator-grid { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.calculator-card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius-md); padding: 28px; }
.calculator-card--wide { grid-column: span 2; }
.calculator-card h3 { font-size: 1.45rem; letter-spacing: -.04em; line-height: 1.06; margin: 0 0 24px; }
.calculator-card h4 { color: var(--forest); font-size: 1rem; margin: 26px 0 14px; }
.calculator-card p { color: var(--ink-soft); font-size: .93rem; }
.calculator-card label { color: var(--ink); display: block; font-size: .86rem; font-weight: 800; margin: 14px 0 7px; }
.calculator-card input, .calculator-card select { background: #fff; border: 1px solid #cbd8ce; border-radius: 9px; box-sizing: border-box; color: var(--ink); font: inherit; padding: 11px 12px; width: 100%; }
.calculator-card input:focus, .calculator-card select:focus { border-color: var(--orange); outline: 3px solid rgba(230,106,61,.18); }
.form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid--four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.form-grid label { margin-top: 0; }
.calculator-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.button--small { font-size: .78rem; padding: 11px 15px; }
.button--ghost { background: transparent; border: 1px solid var(--line); color: var(--forest); }
.button--ghost:hover { background: var(--sand); color: var(--forest); }
.calculator-result { background: #edf5ee; border-left: 3px solid var(--orange); color: var(--forest) !important; font-weight: 800; min-height: 22px; padding: 12px 14px; }
.calculator-info-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 18px; }
.calculator-info-grid details { background: rgba(255,255,255,.55); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; }
.calculator-info-grid summary { color: var(--forest); cursor: pointer; font-weight: 900; }
.calculator-info-grid p { color: var(--ink-soft); margin: 14px 0 0; }

.post-list { display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); }
.post-card { border: 1px solid var(--line); border-radius: var(--radius-md); display: flex; flex-direction: column; padding: 24px; }
.post-card h2 { font-size: 1.38rem; letter-spacing: -.04em; line-height: 1.05; margin: 16px 0 10px; }
.post-card p { color: var(--ink-soft); font-size: .92rem; }
.post-card a { font-weight: 900; margin-top: auto; padding-top: 20px; text-decoration: none; }

@media (max-width: 980px) {
  .site-header { flex-wrap: wrap; }
  .site-nav { flex: 1 0 100%; justify-content: center; order: 3; }
  .hero__inner, .story-grid, .resource-grid, .home-plan-callout__grid, .blog-hero__inner, .article-hero__grid, .article-layout, .service-hero__grid, .service-promise__grid, .service-price__grid, .about-hero__grid, .about-story__grid, .contact-hero__grid, .contact-grid { grid-template-columns: 1fr; }
  .hero__inner { min-height: auto; }
  .hero__visual { min-height: 330px; }
  .service-grid, .testimonial-grid, .testimonial-grid--wide, .post-list--rich, .feature-grid { grid-template-columns: repeat(2, 1fr); }
  .method-grid { grid-template-columns: repeat(2, 1fr); row-gap: 36px; }
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .article-aside { position: static; }
  .service-hero__visual, .about-hero__visual, .contact-hero__image { height: 360px; }
  .service-promise__image { height: 420px; }
  .difference-grid, .fit-grid { grid-template-columns: 1fr; }
  .article-gallery__grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand-column { grid-column: 1 / -1; max-width: 640px; }
}
@media (max-width: 640px) {
  .container, .narrow { width: min(calc(100% - 28px), var(--container)); }
  .site-header { gap: 12px; padding-inline: 14px; }
  .brand img { height: 40px; width: 40px; }
  .brand__name { font-size: .75rem; }
  .header-cta { display: none; }
  .site-nav { justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
  .site-nav ul { gap: 16px; white-space: nowrap; }
  .hero__inner { padding-bottom: 72px; padding-top: 72px; }
  .hero__visual { min-height: 280px; }
  .hero__logo-card { height: 190px; width: 190px; }
  .hero__logo-card img { height: 160px; width: 160px; }
  .hero__tag { font-size: .62rem; right: 0; top: 7%; }
  .hero__tag--two { bottom: 7%; left: 0; }
  .hero__price { bottom: 3%; right: 3%; }
  .proof-strip__grid, .service-grid, .testimonial-grid, .testimonial-grid--wide, .method-grid, .post-list, .post-list--rich, .photo-gallery__grid, .feature-grid, .process-grid, .article-gallery__grid, .values-grid, .contact-next__grid { grid-template-columns: 1fr; }
  .proof-item + .proof-item { border-left: 0; border-top: 1px solid var(--line); }
  .section { padding: 78px 0; }
  .section__head, .cta__inner { align-items: flex-start; flex-direction: column; }
  .story-grid { gap: 36px; }
  .resource-card { min-height: 320px; padding: 28px; }
  .article-photo-strip { grid-template-columns: 1fr; }
  .calculator-grid, .calculator-info-grid, .form-grid, .form-grid--four { grid-template-columns: 1fr; }
  .calculator-card--wide { grid-column: auto; }
  .home-plan-callout__image { min-height: 330px; }
  .blog-hero__visual { height: 230px; }
  .article-hero__image { height: 270px; }
  .service-hero__visual, .about-hero__visual, .contact-hero__image { height: 280px; }
  .service-promise__image { height: 330px; }
  .service-hero__badge { bottom: 12px; height: 90px; right: 10px; width: 90px; }
  .service-hero__badge { font-size: 1.5rem; }
  .site-cta__inner { align-items: flex-start; flex-direction: column; }
  .article-layout { gap: 34px; }
  .about-story__aside { position: static; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand-column { grid-column: auto; max-width: none; }
  .footer-socialbar { align-items: flex-start; flex-direction: column; }
  .footer-bottom { flex-direction: column; gap: 8px; }
  .footer-bottom span:last-child { white-space: normal; }
}

/* Home: distribución fiel a la portada original de Google Sites. */
.hero--original {
  background: #203e4b;
  min-height: 720px;
}
.hero--original::before { display: none; }
.hero--original .hero__backdrop {
  inset: 0;
  overflow: hidden;
  position: absolute;
  z-index: 0;
}
.hero--original .hero__backdrop img,
.hero--original .hero__backdrop span {
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}
.hero--original .hero__backdrop img { object-fit: cover; }
.hero--original .hero__backdrop span { background: rgba(15, 29, 43, .42); }
.hero--original .hero__inner {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  min-height: 720px;
  padding-bottom: 78px;
  padding-top: 48px;
}
.hero--original .hero__original-copy {
  margin-inline: auto;
  max-width: 1300px;
  position: relative;
  text-align: center;
  z-index: 1;
}
.hero--original h1 {
  font-size: clamp(2.6rem, 4.3vw, 4.7rem);
  letter-spacing: -.055em;
  line-height: 1;
  margin: 0 0 30px;
  max-width: none;
}
.hero--original .hero__lead {
  font-size: clamp(1.6rem, 3vw, 2.65rem);
  margin: 0 0 20px;
  max-width: none;
}
.hero--original .hero__original-copy > p:not(.eyebrow):not(.hero__lead):not(.hero__note) {
  color: #f6f8f7;
  font-size: clamp(1rem, 1.8vw, 1.35rem);
  margin: 8px 0;
}
.hero--original .hero__note {
  color: #fff;
  display: block;
  font-size: 1.35rem;
  margin: 28px 0 0;
}
.hero--original .hero__note::before { display: none; }
.hero--original .hero__actions { justify-content: center; margin-top: 30px; }
.hero--original .button { background: #7416bd; border-color: #7416bd; }
.hero--original .button:hover { background: #5d0f9c; border-color: #5d0f9c; }
.hero--original .button--outline { background: transparent; border-color: rgba(255,255,255,.75); }

.home-story .story-grid { align-items: start; }
.home-philosophy { background: #7e70f1; color: #fff; }
.home-philosophy p {
  font-size: clamp(1.05rem, 2vw, 1.55rem);
  margin: 0;
  padding: 25px 0;
  text-align: center;
}
.home-testimonials { background: #fff; }
.home-testimonials .section__head { justify-content: center; text-align: center; }
.home-testimonials .section__head .section__kicker { display: none; }
.home-testimonials h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); letter-spacing: -.035em; }
.testimonial-grid--old { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.testimonial--old {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.testimonial__media { margin-bottom: 18px; }
.testimonial__media img {
  aspect-ratio: 1 / 1;
  border-radius: 0;
  display: block;
  height: auto;
  object-fit: contain;
  width: 100%;
}
.testimonial__body { text-align: center; }
.testimonial--old strong { display: block; font-size: 1rem; margin-bottom: 8px; }
.testimonial--old .testimonial__stars { color: #e2b128; display: block; font-size: 1.15rem; letter-spacing: .12em; }
.testimonial--old p {
  color: var(--ink);
  font-size: .98rem;
  line-height: 1.55;
  margin: 16px 0 0;
  text-align: left;
}
.testimonial--last { grid-column: 2; }
.home-mid-cta,
.home-platform__cta,
.home-links { display: flex; justify-content: center; margin-top: 44px; }
.button--purple { background: #7416bd; border-color: #7416bd; }
.button--purple:hover { background: #5d0f9c; border-color: #5d0f9c; }
.home-method { background: #fff; }
.method-grid--original { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.method-card--original {
  border-top: 0;
  padding-top: 0;
}
.method-card--original > img {
  display: block;
  height: 175px;
  margin: 0 auto 18px;
  object-fit: contain;
  width: 100%;
}
.method-card--original .method-card__num {
  color: #2767c9;
  display: block;
  font-size: 1rem;
  margin-bottom: 12px;
  text-align: center;
}
.method-card--original p {
  color: var(--ink);
  font-size: .98rem;
  line-height: 1.55;
  text-align: left;
}
.method-card--original a { color: var(--ink); }
.home-platform { background: #fff; text-align: center; }
.home-platform__title {
  color: #e00000;
  font-size: clamp(1.6rem, 3vw, 2.25rem);
  margin: 0 0 35px;
}
.home-platform h2 {
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  letter-spacing: 0;
  line-height: 1.2;
  margin: 0 auto 38px;
  max-width: 900px;
}
.home-platform h2 span { color: #e00000; }
.platform-grid--original { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.platform-grid--original article { display: flex; flex-direction: column; }
.platform-grid--original img {
  display: block;
  height: 250px;
  margin: 0 auto;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}
.platform-grid--original p {
  font-size: 1rem;
  margin: 18px 0 0;
  min-height: 48px;
}
.home-compatibility { background: #fff; padding-top: 30px; text-align: center; }
.home-compatibility > .container > .section__kicker { color: var(--ink); letter-spacing: .04em; }
.compatibility-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, 150px);
  margin: 34px auto 0;
  max-width: 1080px;
}
.compatibility-item { align-items: center; display: flex; justify-content: center; padding: 12px 26px; }
.compatibility-item img { display: block; height: 140px; object-fit: contain; width: 100%; }
.compatibility-item--garmin { grid-column: 1; grid-row: 1; }
.compatibility-item--polar { grid-column: 2; grid-row: 1; }
.compatibility-item--suunto { grid-column: 3; grid-row: 1; }
.compatibility-item--oura { grid-column: 4; grid-row: 1; }
.compatibility-item--strava { grid-column: 2; grid-row: 2; }
.compatibility-item--coros { grid-column: 3; grid-row: 2; }
.button--outline-dark { background: #fff; border-color: var(--ink); color: var(--ink); }
.button--outline-dark:hover { background: var(--ink); color: #fff; }

/* Sobre Nosotros: composición fiel a la página original, con la foto del entrenador separada. */
.about-page { background: #fff; color: #1f1f1f; }
.about-original-container { margin-inline: auto; width: min(calc(100% - 40px), 1400px); }
.about-original-hero { background: #fff; padding: 24px 0 0; }
.about-original-hero__image { border-radius: 0; display: block; height: auto; object-fit: contain; width: 100%; }
.about-original-story { background: #fff; padding: 24px 0 62px; }
.about-original-kicker { color: #1f1f1f; font-size: clamp(1.35rem, 2.4vw, 2.1rem); font-style: italic; font-weight: 800; letter-spacing: .04em; margin: 0 auto 34px; text-align: center; }
.about-original-story__layout { align-items: start; display: grid; gap: clamp(30px, 5vw, 70px); grid-template-columns: minmax(250px, .34fr) minmax(0, 1fr); }
.about-original-story__aside { position: sticky; top: 112px; }
.about-trainer-label { color: #5f42c7; font-size: .76rem; font-weight: 900; letter-spacing: .12em; line-height: 1.4; margin: 0 0 16px; text-transform: uppercase; }
.about-original-story__aside img { border-radius: 18px; display: block; height: auto; max-width: 100%; object-fit: contain; width: 100%; }
.about-original-story .entry-content { max-width: none; }
.about-original-story .entry-content p { color: #252525; font-size: 1.02rem; line-height: 1.65; margin: 0 0 24px; }
.about-original-formation { background: #fff; border-top: 1px solid rgba(31,31,31,.18); padding: 58px 0 62px; }
.about-original-formation h2 { color: #1f1f1f; font-size: clamp(1.8rem, 3.4vw, 2.8rem); letter-spacing: -.04em; margin: 0 0 28px; }
.about-original-formation ul { margin: 0; padding-left: 24px; }
.about-original-formation li { color: #252525; font-size: 1rem; line-height: 1.65; margin: 0 0 10px; padding-left: 4px; }
.about-original-cta { display: flex; justify-content: center; margin-top: 42px; }
.about-original-cta .button { border-radius: 8px; box-shadow: 0 8px 18px rgba(116,22,189,.2); font-size: 1rem; min-width: 198px; padding: 14px 26px; }
.about-original-logo { background: #fff; padding: 6px 0 54px; }
.about-original-logo .about-original-container { display: flex; justify-content: center; }
.about-original-logo img { display: block; height: auto; max-width: 500px; object-fit: contain; width: min(100%, 500px); }
.about-original-breadcrumb { border-top: 1px solid rgba(31,31,31,.18); padding: 22px 20px 28px; text-align: center; }
.about-original-breadcrumb a { color: #333; font-weight: 700; text-decoration: none; }
.about-original-breadcrumb a:hover { color: #5f42c7; }

/* Servicios: conservar la lectura y los bloques de Google Sites sin fotografías genéricas. */
.service-hero--original { background: linear-gradient(135deg, #4b1597 0%, #7627d3 58%, #a94ed2 100%); }
.service-hero--original .service-hero__grid { display: block; min-height: 570px; padding-bottom: 88px; padding-top: 88px; }
.service-hero--original .service-hero__copy { margin-inline: auto; max-width: 960px; text-align: center; }
.service-hero--original h1 { color: #fff; font-size: clamp(2.8rem, 6vw, 5.8rem); letter-spacing: -.07em; line-height: .95; margin-inline: auto; max-width: 900px; }
.service-hero--original .service-hero__copy > p:not(.eyebrow):not(.service-hero__promise) { color: rgba(255,255,255,.9); margin-inline: auto; max-width: 780px; }
.service-hero--original .service-hero__promise { border-left: 0; color: #fff !important; font-size: 1.18rem !important; margin: 25px auto 0; max-width: 720px; padding-left: 0; }
.service-hero--original .hero__actions { justify-content: center; margin-top: 32px; }
.service-hero--original .service-hero__copy small { color: rgba(255,255,255,.78); }
.service-promise--original .service-promise__copy { margin-inline: auto; max-width: 930px; }
.service-promise--original .service-promise__copy h2 { max-width: 800px; }
.service-promise--original .service-promise__copy p:not(.section__kicker) { max-width: 840px; }
.service-price--original .service-price__grid { align-items: start; }
.service-price--original .service-price__grid > div:first-child { padding-top: 24px; }
.service-price--original .service-price__grid > div:first-child p:not(.section__kicker) { max-width: 460px; }
.service-contact { background: #fff; }
.service-contact__grid { align-items: start; display: grid; gap: 70px; grid-template-columns: minmax(0, .75fr) minmax(320px, 1.25fr); }
.service-contact h2 { font-size: clamp(2.4rem, 5vw, 5rem); letter-spacing: -.07em; line-height: .95; margin: 0 0 20px; }
.service-contact p:not(.section__kicker) { color: var(--ink-soft); max-width: 500px; }
.service-contact__form { display: grid; gap: 16px; }
.service-contact__form label { color: var(--ink); display: grid; font-size: .82rem; font-weight: 800; gap: 7px; }
.service-contact__form input, .service-contact__form textarea { background: #fff; border: 1px solid var(--line); border-radius: 8px; color: var(--ink); padding: 13px 14px; width: 100%; }
.service-contact__form textarea { min-height: 120px; resize: vertical; }
.service-contact__form .button { border: 0; justify-self: start; }

@media (max-width: 760px) {
  .about-original-container { width: min(calc(100% - 28px), 1400px); }
  .about-original-hero { padding-top: 14px; }
  .about-original-story { padding-bottom: 42px; }
  .about-original-story__layout { grid-template-columns: 1fr; }
  .about-original-story__aside { position: static; }
  .about-original-story__aside img { margin-inline: auto; max-width: 460px; }
  .about-original-story .entry-content p { font-size: .99rem; margin-bottom: 20px; }
  .about-original-formation { padding: 42px 0 46px; }
  .about-original-formation li { font-size: .96rem; }
  .service-hero--original .service-hero__grid { min-height: 0; padding-bottom: 66px; padding-top: 66px; }
  .service-hero--original h1 { font-size: clamp(2.6rem, 12vw, 4.4rem); }
  .service-contact__grid { gap: 38px; grid-template-columns: 1fr; }
}

@media (max-width: 980px) {
  .hero--original,
  .hero--original .hero__inner { min-height: 650px; }
  .testimonial-grid--old,
  .method-grid--original,
  .platform-grid--original { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .hero--original,
  .hero--original .hero__inner { min-height: 650px; }
  .hero--original .hero__inner { padding-bottom: 58px; padding-top: 58px; }
  .hero--original h1 { font-size: clamp(2.35rem, 12vw, 4rem); }
  .hero--original .hero__lead { font-size: 1.65rem; }
  .testimonial-grid--old,
  .method-grid--original,
  .platform-grid--original { grid-template-columns: 1fr; }
  .testimonial--last { grid-column: auto; }
  .compatibility-grid { grid-template-columns: repeat(2, 1fr); grid-template-rows: repeat(3, 125px); }
  .compatibility-item { padding: 8px 12px; }
  .compatibility-item img { height: 105px; }
  .compatibility-item--garmin { grid-column: 1; grid-row: 1; }
  .compatibility-item--polar { grid-column: 2; grid-row: 1; }
  .compatibility-item--suunto { grid-column: 1; grid-row: 2; }
  .compatibility-item--oura { grid-column: 2; grid-row: 2; }
  .compatibility-item--strava { grid-column: 1; grid-row: 3; }
  .compatibility-item--coros { grid-column: 2; grid-row: 3; }
}

/* Calculadoras: nueve herramientas originales, con navegación y resultados claros. */
.calculator-intro--original { background: #fff; }
.calculator-directory { background: #203e4b; color: #fff; padding: 76px 0 84px; }
.calculator-directory__head { align-items: end; gap: 44px; margin-bottom: 34px; }
.calculator-directory__head h2 { color: #fff; font-size: clamp(2rem, 4vw, 3.8rem); letter-spacing: -.065em; line-height: .96; margin: 0; }
.calculator-directory__head p:not(.section__kicker) { color: #c5d7ce; margin: 0; max-width: 470px; }
.calculator-directory__grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.calculator-directory__card { background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.18); border-radius: 14px; color: #fff; display: grid; gap: 8px; min-height: 154px; padding: 20px; text-decoration: none; transition: background .2s ease, transform .2s ease; }
.calculator-directory__card:hover { background: rgba(255,255,255,.16); color: #fff; transform: translateY(-3px); }
.calculator-directory__card span { color: #f1a35b; font-size: .78rem; font-weight: 900; letter-spacing: .14em; }
.calculator-directory__card strong { font-size: 1.02rem; line-height: 1.08; }
.calculator-directory__card small { color: #c5d7ce; font-size: .82rem; }
.calculator-section--original { background: #f3eee4; padding-bottom: 120px; padding-top: 82px; }
.calculator-stack { display: grid; gap: 18px; }
.calculator-stack .calculator-card--wide { grid-column: auto; }
.calculator-card--original { border-radius: 20px; padding: clamp(22px, 4vw, 42px); }
.calculator-card--original h2 { color: var(--forest); font-size: clamp(1.8rem, 4vw, 3.55rem); letter-spacing: -.065em; line-height: .98; margin: 0 0 28px; max-width: 920px; }
.calculator-card--original h3 { color: var(--forest); font-size: 1.08rem; letter-spacing: -.02em; margin: 0 0 18px; }
.calculator-number { color: var(--orange-deep) !important; font-size: .74rem !important; font-weight: 900; letter-spacing: .14em; margin: 0 0 14px !important; text-transform: uppercase; }
.calculator-form-panel { background: #fbfaf7; border: 1px solid var(--line); border-radius: 14px; padding: clamp(18px, 3vw, 28px); }
.calculator-form-panel label { margin-top: 14px; }
.calculator-form-panel label:first-child { margin-top: 0; }
.calculator-form-panel .form-grid label { margin-top: 0; }
.form-grid--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.form-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.calculator-explanation { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 28px; }
.calculator-explanation h3 { margin-top: 26px; }
.calculator-explanation h3:first-child { margin-top: 0; }
.calculator-explanation p, .calculator-explanation li { color: var(--ink-soft); font-size: .95rem; line-height: 1.65; }
.calculator-explanation ul, .calculator-explanation ol { margin: 0 0 18px; padding-left: 22px; }
.calculator-explanation li { margin-bottom: 8px; }
.calculator-result--rich { line-height: 1.55; }
.calculator-result--rich p { margin: 0 0 4px; }
.calculator-result--rich strong { display: block; font-size: 1.12rem; }
.calculator-result--rich small { color: var(--ink-soft); display: block; margin-top: 6px; }
.calculator-output-grid { display: grid; gap: 10px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 24px; }
.calculator-output-grid > div { background: #edf5ee; border-left: 3px solid var(--orange); display: grid; gap: 10px; min-height: 92px; padding: 14px; }
.calculator-output-grid span { color: var(--ink-soft); font-size: .76rem; line-height: 1.25; }
.calculator-output-grid strong { color: var(--forest); font-size: 1.25rem; }
.calculator-table { border-collapse: collapse; margin: 18px 0 24px; width: 100%; }
.calculator-table th, .calculator-table td { border-bottom: 1px solid var(--line); padding: 10px 12px; text-align: left; }
.calculator-table th { color: var(--forest); font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.calculator-table td { color: var(--ink-soft); font-size: .92rem; }

@media (max-width: 980px) {
  .calculator-directory__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .calculator-output-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .form-grid--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .calculator-directory { padding: 58px 0 64px; }
  .calculator-directory__head { align-items: start; grid-template-columns: 1fr; gap: 22px; }
  .calculator-directory__grid { grid-template-columns: 1fr; }
  .calculator-section--original { padding-bottom: 82px; padding-top: 58px; }
  .calculator-output-grid { grid-template-columns: 1fr; }
  .calculator-output-grid > div { min-height: 0; }
}

/* Contacto: contenido de la página original, sin la fotografía genérica anterior. */
.contact-hero--original { background: linear-gradient(135deg, #4b1597 0%, #7627d3 58%, #a94ed2 100%); }
.contact-hero--original__inner { min-height: 480px; padding-bottom: 88px; padding-top: 88px; }
.contact-hero--original h1 { color: #fff; max-width: 800px; }
.contact-hero--original p:not(.eyebrow) { color: rgba(255,255,255,.9); max-width: 760px; }
.contact-original-service { background: #fff; }
.contact-original-service__intro { margin: 0 auto; max-width: 900px; text-align: center; }
.contact-original-service__intro h2 { color: var(--forest); font-size: clamp(2.3rem, 5vw, 5.2rem); letter-spacing: -.075em; line-height: .94; margin: 0 auto 24px; }
.contact-original-service__intro > p:not(.section__kicker) { color: var(--ink-soft); font-size: 1.08rem; line-height: 1.6; margin: 0 auto; max-width: 690px; }
.contact-original-values__heading { margin: 100px auto 36px; max-width: 910px; }
.contact-original-values__heading h2 { color: var(--forest); font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.07em; line-height: .96; margin: 0 0 20px; }
.contact-original-values__heading p:not(.section__kicker) { color: var(--ink-soft); max-width: 700px; }
.contact-value-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.contact-value-grid article { border-top: 2px solid var(--orange); padding: 22px 8px 8px 0; }
.contact-value-grid span { color: var(--orange-deep); font-size: .76rem; font-weight: 900; letter-spacing: .14em; }
.contact-value-grid h3 { color: var(--forest); font-size: 1.35rem; letter-spacing: -.045em; line-height: 1; margin: 18px 0 12px; }
.contact-value-grid p { color: var(--ink-soft); font-size: .92rem; line-height: 1.62; margin: 0; }
.contact-original-commitment { background: #f7f3ea; }
.contact-original-commitment__inner { max-width: 940px; }
.contact-original-commitment h2 { color: var(--forest); font-size: clamp(2.4rem, 5vw, 5.2rem); letter-spacing: -.075em; line-height: .93; margin: 0 0 22px; max-width: 820px; }
.contact-original-commitment p:not(.section__kicker) { color: var(--ink-soft); font-size: 1.08rem; line-height: 1.65; max-width: 820px; }
.contact-original-commitment .button { margin-top: 18px; }
.contact-original-form { background: #fff; }
.contact-original-form__grid { align-items: start; display: grid; gap: 70px; grid-template-columns: minmax(0, .85fr) minmax(360px, 1.15fr); }
.contact-original-form h2 { color: var(--forest); font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.075em; line-height: .93; margin: 0 0 22px; }
.contact-original-form > .container > div:first-child > p:not(.section__kicker) { color: var(--ink-soft); font-size: 1.04rem; line-height: 1.65; }
.contact-form-card--original { background: #f7f3ea; }
.contact-form-card--original form { display: grid; gap: 18px; }
.contact-form-card__two { display: grid; gap: 18px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-form-card--original label { color: var(--ink); display: grid; font-size: .82rem; font-weight: 900; gap: 7px; margin: 0; }
.contact-form-card--original input, .contact-form-card--original textarea { background: #fff; border: 1px solid #cbd8ce; border-radius: 8px; box-sizing: border-box; color: var(--ink); font: inherit; padding: 12px 13px; width: 100%; }
.contact-form-card--original textarea { min-height: 130px; resize: vertical; }
.contact-form-card--original button { border: 0; justify-self: start; margin-top: 2px; }
.contact-form-card--original small { color: var(--ink-soft); display: block; font-size: .76rem; line-height: 1.45; margin-top: 16px; }
.form-feedback { border: 1px solid transparent; border-radius: 12px; font-weight: 700; margin: 0 0 18px; padding: 14px 16px; }
.form-feedback--success { background: #e4f5e9; border-color: #a7ddaf; color: #175c2f; }
.form-feedback--error { background: #fff0ef; border-color: #edb4b0; color: #8b2621; }
.form-honeypot { height: 1px; left: -10000px; margin: 0; overflow: hidden; position: absolute; top: auto; width: 1px; }

@media (max-width: 980px) {
  .contact-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-original-form__grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .contact-hero--original__inner { min-height: 0; padding-bottom: 66px; padding-top: 66px; }
  .contact-value-grid, .contact-form-card__two { grid-template-columns: 1fr; }
  .contact-original-values__heading { margin-top: 68px; }
}

/* Blog: mostrar cada recurso completo, sin cortes forzados ni una segunda imagen ajena en la barra lateral. */
.post-card__media img { background: #eef3ef; object-fit: contain; }
.article-hero__image img { background: #f7f3ea; object-fit: contain; }
.article-gallery__grid img { aspect-ratio: 4 / 3; background: #fff; object-fit: contain; }

/* Plantilla editorial de las guías: respuesta directa, evidencia, FAQ y autoría visible. */
.article-breadcrumb { align-items: center; color: #c5d7ce; display: flex; flex-wrap: wrap; font-size: .78rem; font-weight: 800; gap: 8px; letter-spacing: .04em; margin: 0 0 18px; text-transform: uppercase; }
.article-breadcrumb a { color: #fff; text-decoration: none; }
.article-breadcrumb a:hover { color: #ffd0bc; }
.article-hero__meta { display: flex; flex-wrap: wrap; gap: 7px; line-height: 1.5; }
.article-answer { background: linear-gradient(135deg, #edf5ee, #fffdf8); border: 1px solid #d2e3d5; border-radius: 18px; margin: 0 0 22px; padding: clamp(22px, 4vw, 34px); }
.article-content .article-answer h2, .article-content .article-keypoints h2, .article-content .article-evidence h2, .article-content .article-faq h2, .article-content .article-author h2, .article-content .article-related h2 { color: var(--forest); font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.055em; line-height: 1; margin: 0 0 12px; }
.article-answer p:last-child { color: var(--forest); font-size: 1.15rem; font-weight: 750; line-height: 1.48; margin: 0; }
.article-keypoints { border-bottom: 1px solid var(--line); margin: 0 0 22px; padding: 10px 0 22px; }
.article-keypoints ul { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.article-keypoints li { align-items: start; color: var(--ink-soft); display: grid; gap: 10px; grid-template-columns: 17px 1fr; }
.article-keypoints li::before { background: var(--orange); border-radius: 50%; content: ""; height: 8px; margin-top: .55em; width: 8px; }
.article-roadmap { align-items: center; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 0 0 34px; padding: 14px 0; }
.article-roadmap span { color: var(--ink-soft); font-size: .78rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.article-roadmap a { color: var(--forest); font-size: .9rem; font-weight: 800; text-decoration: none; }
.article-roadmap a:hover { color: var(--orange-deep); }
.article-evidence { background: #f7f3ea; border-radius: 18px; margin-top: 48px; padding: clamp(22px, 4vw, 34px); }
.article-evidence > div > p:not(.section__kicker) { color: var(--ink-soft); margin-bottom: 20px; }
.article-evidence ol { display: grid; gap: 9px; margin: 0; padding-left: 22px; }
.article-evidence li { color: var(--ink-soft); padding-left: 5px; }
.article-evidence a { color: var(--forest); font-weight: 750; text-decoration-thickness: 1px; }
.article-evidence a:hover { color: var(--orange-deep); }
.article-faq { margin-top: 48px; }
.article-faq details { border-bottom: 1px solid var(--line); padding: 17px 0; }
.article-faq summary { color: var(--forest); cursor: pointer; font-weight: 850; list-style: none; padding-right: 30px; position: relative; }
.article-faq summary::-webkit-details-marker { display: none; }
.article-faq summary::after { color: var(--orange-deep); content: "+"; font-size: 1.4rem; font-weight: 500; position: absolute; right: 4px; top: -7px; }
.article-faq details[open] summary::after { content: "−"; }
.article-faq details p { color: var(--ink-soft); margin: 14px 0 0; }
.article-author { align-items: center; background: var(--forest); border-radius: 18px; color: #fff; display: grid; gap: 20px; grid-template-columns: 58px 1fr; margin-top: 48px; padding: clamp(22px, 4vw, 34px); }
.article-author__mark { align-items: center; background: var(--orange); border-radius: 50%; display: flex; font-size: .9rem; font-weight: 900; height: 58px; justify-content: center; letter-spacing: .08em; width: 58px; }
.article-author .section__kicker { color: #ffc2a9; }
.article-content .article-author h2 { color: #fff; }
.article-author p:not(.section__kicker) { color: #d8e5dc; margin-bottom: 12px; }
.article-author a { color: #fff; font-weight: 850; }
.article-author a:hover { color: #ffd0bc; }
.article-related { border-top: 1px solid var(--line); margin-top: 48px; padding-top: 36px; }
.article-related > div { display: grid; gap: 12px; }
.article-related a { align-items: center; background: #edf5ee; border-radius: 12px; color: var(--forest); display: flex; font-weight: 850; justify-content: space-between; padding: 16px 18px; text-decoration: none; }
.article-related a:hover { background: #dcecdf; color: var(--forest); }

@media (max-width: 640px) {
  .article-breadcrumb { font-size: .7rem; }
  .article-roadmap { align-items: start; flex-direction: column; gap: 8px; }
  .article-author { grid-template-columns: 1fr; }
}

/* Portada: una entrada más contemporánea, manteniendo el relato y las fotos de la comunidad. */
.home-hero { background: #0d3b32; color: #fff; isolation: isolate; min-height: 720px; overflow: hidden; position: relative; }
.home-hero::before, .home-hero::after { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; pointer-events: none; position: absolute; z-index: -1; }
.home-hero::before { height: 780px; right: -310px; top: -230px; width: 780px; }
.home-hero::after { bottom: -510px; height: 920px; left: -440px; width: 920px; }
.home-hero__texture { background: radial-gradient(circle at 20% 20%, rgba(230,106,61,.27), transparent 28%), radial-gradient(circle at 90% 10%, rgba(121,179,145,.18), transparent 27%); inset: 0; pointer-events: none; position: absolute; z-index: -2; }
.home-hero__grid { align-items: center; display: grid; gap: clamp(38px, 6vw, 100px); grid-template-columns: minmax(0, 1.08fr) minmax(340px, .75fr); min-height: 720px; padding-bottom: 78px; padding-top: 78px; position: relative; }
.home-hero__copy { max-width: 700px; position: relative; z-index: 2; }
.home-hero .eyebrow { color: #ffc8b1; margin-bottom: 22px; }
.home-hero h1 { font-size: clamp(3.4rem, 6.2vw, 6.7rem); letter-spacing: -.08em; line-height: .9; margin: 0; max-width: 760px; }
.home-hero__lead { color: #fff !important; font-size: clamp(1.35rem, 2.2vw, 2rem); font-weight: 780; line-height: 1.12; margin: 30px 0 20px !important; }
.home-hero__message { border-left: 2px solid var(--orange); display: grid; gap: 5px; margin-top: 22px; max-width: 610px; padding-left: 20px; }
.home-hero__message p { color: #d6e5dc; font-size: clamp(.98rem, 1.35vw, 1.1rem); line-height: 1.5; margin: 0; }
.home-hero__note { color: #f9d8cb; font-size: .86rem; font-weight: 900; letter-spacing: .12em; margin: 25px 0 0; text-transform: uppercase; }
.home-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 13px; margin-top: 30px; }
.home-hero .button { box-shadow: 0 14px 30px rgba(0,0,0,.17); }
.home-hero .button--outline { background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.7); color: #fff; }
.home-hero .button--outline:hover { background: #fff; color: var(--forest); }
.home-hero__showcase { min-height: 530px; position: relative; width: min(100%, 440px); }
.home-hero__rotator { background: #1e5849; border: 9px solid #f7f3ea; box-shadow: 0 32px 70px rgba(0,0,0,.31); height: 500px; overflow: hidden; position: absolute; right: 0; top: 0; transform: rotate(2.5deg); width: min(100%, 385px); }
.home-hero__rotator::after { background: linear-gradient(180deg, rgba(5,30,25,0) 45%, rgba(5,30,25,.8)); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 2; }
.home-hero__slide { inset: 0; margin: 0; opacity: 0; position: absolute; transform: scale(1.07); }
.home-hero__slide img { height: 100%; object-fit: cover; width: 100%; }
.home-hero__slide figcaption { bottom: 28px; color: #fff; display: grid; gap: 4px; left: 25px; position: absolute; z-index: 3; }
.home-hero__slide figcaption span { color: #f9c1aa; font-size: .68rem; font-weight: 900; letter-spacing: .14em; }
.home-hero__slide figcaption strong { font-size: 1.7rem; letter-spacing: -.04em; }
.home-hero__slide--1 { animation: home-hero-slide 25s ease-in-out infinite; opacity: 1; }
.home-hero__slide--2 { animation: home-hero-slide 25s ease-in-out 5s infinite; }
.home-hero__slide--3 { animation: home-hero-slide 25s ease-in-out 10s infinite; }
.home-hero__slide--4 { animation: home-hero-slide 25s ease-in-out 15s infinite; }
.home-hero__slide--5 { animation: home-hero-slide 25s ease-in-out 20s infinite; }
.home-hero__quote { background: #f7f3ea; bottom: 35px; box-shadow: 0 20px 38px rgba(0,0,0,.2); color: var(--forest); font-size: 1.02rem; left: -54px; line-height: 1.2; padding: 18px 22px; position: absolute; transform: rotate(-5deg); z-index: 4; }
.home-hero__quote strong { font-size: 1.2rem; }
.home-hero__price { align-items: baseline; background: var(--orange); border-radius: 50%; box-shadow: 0 18px 34px rgba(0,0,0,.24); display: flex; height: 100px; justify-content: center; position: absolute; right: -22px; top: 42px; transform: rotate(8deg); width: 100px; z-index: 4; }
.home-hero__price strong { font-size: 2rem; letter-spacing: -.08em; }
.home-hero__price span { font-size: .7rem; font-weight: 900; }
.home-hero__progress { background: rgba(255,255,255,.24); bottom: 4px; height: 3px; left: 18px; overflow: hidden; position: absolute; width: min(100% - 42px, 360px); }
.home-hero__progress span { animation: home-hero-progress 25s linear infinite; background: #f6c3ad; display: block; height: 100%; transform-origin: left; width: 100%; }
@keyframes home-hero-slide { 0%, 16% { opacity: 1; transform: scale(1.02); } 20%, 100% { opacity: 0; transform: scale(1.09); } }
@keyframes home-hero-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.home-story { background: #f7f3ea; padding-bottom: clamp(65px, 9vw, 130px); padding-top: clamp(65px, 9vw, 130px); }
.home-story .story-grid { align-items: start; gap: clamp(42px, 8vw, 120px); grid-template-columns: minmax(0, .76fr) minmax(0, 1.24fr); }
.home-story .section__kicker { color: var(--orange-deep); }
.home-story .story-quote { color: var(--forest); font-size: clamp(2.25rem, 4.2vw, 4.8rem); font-weight: 900; letter-spacing: -.075em; line-height: .94; margin: 18px 0 0; position: sticky; top: 130px; }
.home-story .story-copy { border-top: 2px solid var(--forest); padding-top: 23px; }
.home-story .story-copy p { color: var(--ink-soft); font-size: 1.04rem; line-height: 1.7; margin: 0 0 20px; }
.home-story .story-copy p:last-child { color: var(--forest); font-size: 1.17rem; font-weight: 750; }
.home-philosophy { background: var(--forest); overflow: hidden; position: relative; }
.home-philosophy::before { color: rgba(255,255,255,.05); content: "COMOCABRASTEAM"; font-size: clamp(3.4rem, 10vw, 10rem); font-weight: 950; left: 50%; letter-spacing: -.08em; position: absolute; top: 50%; transform: translate(-50%, -50%); white-space: nowrap; }
.home-philosophy p { font-size: clamp(1.2rem, 2.5vw, 2rem); font-weight: 750; padding: 46px 0; position: relative; }
.home-testimonials { background: #fff; }
.home-testimonials .section__head { justify-content: flex-start; text-align: left; }
.home-testimonials .section__head .section__kicker { display: block; }
.home-testimonials h2 { color: var(--forest); font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.075em; line-height: .92; max-width: 700px; }
.testimonial-grid--old { gap: 22px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.testimonial--old { background: #f7f3ea; border: 1px solid #e5dfd3; border-radius: 18px; overflow: hidden; padding: 0 0 25px; transition: box-shadow .28s ease, transform .28s ease; }
.testimonial--old:hover { box-shadow: 0 22px 42px rgba(20,59,49,.13); transform: translateY(-7px); }
.testimonial__media { margin: 0 0 18px; overflow: hidden; }
.testimonial__media img { aspect-ratio: 4 / 3; border-radius: 0; object-fit: cover; transition: transform .5s ease; }
.testimonial--old:hover .testimonial__media img { transform: scale(1.045); }
.testimonial__body { padding: 0 22px; text-align: left; }
.testimonial--old strong { color: var(--forest); letter-spacing: .08em; }
.testimonial--old p { color: var(--ink-soft); font-size: .94rem; line-height: 1.58; text-align: left; }
.testimonial--last { grid-column: auto; }
.home-method { background: #edf5ee; }
.home-method .section__head h2 { color: var(--forest); font-size: clamp(2.5rem, 5vw, 5rem); letter-spacing: -.075em; line-height: .92; }
.method-grid--original { gap: 16px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.method-card--original { background: #fff; border: 1px solid #dce7de; border-radius: 16px; height: 100%; padding: 25px 20px; transition: transform .25s ease, box-shadow .25s ease; }
.method-card--original:hover { box-shadow: 0 16px 34px rgba(20,59,49,.1); transform: translateY(-5px); }
.method-card--original > img { height: 128px; margin-bottom: 20px; }
.method-card--original .method-card__num { color: var(--orange-deep); font-size: 1.08rem; font-weight: 900; text-align: left; }
.method-card--original p { color: var(--ink-soft); font-size: .95rem; }
.home-platform { background: #fff; }
.home-platform__title { color: var(--orange-deep); font-size: clamp(1.3rem, 2.5vw, 2rem); font-weight: 900; letter-spacing: -.03em; }
.home-platform h2 { color: var(--forest); font-size: clamp(2rem, 4vw, 4rem); letter-spacing: -.07em; line-height: .94; max-width: 850px; }
.platform-grid--original { gap: 16px; }
.platform-grid--original article { background: #f7f3ea; border-radius: 16px; padding: 15px 15px 20px; }
.platform-grid--original img { height: 220px; }
.platform-grid--original p { color: var(--forest); font-weight: 750; }
.home-compatibility { background: #f7f3ea; padding-top: clamp(65px, 8vw, 110px); }
.compatibility-grid { background: #fff; border-radius: 20px; box-shadow: 0 20px 45px rgba(20,59,49,.07); padding: 12px; }

@media (max-width: 980px) {
  .home-hero__grid, .home-story .story-grid { grid-template-columns: 1fr; }
  .home-hero__grid { padding-bottom: 64px; padding-top: 72px; }
  .home-hero__copy { max-width: 760px; }
  .home-hero__showcase { justify-self: center; width: min(100%, 470px); }
  .home-story .story-quote { position: static; }
  .testimonial-grid--old, .method-grid--original { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .home-hero { min-height: 0; }
  .home-hero__grid { gap: 50px; min-height: 0; padding-bottom: 56px; padding-top: 58px; }
  .home-hero h1 { font-size: clamp(3.05rem, 15vw, 4.6rem); }
  .home-hero__lead { font-size: 1.35rem; }
  .home-hero__message { padding-left: 15px; }
  .home-hero__showcase { min-height: 445px; width: min(100%, 345px); }
  .home-hero__rotator { border-width: 7px; height: 410px; width: min(100%, 300px); }
  .home-hero__quote { bottom: 26px; font-size: .86rem; left: -10px; padding: 13px 15px; }
  .home-hero__quote strong { font-size: 1rem; }
  .home-hero__price { height: 76px; right: -8px; top: 24px; width: 76px; }
  .home-hero__price strong { font-size: 1.55rem; }
  .home-hero__progress { bottom: 0; left: 0; width: 100%; }
  .home-story .story-quote, .home-testimonials h2, .home-method .section__head h2, .home-platform h2 { font-size: clamp(2.35rem, 11vw, 3.8rem); }
  .testimonial-grid--old, .method-grid--original, .platform-grid--original { grid-template-columns: 1fr; }
  .testimonial--old { max-width: 440px; }
  .platform-grid--original article { max-width: 430px; margin-inline: auto; width: 100%; }
  .compatibility-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(3, 112px); }
  .compatibility-item { grid-column: auto; grid-row: auto; padding: 8px 12px; }
  .compatibility-item img { height: 96px; }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero__slide, .home-hero__progress span { animation: none; }
  .home-hero__slide--1 { opacity: 1; transform: scale(1.02); }
  .testimonial--old, .method-card--original, .testimonial__media img { transition: none; }
}

/* Ajuste de la portada: la montaña recupera el protagonismo; las historias rotan en su propio espacio. */
.home-hero__grid { grid-template-columns: minmax(0, .94fr) minmax(430px, 1.06fr); }
.home-hero__copy { z-index: 3; }
.home-hero__landscape { align-self: stretch; margin-right: clamp(-140px, -8vw, -46px); min-height: 570px; overflow: hidden; position: relative; }
.home-hero__landscape::after { background: linear-gradient(90deg, #0d3b32 0%, rgba(13,59,50,.9) 13%, rgba(13,59,50,.42) 35%, rgba(13,59,50,.08) 72%, rgba(13,59,50,.12) 100%); content: ""; inset: 0; pointer-events: none; position: absolute; z-index: 1; }
.home-hero__landscape img { height: 100%; object-fit: cover; object-position: center; position: absolute; width: 100%; }
.home-hero__landscape-label { background: rgba(247,243,234,.94); bottom: 42px; box-shadow: 0 18px 38px rgba(0,0,0,.18); color: var(--forest); font-size: .82rem; font-weight: 800; left: 25%; letter-spacing: .1em; line-height: 1.25; padding: 15px 18px; position: absolute; text-transform: uppercase; transform: rotate(-3deg); z-index: 2; }
.home-hero__landscape-label strong { font-size: 1.05rem; letter-spacing: -.025em; text-transform: none; }
.home-hero__showcase, .home-hero__rotator, .home-hero__quote, .home-hero__price, .home-hero__progress { display: none; }

.home-testimonials .section__head { max-width: 780px; }
.testimonial-gallery { display: block; height: 475px; margin-top: 42px; overflow: hidden; position: relative; }
.testimonial--gallery { align-items: stretch; background: #f7f3ea; border: 1px solid #e5dfd3; border-radius: 20px; display: grid; gap: 0; grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr); inset: 0; margin: 0; opacity: 0; overflow: hidden; padding: 0; position: absolute; transform: translateY(8px); }
.testimonial--gallery .testimonial__media { height: 100%; margin: 0; }
.testimonial--gallery .testimonial__media img { aspect-ratio: auto; height: 100%; object-fit: cover; width: 100%; }
.testimonial--gallery .testimonial__body { align-self: center; max-height: 100%; overflow: auto; padding: clamp(25px, 4vw, 52px); }
.testimonial--gallery .testimonial__eyebrow { color: var(--orange-deep); font-size: .7rem; font-weight: 900; letter-spacing: .14em; margin: 0 0 14px; text-transform: uppercase; }
.testimonial--gallery strong { color: var(--forest); display: block; font-size: clamp(1.55rem, 2.6vw, 2.35rem); letter-spacing: -.06em; line-height: 1; margin-bottom: 9px; }
.testimonial--gallery .testimonial__stars { font-size: .95rem; margin-bottom: 18px; }
.testimonial--gallery p:not(.testimonial__eyebrow) { color: var(--ink-soft); font-size: clamp(.92rem, 1.25vw, 1.02rem); line-height: 1.6; margin: 0 0 13px; }
.testimonial--gallery-1 { animation: home-testimonial-slide 49s ease-in-out infinite; opacity: 1; }
.testimonial--gallery-2 { animation: home-testimonial-slide 49s ease-in-out 7s infinite; }
.testimonial--gallery-3 { animation: home-testimonial-slide 49s ease-in-out 14s infinite; }
.testimonial--gallery-4 { animation: home-testimonial-slide 49s ease-in-out 21s infinite; }
.testimonial--gallery-5 { animation: home-testimonial-slide 49s ease-in-out 28s infinite; }
.testimonial--gallery-6 { animation: home-testimonial-slide 49s ease-in-out 35s infinite; }
.testimonial--gallery-7 { animation: home-testimonial-slide 49s ease-in-out 42s infinite; }
.testimonial-gallery__progress { background: rgba(13,59,50,.16); bottom: 0; height: 4px; left: 0; overflow: hidden; position: absolute; right: 0; z-index: 4; }
.testimonial-gallery__progress span { animation: home-testimonial-progress 49s linear infinite; background: var(--orange); display: block; height: 100%; transform-origin: left; width: 100%; }
@keyframes home-testimonial-slide { 0%, 13.5% { opacity: 1; transform: translateY(0); } 17%, 100% { opacity: 0; transform: translateY(8px); } }
@keyframes home-testimonial-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }

@media (max-width: 980px) {
  .home-hero__grid { grid-template-columns: 1fr; }
  .home-hero__landscape { height: 430px; margin-right: -20px; min-height: 0; }
  .home-hero__landscape::after { background: linear-gradient(90deg, rgba(13,59,50,.62), rgba(13,59,50,.08)); }
  .home-hero__landscape-label { left: 20px; }
}
@media (max-width: 640px) {
  .home-hero__landscape { height: 315px; margin-right: 0; }
  .home-hero__landscape-label { bottom: 20px; font-size: .67rem; left: 16px; padding: 11px 13px; }
  .home-hero__landscape-label strong { font-size: .9rem; }
  .testimonial-gallery { height: 730px; margin-top: 30px; }
  .testimonial--gallery { grid-template-columns: 1fr; grid-template-rows: 270px minmax(0, 1fr); }
  .testimonial--gallery .testimonial__body { padding: 25px 22px 30px; }
}
@media (prefers-reduced-motion: reduce) {
  .testimonial--gallery, .testimonial-gallery__progress span { animation: none; }
  .testimonial--gallery-1 { opacity: 1; transform: translateY(0); }
}

/* Paleta ComoCabrasTeam: blanco dominante y morados del logotipo. */
.home-hero { background: #38165f; }
.home-hero__texture { background: radial-gradient(circle at 20% 20%, rgba(179,129,228,.36), transparent 28%), radial-gradient(circle at 90% 10%, rgba(219,205,243,.2), transparent 27%); }
.home-hero .eyebrow, .home-hero__note { color: #e8daff; }
.home-hero__landscape::after { background: linear-gradient(90deg, #38165f 0%, rgba(56,22,95,.9) 13%, rgba(56,22,95,.42) 35%, rgba(56,22,95,.08) 72%, rgba(56,22,95,.12) 100%); }
.home-hero__landscape-label { color: #4b287b; }

.home-story,
.home-plan-callout,
.blog-list-shell,
.article-gallery,
.service-price,
.contact-form-card,
.contact-next,
.contact-original-commitment,
.contact-form-card--original,
.article-evidence,
.home-compatibility,
.platform-grid--original article,
.testimonial--old,
.testimonial--gallery { background: #faf8ff; }
.home-method,
.calculator-result,
.calculator-output-grid > div,
.article-answer,
.article-related a { background: #f2eefb; }
.method-card--original { border-color: #e1d8f0; }
.testimonial--old,
.testimonial--gallery { border-color: #e5def2; }
.home-story .section__kicker,
.testimonial--gallery .testimonial__eyebrow,
.method-card--original .method-card__num,
.home-platform__title,
.home-platform h2 span { color: var(--orange-deep); }
.home-philosophy { background: var(--forest); }
.compatibility-grid { box-shadow: 0 20px 45px rgba(75,40,123,.09); }
.testimonial-gallery__progress { background: rgba(75,40,123,.18); }
.testimonial-gallery__progress span { background: var(--orange); }
.testimonial--old .testimonial__stars { color: #8b67c5; }
.testimonial--old:hover { box-shadow: 0 22px 42px rgba(75,40,123,.14); }
.method-card--original:hover { box-shadow: 0 16px 34px rgba(75,40,123,.12); }

/* Blog: jerarquía tipográfica y lectura editorial para el contenido importado. */
.article-content { color: var(--ink); font-size: clamp(1.03rem, 1.4vw, 1.1rem); line-height: 1.82; }
.article-content > p:not(.article-lead),
.article-content > ul,
.article-content > ol { max-width: 760px; }
.article-content > p:not(.article-lead) { margin-bottom: 1.35em; }
.article-content__heading { border-top: 1px solid #e3d9f2; color: var(--forest); font-size: clamp(1.8rem, 3.2vw, 2.7rem); font-weight: 900; letter-spacing: -.065em; line-height: 1.02; margin: 2.15em 0 .75em; padding-top: 19px; position: relative; }
.article-content__heading::before { background: var(--orange); content: ""; height: 4px; left: 0; position: absolute; top: -2px; width: 54px; }
.article-section-intro { background: linear-gradient(135deg, #f2eefb, #fff); border: 1px solid #e2d8f1; border-radius: 20px; margin: 0 0 2.2em; padding: clamp(24px, 4vw, 38px); }
.article-section-intro .article-overline { color: var(--orange-deep); font-size: .74rem; font-weight: 900; letter-spacing: .15em; margin: 0 0 12px; text-transform: uppercase; }
.article-content .article-section-intro h2 { color: var(--forest); font-size: clamp(1.8rem, 3.4vw, 2.75rem); letter-spacing: -.065em; line-height: 1; margin: 0; }
.article-numbered-heading { align-items: center; color: var(--forest); display: grid; font-size: clamp(1.35rem, 2.3vw, 1.85rem); gap: 16px; grid-template-columns: 48px 1fr; letter-spacing: -.045em; line-height: 1.08; margin: 1.8em 0 .7em; }
.article-numbered-heading > span { align-items: center; background: var(--orange); border-radius: 13px; color: #fff; display: flex; font-size: .8rem; height: 44px; justify-content: center; letter-spacing: .04em; width: 44px; }
.article-content__heading img.emoji,
.article-numbered-heading img.emoji { height: 1em; margin: 0 .12em 0 0; vertical-align: -.12em; width: 1em; }
.article-content strong,
.article-content b { color: var(--forest); font-weight: 850; }
.article-content a { color: var(--orange-deep); font-weight: 700; text-decoration-thickness: 1px; }
.article-content ul,
.article-content ol { margin-bottom: 1.45em; padding-left: 1.35em; }
.article-content li { margin-bottom: .45em; padding-left: .25em; }
.article-content li::marker { color: var(--orange); font-weight: 900; }
.article-content blockquote { background: #f2eefb; border-left: 4px solid var(--orange); border-radius: 0 14px 14px 0; color: var(--forest); font-size: 1.18em; font-weight: 750; line-height: 1.45; margin: 2em 0; padding: 22px 26px; }
.article-content hr { border: 0; border-top: 1px solid #e3d9f2; margin: 2.5em 0; }
.article-content .wp-block-image { margin: 2em 0; }
.article-content .wp-block-image img { box-shadow: 0 18px 38px rgba(75,40,123,.1); }

@media (max-width: 640px) {
  .article-content { font-size: 1rem; line-height: 1.75; }
  .article-content__heading { font-size: 1.9rem; margin-top: 1.7em; }
  .article-numbered-heading { gap: 12px; grid-template-columns: 40px 1fr; font-size: 1.28rem; }
  .article-numbered-heading > span { border-radius: 10px; height: 38px; width: 38px; }
  .article-section-intro { border-radius: 16px; }
}

.article-breadcrumb,
.blog-hero p:not(.eyebrow),
.contact-hero p:not(.eyebrow),
.service-hero__copy > p:not(.eyebrow),
.about-hero__grid p:not(.eyebrow),
.contact-hero__grid p:not(.eyebrow),
.difference-grid li,
.price-card > p:not(.section__kicker),
.section--forest .section__intro,
.section--forest .story-copy p,
.calculator-directory__head p:not(.section__kicker),
.calculator-directory__card small { color: #e6dcf6; }
.service-difference .section__kicker,
.price-card .section__kicker,
.section--forest .section__kicker,
.method-card__num,
.article-author .section__kicker { color: #e8d8ff; }
.article-answer { border-color: #ddd2ef; }
.article-related a:hover { background: #e7def7; color: var(--forest); }
.resource-card--accent { background: var(--orange); }
.button--purple { background: var(--orange); border-color: var(--orange); }
.button--purple:hover { background: var(--orange-deep); border-color: var(--orange-deep); }
