/* Contrato compartido de composición. Los fondos ocupan todo el ancho;
   la retícula de contenido mantiene el mismo borde en todas las secciones. */
:root {
  --layout-max: 1240px;
  --layout-gutter: clamp(22px, 4vw, 64px);
  --layout-inset: max(var(--layout-gutter), calc((100% - var(--layout-max)) / 2));
  --layout-space: clamp(64px, 7vw, 104px);
  --layout-copy: 72ch;
  --layout-title: clamp(40px, 4.3vw, 76px);
}
body[data-layout="20261008"] main { padding-top: 0; }
[data-layout="20261008"] :is(.approved-home,.approved-home-body,.commercial-page .approved-copy-body,.resources-page) {
  max-width: none !important; width: 100%; margin: 0 !important; padding: 0 !important;
}
body[data-layout="20261008"].editorial-page .approved-copy,
body[data-layout="20261008"].utility-page .approved-copy { max-width: none; width: 100%; padding: 0; margin: 0; }
body[data-layout="20261008"] .review-section {
  box-sizing: border-box; width: 100% !important; max-width: none !important;
  margin-inline: 0 !important; left: auto !important;
  padding-inline: var(--layout-inset) !important;
  padding-block: var(--layout-space) !important;
}
/* The CTA no longer needs horizontal centering; keep its vertical entrance. */
body[data-layout="20261008"] .review-section.landing-contact-cta:not(.home-content-section) { transform: none !important; }
body[data-layout="20261008"] .home-content-section.review-section.landing-contact-cta { transform: translateY(30px) !important; }
body[data-layout="20261008"] .home-content-section.review-section.landing-contact-cta.visible { transform: none !important; }
@media(prefers-reduced-motion:reduce) {
  body[data-layout="20261008"] .home-content-section.review-section.landing-contact-cta { transform: none !important; }
}
[data-layout="20261008"] .review-section > *, [data-layout="20261008"] .review-hero > * { min-width: 0; }
[data-layout="20261008"] .review-section :is(p,.section-intro,.local-section__intro,.local-proof__intro,.team-story-copy) {
  max-width: var(--layout-copy);
}
[data-layout="20261008"] .review-section p { overflow-wrap: break-word; max-width: min(100%,var(--layout-copy)) !important; }
[data-layout="20261008"] .review-section > h2 { max-width: 1000px; }
[data-layout="20261008"] .review-section :is(.content-cards--proof,.local-proof__grid) { margin-top: 40px; }
[data-layout="20261008"] .review-section :is(.content-cards--proof .content-card,.local-proof__card) {
  display: flex; flex-direction: column;
}
[data-layout="20261008"] .review-section .case-proof-visual { margin-top: auto; padding-top: 24px; }
body[data-layout="20261008"] .spotlight.review-section { height: auto !important; min-height: 0 !important; padding-block: clamp(60px,7vw,104px) !important; }
[data-layout="20261008"] .spotlight-inner { position: static !important; width: 100%; max-width: none !important; }
body[data-layout="20261008"] .spotlight h2 { font-size: clamp(30px,3.6vw,56px) !important; line-height: 1.15; max-width: 1100px; }
body[data-layout="20261008"] #problem-title { scroll-margin-top: 180px; }
body[data-layout="20261008"] .resources-principle { padding-inline: var(--layout-inset); }
/* Un único contrato para la entrada de servicios, equipo y contacto. */
body[data-layout="20261008"] .review-hero {
  box-sizing: border-box; position: relative; isolation: isolate; width: 100% !important; max-width: none !important;
  margin: 0 !important; border-radius: 0 !important; box-shadow: none !important;
  padding: max(148px,20svh) var(--layout-inset) 72px !important;
  min-height: 100svh; color: #fff; background: radial-gradient(ellipse at 85% 15%,#37213f 0%,#100e15 65%);
  display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); column-gap: clamp(32px,6vw,80px); align-content: center;
}
body[data-layout="20261008"] .review-hero :is(.copy-hero__label,.resources-label,.eyebrow) {
  color: #d5aeff; font: 600 10px/1.5 ui-monospace,monospace !important; letter-spacing: .15em; text-transform: uppercase;
}
body[data-layout="20261008"] .review-hero > .copy-hero__label { grid-column: 1; margin: 0 0 22px; }
body[data-layout="20261008"] .review-hero :is(h1:not(.copy-hero__label),.copy-hero__promise) {
  font-size: var(--layout-title) !important; font-weight: 530; line-height: 1.06; letter-spacing: -.055em;
  max-width: none; margin: 0; text-wrap: balance; color: #fff;
}
body[data-layout="20261008"] .review-hero :is(h1,h2) em { font-family: Georgia,serif; color: #d5aeff; font-weight: 400; }
body[data-layout="20261008"] .review-hero strong { color: inherit; }
body[data-layout="20261008"] .review-hero > :is(h1:not(.copy-hero__label),.copy-hero__promise) { grid-column: 1; grid-row: 2 / 4; align-self: start; }
body[data-layout="20261008"] .review-hero .article-breadcrumbs { margin-bottom: 24px; }
body[data-layout="20261008"] .review-hero :is(.article-breadcrumbs,.article-byline) a { color: #d5aeff; }
body[data-layout="20261008"] .review-hero .copy-hero-content { grid-column: 2; grid-row: 2; max-width: none; margin: 0; padding: 0; align-self: end; }
body[data-layout="20261008"] .review-hero :is(.copy-hero-content,.resources-hero__intro,.hero-copy) p {
  font-size: clamp(16px,1.05vw,20px); line-height: 1.65; max-width: var(--layout-copy); color: #f4f0f8;
}
body[data-layout="20261008"] .review-hero .hero-cta-group { grid-column: 2; grid-row: 3; margin: 20px 0 0; padding: 0; align-self: start; }
body[data-layout="20261008"] .review-hero .hero-cta { margin: 0; }
body[data-layout="20261008"] .review-hero .hero-cta a,
body[data-layout="20261008"] .review-hero .resources-link,
body[data-layout="20261008"] .review-hero .actions a {
  display: inline-flex; align-items: center; min-height: 48px; padding: 10px 0; border: 0; border-bottom: 1px solid #eae1f3;
  background: transparent; color: #fff; border-radius: 0; font-size: 14px; font-weight: 600; box-shadow: none;
}
body[data-layout="20261008"] .review-hero .approved-person-cards { grid-column: 1 / -1; grid-row: 4; width: 100%; max-width: 640px; margin: 48px auto 0; }
body[data-layout="20261008"] .review-hero .resources-hero__heading { grid-column: 1; }
body[data-layout="20261008"] .review-hero .resources-hero__intro { grid-column: 2; margin: 0; align-self: end; }
[data-layout="20261008"] .team-hero { padding-inline: var(--layout-inset) !important; }
[data-layout="20261008"] .team-hero__grid { max-width: var(--layout-max); margin-inline: auto; }
[data-layout="20261008"] .team-hero h2.team-hero__title { font-size: var(--layout-title) !important; }
/* Cabeceras editoriales y legales: misma tipografía y bordes, altura por contenido. */
body[data-layout="20261008"] .review-hero--reading { min-height: 0; display: block; padding-block: 144px 64px !important; }
body[data-layout="20261008"] .review-hero--reading h1 { max-width: 1000px !important; }
body[data-layout="20261008"] .review-hero--reading .copy-hero-content { max-width: 72ch; margin-top: 32px; }
body[data-layout="20261008"] .review-hero--reading .copy-hero__label { display: block; margin-bottom: 22px; }
body[data-layout="20261008"] :is(.editorial-hero-media,.editorial-hero-scrim) { z-index: -1; }
body[data-layout="20261008"] .review-prose { width: min(100% - 2 * var(--layout-gutter), 840px); max-width: 840px; margin: 0 auto; padding: 64px 0; }
body[data-layout="20261008"] .review-prose :is(p,ul,ol) { max-width: none; }
body[data-layout="20261008"] .review-prose table { display: block; max-width: 100%; overflow-x: auto; }
body[data-layout="20261008"] .copy-intro-followup { width: min(100% - 2 * var(--layout-gutter),840px); max-width: 840px; padding-inline: 0; margin-inline: auto; }
body[data-layout="20261008"] .editorial-article-layout {
  width: min(100% - 2 * var(--layout-gutter),var(--layout-max)); max-width: var(--layout-max);
  margin-inline: auto; padding: 64px 0; display: grid; grid-template-columns: minmax(0,260px) minmax(0,1fr); gap: 64px;
}
body[data-layout="20261008"] .editorial-article-layout > * { min-width: 0; }
body[data-layout="20261008"] .editorial-article-layout .review-prose { width: 100%; padding: 0; margin: 0; }
body[data-layout="20261008"] .editorial-toc :is(ol,li,a) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
/* Full-width section owns its gutters once; its grid occupies the content rail. */
body[data-layout="20261008"] .contact-form-section {
  box-sizing: border-box; width: 100%; max-width: none; margin: 0;
  padding: var(--layout-space) var(--layout-inset);
  grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr);
  gap: clamp(32px,5vw,80px); align-items: start;
}
body[data-layout="20261008"] .contact-form-section > *,
body[data-layout="20261008"] .contact-form .form-grid > * { min-width: 0; }
body[data-layout="20261008"] .contact-form { width: 100%; box-sizing: border-box; }
body[data-layout="20261008"] .contact-form :is(input:not([type=checkbox]),select,textarea) { min-width: 0; width: 100%; box-sizing: border-box; }
body[data-layout="20261008"] .review-hero:is(.review-hero--service,.review-hero--about) {
  grid-template-areas: none; row-gap: 0;
}
body[data-layout="20261008"] .review-hero--service {
  padding-block: clamp(276px,30svh,420px) clamp(44px,7svh,100px) !important;
  align-content: end; align-items: end;
}
body[data-layout="20261008"] .review-hero:is(.review-hero--service,.review-hero--about)::before,
body[data-layout="20261008"] .review-hero:is(.review-hero--service,.review-hero--about)::after { display: none; }
body[data-layout="20261008"] .review-hero__heading { grid-area: auto; min-width: 0; }
body[data-layout="20261008"] .review-hero__heading > .copy-hero__label { display: block; margin: 0 0 22px; }
body[data-layout="20261008"] .review-hero__heading :is(h1:not(.copy-hero__label),.copy-hero__promise) { line-height: 1.04; }
body[data-layout="20261008"] .review-hero__copy { grid-area: auto; min-width: 0; }
body[data-layout="20261008"] .review-hero__copy .hero-cta-group { margin-top: 25px; }
@media(prefers-reduced-motion:no-preference) {
  body[data-layout="20261008"] .review-hero__heading { animation: team-hero-enter .9s cubic-bezier(.2,.7,.2,1) both; }
  body[data-layout="20261008"] .review-hero__copy { animation: team-hero-enter .9s .12s cubic-bezier(.2,.7,.2,1) both; }
}
body[data-layout="20261008"] .review-hero--about { align-items: center; padding-block: 148px 72px !important; }
body[data-layout="20261008"] .review-hero--about .copy-hero-content { margin-top: 28px; }
body[data-layout="20261008"] .review-hero--about .approved-person-cards {
  grid-area: auto; width: 100%; max-width: none; margin: 0; align-self: center;
}
[data-layout="20261008"] .review-hero--request .hero-copy { max-width: none; }
[data-layout="20261008"] .review-hero--request .hero-proof { align-self: center; }
@media(max-width:900px) {
  body[data-layout="20261008"] .contact-form-section { grid-template-columns: minmax(0,1fr); gap: 40px; }
  body[data-layout="20261008"] .contact-form { padding: clamp(22px,5vw,38px); }
  body[data-layout="20261008"] .review-hero:is(.review-hero--service,.review-hero--about) { grid-template-columns: minmax(0,1fr); gap: 32px; padding-block: 132px 56px !important; }
  body[data-layout="20261008"] .review-hero--about .approved-person-cards { max-width: 640px; justify-self: center; }
  body[data-layout="20261008"] .editorial-article-layout { grid-template-columns: minmax(0,1fr); gap: 40px; }
  body[data-layout="20261008"] .review-hero { grid-template-columns: 1fr; padding-block: 132px 56px !important; }
  body[data-layout="20261008"] .review-hero > :is(h1:not(.copy-hero__label),.copy-hero__promise),
  body[data-layout="20261008"] .review-hero :is(.copy-hero-content,.hero-cta-group,.resources-hero__heading,.resources-hero__intro,.approved-person-cards) { grid-column: 1; grid-row: auto; }
  body[data-layout="20261008"] .review-hero .copy-hero-content, body[data-layout="20261008"] .review-hero .resources-hero__intro { margin-top: 28px; }
  body[data-layout="20261008"] .review-hero .hero-cta-group { order: 4; }
  body[data-layout="20261008"] .review-hero .approved-person-cards { order: 5; }
  body[data-layout="20261008"] .review-hero--request { gap: 32px; }
}
@media(max-width:540px) {
  :root { --layout-title: 40px; --layout-space: 64px; }
  body[data-layout="20261008"] .review-section { min-height: 0 !important; }
  body[data-layout="20261008"] .review-section h2 { font-size: 36px !important; line-height: 1.1; }
  body[data-layout="20261008"] .review-section h3 { font-size: 27px !important; line-height: 1.15; }
  body[data-layout="20261008"] .review-section :is(.content-cards--proof .content-card,.local-proof__card) { padding: 24px 20px; }
  body[data-layout="20261008"] .review-section :is(.local-section-cta,.section-button,.button) { max-width: 100%; white-space: normal; }
  body[data-layout="20261008"] .review-hero .hero-cta-group { gap: 16px; flex-wrap: wrap; }
  body[data-layout="20261008"] .review-hero--reading { padding-block: 124px 48px !important; }
  body[data-layout="20261008"] .review-prose { padding-block: 48px; }
  body[data-layout="20261008"] .whatsapp-float { position: static; display: flex; align-items: center; justify-content: center; gap: 10px; width: calc(100% - 44px); height: 52px; margin: 0 22px 22px; border-radius: 8px; transform: none; }
  body[data-layout="20261008"] .whatsapp-float .whatsapp-label { position: static; width: auto; height: auto; opacity: 1; visibility: visible; transform: none; clip-path: none; margin: 0; padding: 0; background: transparent; color: inherit; box-shadow: none; }
  body[data-layout="20261008"] .whatsapp-label::after { display: none; }
}
