/* Portada: estilos locales, coherentes con Productos y CertificaciÃƒÂ³n. */
.landing-page { --landing-ink:var(--site-text); --landing-blue:var(--site-link); --landing-muted:var(--site-muted); --landing-line:var(--site-line); --landing-wash:var(--site-surface); width:100%; max-width:none; margin:0; padding:0; color:var(--landing-ink); background:#fff; font-family:var(--site-font-body); font-size:var(--site-body-size); line-height:1.8; }
.landing-page *, .landing-page *::before, .landing-page *::after { box-sizing:border-box; }
.landing-page [hidden] { display:none!important; }
.landing-container { width:calc(100% - 96px); max-width:1256px; margin:0 auto; }
.landing-page h1,.landing-page h2,.landing-page h3 { font-family:var(--site-font-heading); color:var(--landing-ink); font-weight:700; margin:0; line-height:1.5; }
.landing-page p { margin:0; color:var(--landing-muted); }
.landing-page a { color:var(--site-link); }
.landing-page a:hover { color:var(--site-text); }
.landing-page button { font:inherit; cursor:pointer; }
.landing-page a:focus-visible,.landing-page button:focus-visible { outline:3px solid var(--site-link); outline-offset:5px; }
.landing-page .landing-eyebrow { border-left:3px solid var(--site-accent); padding-left:15px; margin-bottom:26px; color:var(--site-link); font-size:12px; line-height:1.5; letter-spacing:.09em; text-transform:uppercase; font-weight:700; }
.landing-intro { --landing-red:#d9232a; position:relative; isolation:isolate; padding:112px 0 70px; background:#f4f9fd; overflow:hidden; }
.landing-intro > .landing-container { position:relative; z-index:1; }
.landing-intro-wave { position:absolute; bottom:-1px; left:0; width:100%; height:clamp(120px,17vw,260px); pointer-events:none; }
.landing-notice { position:relative; display:flex; align-items:center; gap:20px; padding:22px 54px 22px 26px; border:1px solid #b6d2ef; border-left:4px solid #065cb9; border-radius:8px; background:#edf5ff; box-shadow:0 6px 16px rgba(25,48,72,.05); }
.landing-notice-badge { background:#065cb9; color:#fff; padding:5px 12px; border-radius:20px; font-size:12px; font-weight:700; text-transform:uppercase; }
.landing-notice-copy { flex:1; }
.landing-notice-copy strong { font-size:18px; }
.landing-notice-copy p { font-size:14px; color:var(--site-muted); margin-top:3px; }
.landing-page .landing-notice-link { border-radius:24px; padding:11px 20px; background:#2e729f; color:#fff; font-size:12px; text-transform:uppercase; white-space:nowrap; }
.landing-notice-link:hover { background:#245b80; text-decoration:none; }
.landing-notice-close { position:absolute; right:10px; top:7px; width:32px; height:32px; background:transparent; color:var(--site-link); border:0; padding:0; font-size:22px!important; }
.landing-hero { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:24px; padding:80px 0 74px; }
.landing-hero-copy { position:relative; z-index:1; }
.landing-hero h1 { font-size:50px; letter-spacing:1px; line-height:1.5; font-weight:700; }
.landing-hero h1 .landing-title-accent { color:var(--landing-red); }
.landing-hero h1 .landing-title-line { display:block; }
.landing-page .landing-lead { font-size:var(--site-body-size); line-height:1.8; max-width:600px; margin-top:28px; }
.landing-actions { display:flex; gap:20px; margin:30px 0 16px; flex-wrap:wrap; }
.landing-button { display:inline-flex; align-items:center; justify-content:center; min-height:58px; padding:15px 30px; border:1px solid var(--site-link); border-radius:4px; font-size:16px; font-weight:700; min-width:190px; background:#fff; text-align:center; line-height:1.4; }
.landing-button:hover { background:var(--site-surface); text-decoration:none; }
.landing-page .landing-button-plans { color:var(--landing-red); border-color:var(--landing-red); background:transparent; }
.landing-page .landing-button-plans:hover { color:#b31b21; border-color:#b31b21; background:#fff1f1; }
.landing-page .landing-button-primary { background:#14832b; border-color:#14832b; color:#fff; min-width:290px; }
.landing-page .landing-button-primary:hover { background:#116e24; border-color:#116e24; color:#fff; }
.landing-page .landing-plan-note { font-size:16px; margin-top:6px; }
.landing-hero-art { min-width:0; }
.landing-hero-art img { display:block; width:112%; max-width:none; height:auto; margin-left:-4%; mix-blend-mode:multiply; }
.landing-resources { background:#fff; }
.landing-resource-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:42px 0; }
.landing-resource { display:flex; align-items:flex-start; gap:26px; padding:0 28px; border-left:1px solid var(--landing-line); font-size:var(--site-body-size); }
.landing-resource:first-child { padding-left:0; border:0; }
.landing-resource:last-child { padding-right:0; }
.landing-resource-icon { display:block; width:56px; height:56px; object-fit:contain; flex-shrink:0; }
.landing-resource strong { display:block; color:var(--landing-ink); font-size:var(--site-body-size); margin-bottom:6px; }
.landing-resource span > span { display:block; color:var(--landing-muted); }
.landing-resource .landing-resource-link { color:var(--site-link); margin-top:13px; }
.landing-resource:hover { text-decoration:none; }
.landing-resource:hover .landing-resource-link { text-decoration:underline; text-underline-offset:4px; }
.landing-resource-link .mdi { margin-left:10px; }
.landing-benefits { background:var(--landing-wash); padding:76px 0; }
.landing-benefit-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:108px; align-items:start; }
.landing-benefit-intro h2 { font-size:var(--site-title-size); letter-spacing:2px; line-height:1.5; font-weight:700; }
.landing-benefit-intro h2 span { color:var(--landing-blue); }
.landing-benefit-intro > p:not(.landing-eyebrow) { margin-top:28px; font-size:var(--site-body-size); }
.landing-multirut { display:flex; align-items:center; gap:24px; padding:22px 26px; background:var(--site-soft-green); border-radius:5px; margin-top:52px; }
.landing-multirut > i { font-size:42px; line-height:1.2; color:var(--site-link); }
.landing-multirut strong { font-size:18px; }
.landing-multirut p { font-size:15px; margin-top:2px; }
.landing-benefit-list article { display:flex; gap:30px; padding:30px 0; border-bottom:1px solid var(--landing-line); }
.landing-benefit-list article:first-child { padding-top:18px; }
.landing-benefit-list article:last-child { border:0; padding-bottom:0; }
.landing-benefit-art { display:block; width:92px; height:80px; object-fit:contain; flex-shrink:0; }
.landing-platforms { display:flex; align-items:center; gap:4px; }
.landing-platforms img { width:44px; height:60px; object-fit:contain; }
.landing-step-icon { display:block; width:72px; height:72px; object-fit:contain; flex-shrink:0; }
.landing-benefit-list h3 { font-size:var(--site-subtitle-size); margin-bottom:8px; line-height:1.5; letter-spacing:normal; font-weight:600; }
.landing-benefit-list p { font-size:var(--site-body-size); }
.landing-benefit-list a { text-decoration:underline; text-decoration-color:var(--site-line); text-underline-offset:4px; }
.landing-page .landing-benefit-detail { margin-top:8px; font-size:16px; }
.landing-process { padding:72px 0 60px; background:#fff; }
.landing-process-heading { display:flex; justify-content:space-between; align-items:center; gap:30px; }
.landing-process h2 { font-size:var(--site-title-size); letter-spacing:2px; line-height:1.5; font-weight:700; }
.landing-process-heading > a { flex-shrink:0; font-size:16px; }
.landing-process-heading .mdi { margin-left:12px; }
.landing-page .landing-process-intro { margin-top:16px; font-size:var(--site-body-size); }
.landing-steps { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none; padding:0; margin:46px 0 36px; gap:30px; }
.landing-step-top { display:flex; align-items:center; gap:24px; margin-bottom:22px; }
.landing-step-top::after { content:""; flex:1; height:1px; background:var(--landing-line); }
.landing-steps li:last-child .landing-step-top::after { display:none; }
.landing-step-number { display:flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid var(--site-line); background:#fff; border-radius:50%; font-size:19px; font-weight:700; flex-shrink:0; }
.landing-step-top > .mdi { font-size:44px; line-height:1; color:var(--site-link); }
.landing-steps h3 { font-size:var(--site-subtitle-size); margin-bottom:12px; line-height:1.5; letter-spacing:normal; font-weight:600; }
.landing-steps p { font-size:var(--site-body-size); max-width:235px; }
.landing-process-note { display:flex; gap:20px; align-items:center; padding:18px 24px; border-radius:5px; background:var(--site-surface); font-size:17px; }
.landing-process-note .mdi { font-size:28px; line-height:1; color:var(--site-link); }
.landing-testimonials { background:var(--site-surface); border-top:1px solid var(--site-line); padding:56px 0 58px; }
.landing-testimonial-grid { display:grid; grid-template-columns:.85fr 1.55fr; gap:68px; align-items:start; }
.landing-testimonial-intro { padding-top:26px; }
.landing-testimonial-intro h2 { font-size:var(--site-title-size); letter-spacing:2px; line-height:1.5; font-weight:700; }
.landing-carousel { min-width:0; }
.landing-testimonial { display:flex; gap:32px; align-items:flex-start; border:1px solid var(--site-line); background:#fff; border-radius:7px; padding:36px; margin-bottom:16px; }
.landing-client-photo { width:156px; height:156px; object-fit:contain; border-radius:50%; flex-shrink:0; }
.landing-testimonial-content { position:relative; min-width:0; padding-left:26px; }
.landing-quote { position:absolute; left:-13px; top:-14px; color:var(--site-line); font-size:44px; line-height:1; }
.landing-testimonial blockquote { margin:0 0 20px; border:0; padding:0; font-size:var(--site-body-size); font-style:italic; line-height:1.8; }
.landing-testimonial blockquote p { color:var(--site-muted); }
.landing-page .landing-client-name { color:var(--landing-ink); font-size:16px; font-weight:700; }
.landing-page .landing-client-role { margin-top:5px; font-size:14px; }
.landing-carousel-controls { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:0 12px; }
.landing-carousel-arrow { border:1px solid var(--site-line); border-radius:50%; width:44px; height:44px; padding:0; background:#fff; color:var(--site-link); font-size:26px!important; flex-shrink:0; }
.landing-carousel-arrow:hover { background:var(--site-surface); }
.landing-carousel-dots { display:flex; flex-wrap:wrap; justify-content:center; }
.landing-carousel-dot { position:relative; border:0; width:30px; height:44px; padding:0; background:transparent; }
.landing-carousel-dot::after { content:""; display:block; width:10px; height:10px; background:var(--site-line); border-radius:50%; margin:auto; }
.landing-carousel-dot[aria-current="true"]::after { background:var(--site-link); }
.landing-contact { display:flex; justify-content:center; align-items:center; gap:22px; padding:22px 0; font-size:15px; }
.landing-contact button { background:transparent; border:0; padding:10px 4px; color:var(--site-link); font-weight:700; }
.landing-contact button:hover { text-decoration:underline; }
.landing-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (max-width:1200px) {
    .landing-container { width:calc(100% - 64px); }
    .landing-hero { gap:12px; padding:64px 0; }
    .landing-actions { gap:12px; }
    .landing-button { padding:13px 20px; min-width:150px; }
    .landing-page .landing-button-primary { min-width:240px; }
    .landing-benefit-grid { gap:54px; }
    .landing-testimonial-grid { gap:36px; grid-template-columns:.8fr 1.5fr; }
    .landing-testimonial { padding:28px; gap:22px; }
    .landing-client-photo { width:120px; height:120px; }
    .landing-testimonial-intro h2 { font-size:var(--site-title-size); line-height:1.5; letter-spacing:2px; font-weight:700; }
    .landing-resource { gap:18px; padding:0 20px; }
}
@media (max-width:900px) {
    .landing-notice { flex-wrap:wrap; gap:12px; padding:20px 44px 20px 20px; }
    .landing-notice-copy { flex-basis:calc(100% - 120px); }
    .landing-hero { grid-template-columns:1fr; padding:52px 0 32px; }
    .landing-hero h1 { font-size:50px; line-height:1.5; letter-spacing:1px; font-weight:700; }
    .landing-hero-art { width:85%; max-width:630px; margin:0 auto; }
    .landing-hero-art img { width:100%; margin:0; }
    .landing-lead { max-width:680px!important; }
    .landing-benefit-grid { gap:36px; }
    .landing-resource-grid { padding:30px 0; }
    .landing-resource { gap:12px; padding:0 16px; }
    .landing-resource-icon { width:44px; height:44px; }
    .landing-resource strong { font-size:16px; }
    .landing-benefits { padding:54px 0; }
    .landing-benefit-list article { gap:18px; }
    .landing-benefit-art { width:72px; height:64px; }
    .landing-platforms img { width:34px; height:48px; }
    .landing-step-icon { width:56px; height:56px; }
    .landing-benefit-intro > p:not(.landing-eyebrow) { font-size:var(--site-body-size); }
    .landing-multirut { gap:16px; padding:20px; }
    .landing-process-heading { align-items:flex-start; flex-direction:column; gap:16px; }
    .landing-steps { gap:20px; }
    .landing-steps h3 { font-size:var(--site-subtitle-size); line-height:1.5; letter-spacing:normal; font-weight:600; }
    .landing-step-top { gap:14px; }
    .landing-step-number { width:36px; height:36px; }
    .landing-step-top > .mdi { font-size:34px; }
    .landing-testimonial-grid { grid-template-columns:1fr; gap:26px; }
    .landing-testimonial-intro { padding:0; }
    .landing-testimonial-intro h2 br { display:none; }
}
@media (max-width:600px) {
    .landing-container { width:calc(100% - 40px); }
    .landing-intro { padding:94px 0 44px; }
    .landing-notice { padding:18px 34px 18px 16px; }
    .landing-notice-copy { flex-basis:100%; }
    .landing-notice-copy p { font-size:14px; line-height:1.8; }
    .landing-page .landing-eyebrow { font-size:10px; margin-bottom:22px; padding-left:10px; }
    .landing-hero { padding:40px 0 24px; }
    .landing-hero h1 { font-size:50px; line-height:1.5; letter-spacing:1px; font-weight:700; }
    .landing-page .landing-lead { font-size:var(--site-body-size); margin-top:22px; }
    .landing-actions { flex-direction:column; margin-top:26px; }
    .landing-button { width:100%; min-height:52px; }
    .landing-page .landing-plan-note { font-size:13px; margin-top:9px; }
    .landing-hero-art { width:100%; margin-top:20px; }
    .landing-resource-grid { grid-template-columns:1fr; padding:8px 0; }
    .landing-resource,.landing-resource:first-child,.landing-resource:last-child { border:0; border-bottom:1px solid var(--landing-line); padding:24px 0; gap:24px; }
    .landing-resource:last-child { border-bottom:0; }
    .landing-resource-icon { width:56px; height:56px; }
    .landing-resource strong { font-size:var(--site-body-size); }
    .landing-resource .landing-resource-link { margin-top:8px; }
    .landing-benefits { padding:42px 0; }
    .landing-benefit-grid { grid-template-columns:1fr; gap:24px; }
    .landing-benefit-intro h2 { font-size:var(--site-title-size); line-height:1.5; letter-spacing:2px; font-weight:700; }
    .landing-multirut { margin-top:28px; }
    .landing-multirut strong { font-size:16px; }
    .landing-benefit-list article { padding:24px 0; gap:24px; }
    .landing-benefit-list h3 { font-size:var(--site-subtitle-size); line-height:1.5; letter-spacing:normal; font-weight:600; }
    .landing-process { padding:42px 0; }
    .landing-process h2 { font-size:var(--site-title-size); line-height:1.5; letter-spacing:2px; font-weight:700; }
    .landing-steps { grid-template-columns:1fr; margin:30px 0; gap:26px; }
    .landing-steps li { display:grid; grid-template-columns:104px minmax(0,1fr); column-gap:18px; }
    .landing-step-top { grid-row:1 / 3; gap:12px; align-items:center; align-self:start; margin:0; }
    .landing-step-top::after { display:none; }
    .landing-steps h3 { font-size:var(--site-subtitle-size); margin-bottom:6px; line-height:1.5; letter-spacing:normal; font-weight:600; }
    .landing-steps p { max-width:none; font-size:16px; }
    .landing-process-note { align-items:flex-start; gap:12px; padding:18px 16px; font-size:15px; }
    .landing-testimonials { padding:40px 0; }
    .landing-testimonial { flex-direction:column; padding:26px 22px; gap:24px; }
    .landing-client-photo { width:112px; height:112px; }
    .landing-testimonial-content { padding-left:22px; }
    .landing-testimonial blockquote { font-size:var(--site-body-size); }
    .landing-client-role { overflow-wrap:anywhere; }
    .landing-carousel-controls { padding:0; gap:6px; }
    .landing-carousel-dot { width:28px; }
    .landing-contact { flex-direction:column; gap:0; padding:18px 0; text-align:center; }
}

/* Escala del hero original en pantallas pequeÃƒÂ±as. */
@media (max-width:767px) { .landing-page .landing-hero h1 { font-size:36px; } }
