
.landing-page { --landing-section-title: max(28px, calc(48 * var(--layout-unit))); --landing-list-gap: max(14px, calc(10 * var(--layout-unit))); --landing-list-intro-gap: max(24px, calc(38 * var(--layout-unit))); --step-title-gap: max(16px, calc(20 * var(--layout-unit))); --step-copy-gap: var(--space-related); }
.landing-page .section-title { font-size: var(--landing-section-title); font-weight: 600; line-height: 1.2; }
.landing-hero { padding-block: 24px 0; text-align: center; }
.landing-hero > p { font-size: 1.5rem; font-weight: 400; line-height: 1.2; }
.landing-hero h1 { margin-top: 20px; font-size: min(calc(var(--secondary-tnv-size) * .5), 8.2vw); white-space: nowrap; font-weight: 700; line-height: .85; }
.landing-intro { margin-top: var(--section-spacing); text-align: left; }
.landing-intro > p { margin-top: var(--space-related); font-size: 1.125rem; line-height: 1.55; }
.landing-hero-action { margin-top: var(--space-action); font-size: max(calc(28 * var(--layout-unit)), 1.125rem); }
.landing-page .editorial-lists { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(48px, 8vw, 160px); row-gap: var(--landing-list-intro-gap); width: calc(100% - 2 * var(--page-gutter)); max-width: 1100px; margin: var(--section-spacing) auto 0; }
.editorial-list { min-width: 0; text-align: left; }
.editorial-list--right { text-align: right; }
.editorial-list h2 { font-size: max(calc(36 * var(--layout-unit)), 1.5rem); font-weight: 600; line-height: 1.2; }
.editorial-list .service-tagline { margin-top: var(--space-related); font-size: max(calc(20 * var(--layout-unit)), 1rem); font-style: italic; line-height: 1.5; }
.editorial-list dl { margin-top: var(--space-related); }
.editorial-list dl > div + div { margin-top: var(--landing-list-gap); }
.editorial-list dt { font-size: 1.125rem; font-weight: 400; line-height: 1.3; }
.editorial-list dd { margin-top: var(--space-related); font-size: max(calc(16 * var(--layout-unit)), 1rem); font-weight: 200; line-height: 1.5; }
.editorial-lists-conclusion { grid-column: 1 / -1; justify-self: center; max-width: 68ch; margin: 0; text-align: center; font-size: 1.125rem; font-weight: 400; line-height: 1.55; }
.landing-process, .landing-projects { margin-top: var(--section-spacing); }
.landing-process > p, .landing-projects > p { margin-top: var(--space-related); font-size: max(calc(20 * var(--layout-unit)), 1rem); line-height: 1.5; }
.process-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: calc(80 * var(--layout-unit)); list-style: none; padding: 0; margin-top: calc(90 * var(--layout-unit)); counter-reset: process-step; }
.process-steps > li { display: grid; grid-template-rows: subgrid; row-gap: 0; grid-row: span 3; min-width: 0; counter-increment: process-step; }
.process-steps > li::before { content: counter(process-step); font-size: max(calc(120 * var(--layout-unit)), 4rem); font-weight: 100; line-height: 1.1; }
.process-steps h3 { margin-top: var(--step-title-gap); font-size: clamp(1.125rem, 1.77vw, 2.125rem); font-weight: 400; line-height: 1.2; overflow-wrap: anywhere; }
.process-steps p { font-weight: 200; margin-top: var(--step-copy-gap); font-size: 1.125rem; line-height: 1.55; }
.landing-page .landing-faq { margin-top: var(--section-spacing); padding-block: 0; border-block: var(--separator-width) solid #888; }
.landing-faq .section-title { padding-block: 24px; }
.landing-page .landing-faq summary { min-height: 44px; }
.landing-page .landing-faq summary:focus-visible { outline: var(--focus-ring-width) solid var(--color-foreground); outline-offset: 4px; }
.landing-faq .toggle-icon::before { height: 1px; top: calc(50% - .5px); }
.landing-faq .toggle-icon::after { width: 1px; left: calc(50% - .5px); }
.landing-page .approved-contact .meeting { height: auto; }
.landing-page #contacto { scroll-margin-top: calc(var(--home-header-height) + 24px); }
@media (max-width: 1200px) {
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
}
@media (max-width: 760px) {
  .landing-page { --landing-section-title: 28px; --landing-list-gap: 16px; --landing-list-intro-gap: 24px; --step-title-gap: 16px; }
  .landing-hero { padding-top: 32px; }
  .landing-hero > p { font-size: 1.125rem; line-height: 1.4; }
  .landing-hero h1 { font-size: clamp(2rem, 7.5vw, 3.375rem); line-height: 1.05; white-space: normal; }
  .landing-intro { margin-top: var(--section-spacing); }
  .landing-page .editorial-lists { grid-template-columns: minmax(0, 1fr); row-gap: var(--landing-list-intro-gap); }
  .editorial-list--right { text-align: left; }
  .editorial-list + .editorial-list { margin-top: calc(40px - var(--landing-list-intro-gap)); }
  .editorial-list dd { font-size: 1rem; line-height: 1.5; }
  .process-steps { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 35px; }
  .process-steps > li { display: block; }
  .process-steps > li::before { display: block; }
  .process-steps h3 { font-size: 1.3125rem; }
}


.landing-copy-section, .requirements-section { margin-top: var(--section-spacing); }
.landing-copy-section > p, .requirements-section > p, .requirement-support > p { margin-top: var(--space-related); font-size: 1.125rem; line-height: 1.55; }
.requirements-grid { --requirement-number-size: max(calc(120 * var(--layout-unit)), 64px); --requirement-title-size: clamp(21px, 1.77vw, 34px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px calc(80 * var(--layout-unit)); list-style: none; padding: 0; margin-top: calc(45 * var(--layout-unit)); counter-reset: requirement; }
.requirements-grid > li { display: grid; grid-template-columns: max(calc(105 * var(--layout-unit)), 64px) minmax(0, 1fr); gap: calc(40 * var(--layout-unit)); align-items: start; counter-increment: requirement; }
.requirements-grid > li::before { content: counter(requirement); font-size: var(--requirement-number-size); font-weight: 100; line-height: 1; margin-top: calc((var(--requirement-title-size) - var(--requirement-number-size)) * .14); }
.requirements-grid h3, .requirement-support h3 { font-size: clamp(1.3125rem, 1.77vw, 2.125rem); font-weight: 400; line-height: 1.2; }
.requirements-grid p { margin-top: var(--space-related); font-size: max(calc(20 * var(--layout-unit)), 1rem); line-height: 1.5; font-style: italic; font-weight: 200; }
.requirement-support { margin-top: 40px; max-width: 68ch; }
@media (max-width: 760px) {
  .requirements-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; margin-top: 32px; }
  .requirements-grid > li { grid-template-columns: 50px minmax(0, 1fr); gap: 20px; }
}


.legal-page .landing-copy-section { text-align: right; }
.legal-page .landing-copy-section > p { margin-left: auto; }


@supports (text-box-trim: trim-start) {
  .requirements-grid > li::before { margin-top: 0; text-box-trim: trim-start; text-box-edge: cap alphabetic; }
  .requirements-grid h3 { text-box-trim: trim-start; text-box-edge: cap alphabetic; }
}


.media-list { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: start; }
.media-list > .editorial-list { grid-column: 2; grid-row: 1; }
.media-list-image { grid-column: 1; grid-row: 1; display: block; width: 100%; height: auto; object-fit: contain; }
.media-sequence { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(24 * var(--layout-unit)); }
.media-sequence img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: contain; }
@media (max-width: 760px) {
  .media-list { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .media-list-image { grid-column: 1; grid-row: 1; }
  .media-list > .editorial-list { grid-column: 1; grid-row: 2; }
  .media-sequence { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
