.modules-section[data-astro-cid-ndoukyir]{background:#fff;padding:6rem 1.5rem}.modules-container[data-astro-cid-ndoukyir]{max-width:1200px;margin:0 auto}.modules-header[data-astro-cid-ndoukyir]{text-align:center;max-width:640px;margin:0 auto 4rem}.modules-tagline[data-astro-cid-ndoukyir]{letter-spacing:.1em;color:#6b7280;text-transform:uppercase;margin-bottom:1rem;font-size:.75rem;font-weight:600;display:inline-block}.modules-title[data-astro-cid-ndoukyir]{letter-spacing:-.025em;color:#111827;margin:0 0 1rem;font-size:clamp(1.875rem,4.5vw,2.5rem);font-weight:700;line-height:1.2}.modules-subtitle[data-astro-cid-ndoukyir]{color:#6b7280;margin:0;font-size:1rem;line-height:1.7}.modules-grid[data-astro-cid-ndoukyir]{grid-template-columns:repeat(2,1fr);gap:1.5rem;display:grid}.module-card[data-astro-cid-ndoukyir]{border:1px solid #d0d0d0;border-radius:10px;transition:box-shadow .3s,transform .2s;overflow:hidden}.module-card[data-astro-cid-ndoukyir]:hover{transform:translateY(-4px);box-shadow:0 8px 30px #00000014}.module-visual[data-astro-cid-ndoukyir]{background:#f5f5f5;border-radius:10px 10px 0 0;justify-content:center;align-items:center;padding:2rem;display:flex}.module-visual[data-astro-cid-ndoukyir] img[data-astro-cid-ndoukyir]{object-fit:contain;max-width:100%;max-height:320px}.module-content[data-astro-cid-ndoukyir]{flex-direction:column;gap:12px;padding:30px;display:flex}.module-card[data-astro-cid-ndoukyir] .module-title[data-astro-cid-ndoukyir]{color:#000;margin:0;font-family:Inter Variable,sans-serif;font-size:24px;font-weight:700;line-height:1.2}.module-description[data-astro-cid-ndoukyir]{color:#434b59;margin:0;font-family:Inter Variable,sans-serif;font-size:16px;line-height:1.5}.module-cta[data-astro-cid-ndoukyir]{color:#4c26e1;align-items:center;gap:6px;margin-top:8px;font-family:Inter Variable,sans-serif;font-size:16px;font-weight:700;text-decoration:none;transition:gap .2s;display:inline-flex}.module-cta[data-astro-cid-ndoukyir]:hover{gap:10px}.module-cta[data-astro-cid-ndoukyir] svg[data-astro-cid-ndoukyir]{flex-shrink:0}@media (width<=1024px){.modules-section[data-astro-cid-ndoukyir]{padding:5rem 1.5rem}.modules-header[data-astro-cid-ndoukyir]{margin-bottom:3rem}.module-card[data-astro-cid-ndoukyir] .module-title[data-astro-cid-ndoukyir]{font-size:24px}.module-description[data-astro-cid-ndoukyir]{font-size:18px}.module-cta[data-astro-cid-ndoukyir]{font-size:16px}}@media (width<=768px){.modules-section[data-astro-cid-ndoukyir]{padding:4rem 1.25rem}.modules-header[data-astro-cid-ndoukyir]{margin-bottom:2.5rem}.modules-grid[data-astro-cid-ndoukyir]{grid-template-columns:1fr;gap:1.25rem}.module-content[data-astro-cid-ndoukyir]{padding:24px}.module-card[data-astro-cid-ndoukyir] .module-title[data-astro-cid-ndoukyir]{font-size:22px}.module-description[data-astro-cid-ndoukyir]{font-size:17px}}@media (width<=480px){.modules-section[data-astro-cid-ndoukyir]{padding:3rem 1rem}.modules-header[data-astro-cid-ndoukyir]{margin-bottom:2rem}.modules-header[data-astro-cid-ndoukyir] .modules-title[data-astro-cid-ndoukyir]{font-size:1.625rem}.module-visual[data-astro-cid-ndoukyir]{padding:1.5rem}.module-content[data-astro-cid-ndoukyir]{gap:10px;padding:20px}.module-card[data-astro-cid-ndoukyir] .module-title[data-astro-cid-ndoukyir]{font-size:20px}.module-description[data-astro-cid-ndoukyir]{font-size:16px}.module-cta[data-astro-cid-ndoukyir]{font-size:15px}}[data-mockup-id=home-1-asistente-ia] .h1-page-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}[data-mockup-id=home-1-asistente-ia] .h1-page-title{align-items:center;gap:8px;font-size:16px;font-weight:600;display:flex}[data-mockup-id=home-1-asistente-ia] .h1-count{color:var(--tm-muted-fg);background:color-mix(in oklab, var(--tm-muted) 60%, transparent);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:500}[data-mockup-id=home-1-asistente-ia] .h1-page-actions{gap:8px;display:flex}[data-mockup-id=home-1-asistente-ia] .h1-proyecto{text-overflow:ellipsis;white-space:nowrap;max-width:195px;font-weight:500;display:block;overflow:hidden}[data-mockup-id=home-1-asistente-ia] .h1-fechas{color:var(--tm-muted-fg);margin-top:1px;font-size:11px;display:block}[data-mockup-id=home-1-asistente-ia] .h1-cliente{text-overflow:ellipsis;white-space:nowrap;max-width:168px;font-size:12.5px;display:block;overflow:hidden}[data-mockup-id=home-1-asistente-ia] .h1-numero{color:var(--tm-muted-fg);margin-top:1px;font-size:11px;display:block}[data-mockup-id=home-1-asistente-ia] .h1-dias-alerta{color:var(--tm-red-600);font-weight:500}[data-mockup-id=home-1-asistente-ia] .h1-line{white-space:pre;position:absolute;top:0;left:0}[data-mockup-id=home-1-asistente-ia] .h1-w{white-space:pre;display:inline-block}[data-mockup-id=home-1-asistente-ia] [data-a=line1],[data-mockup-id=home-1-asistente-ia] [data-a=ph],[data-mockup-id=home-1-asistente-ia] [data-a=empty],[data-mockup-id=home-1-asistente-ia] [data-a=think]{opacity:0;visibility:hidden}[data-mockup-id=home-1-asistente-ia] .h1-line .tm-caret{opacity:0}@media (prefers-reduced-motion:no-preference){[data-mockup-id=home-1-asistente-ia]{--h1-loop:15s;--h1-ease:cubic-bezier(.23, 1, .32, 1)}[data-mockup-id=home-1-asistente-ia] [data-a=line1]{animation:h1-line1 var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=line1] .h1-w{animation:h1-word1 var(--h1-loop) linear infinite backwards}[data-mockup-id=home-1-asistente-ia] [data-a=line1] .h1-w:nth-child(2){animation-delay:.13s}[data-mockup-id=home-1-asistente-ia] [data-a=line1] .h1-w:nth-child(3){animation-delay:.26s}[data-mockup-id=home-1-asistente-ia] [data-a=line1] .h1-w:nth-child(4){animation-delay:.39s}[data-mockup-id=home-1-asistente-ia] [data-a=line1] .h1-w:nth-child(5){animation-delay:.52s}[data-mockup-id=home-1-asistente-ia] [data-a=line1] .tm-caret{animation:h1-caret1-window var(--h1-loop) linear infinite, h1-blink 1.06s steps(1) infinite}[data-mockup-id=home-1-asistente-ia] [data-a=line2] .tm-caret{animation:h1-caret2-window var(--h1-loop) linear infinite, h1-blink 1.06s steps(1) infinite}[data-mockup-id=home-1-asistente-ia] [data-a=mic]{animation:h1-mic var(--h1-loop) linear infinite;border-radius:8px}[data-mockup-id=home-1-asistente-ia] [data-a=ph]{animation:h1-ph var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=bubble]{animation:h1-bubble var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=think]{animation:h1-think var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=think] i{animation:1.2s ease-in-out infinite h1-dot}[data-mockup-id=home-1-asistente-ia] [data-a=think] i:nth-child(2){animation-delay:.15s}[data-mockup-id=home-1-asistente-ia] [data-a=think] i:nth-child(3){animation-delay:.3s}[data-mockup-id=home-1-asistente-ia] [data-a=intro]{animation:h1-intro var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=table]{animation:h1-table var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=row1],[data-mockup-id=home-1-asistente-ia] [data-a=row2],[data-mockup-id=home-1-asistente-ia] [data-a=row3]{animation:h1-row var(--h1-loop) linear infinite backwards}[data-mockup-id=home-1-asistente-ia] [data-a=row2]{animation-delay:.28s}[data-mockup-id=home-1-asistente-ia] [data-a=row3]{animation-delay:.56s}[data-mockup-id=home-1-asistente-ia] [data-a=pills]{animation:h1-pills var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=line2]{animation:h1-line2 var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=line2] .h1-w{animation:h1-word2 var(--h1-loop) linear infinite backwards}[data-mockup-id=home-1-asistente-ia] [data-a=line2] .h1-w:nth-child(2){animation-delay:.14s}[data-mockup-id=home-1-asistente-ia] [data-a=line2] .h1-w:nth-child(3){animation-delay:.28s}[data-mockup-id=home-1-asistente-ia] [data-a=empty]{animation:h1-empty var(--h1-loop) linear infinite}[data-mockup-id=home-1-asistente-ia] [data-a=scene]{animation:h1-scene var(--h1-loop) linear infinite}@keyframes h1-blink{0%,52%{opacity:1}53%,to{opacity:0}}@keyframes h1-caret1-window{0%,8.4%{visibility:hidden}8.5%,16.4%{visibility:visible}16.5%,to{visibility:hidden}}@keyframes h1-caret2-window{0%,48.4%{visibility:hidden}48.5%,93%{visibility:visible}93.5%,to{visibility:hidden}}@keyframes h1-line1{0%,16.4%{visibility:visible;opacity:1}16.5%,to{visibility:hidden;opacity:0}}@keyframes h1-empty{0%,16.4%{visibility:visible;opacity:1}18%,to{visibility:hidden;opacity:0}}@keyframes h1-word1{0%,3.3%{opacity:0;animation-timing-function:var(--h1-ease);transform:translateY(3px)}4.4%,88%{opacity:1;transform:none}90%,to{opacity:0;transform:none}}@keyframes h1-mic{0%,2.9%{color:var(--tm-muted-fg);background:0 0}3%,8.5%{color:#dc2626;background:#ef44441a}8.6%,43.9%{color:var(--tm-muted-fg);background:0 0}44%,51%{color:#dc2626;background:#ef44441a}51.1%,to{color:var(--tm-muted-fg);background:0 0}}@keyframes h1-ph{0%,16.9%{opacity:0;visibility:hidden}18.5%,42%{opacity:1;visibility:visible}43.5%,to{opacity:0;visibility:hidden}}@keyframes h1-bubble{0%,16.9%{opacity:0;animation-timing-function:var(--h1-ease);transform:translateY(8px)scale(.97)}18.8%,to{opacity:1;transform:none}}@keyframes h1-think{0%,18.9%{opacity:0;visibility:hidden}19%,26.8%{opacity:1;visibility:visible}27.5%,to{opacity:0;visibility:hidden}}@keyframes h1-dot{0%,to{opacity:.35;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@keyframes h1-intro{0%,27.9%{opacity:0;animation-timing-function:var(--h1-ease);transform:translateY(6px)}29.6%,to{opacity:1;transform:none}}@keyframes h1-table{0%,29.4%{opacity:0;animation-timing-function:var(--h1-ease);transform:translateY(8px)}31.4%,to{opacity:1;transform:none}}@keyframes h1-row{0%,30.9%{opacity:0;animation-timing-function:var(--h1-ease)}32.2%,to{opacity:1}}@keyframes h1-pills{0%,36.4%{opacity:0;animation-timing-function:var(--h1-ease);transform:translateY(5px)}38%,to{opacity:1;transform:none}}@keyframes h1-line2{0%,43.4%{visibility:hidden;opacity:0}43.5%,93.9%{visibility:visible;opacity:1}99%,to{visibility:visible;opacity:0}}@keyframes h1-word2{0%,44%{opacity:0;animation-timing-function:var(--h1-ease);transform:translateY(3px)}45.1%,to{opacity:1;transform:none}}@keyframes h1-scene{0%,93.9%{opacity:1}99%,to{opacity:0}}}.value-section{background:#fff;padding:6rem 1.5rem;position:relative}.value-container{max-width:1200px;margin:0 auto}.section-header{text-align:center;max-width:600px;margin:0 auto 4rem}.section-title{letter-spacing:-.025em;color:#111827;margin:0 0 1rem;font-size:clamp(1.875rem,4vw,2.5rem);font-weight:700;line-height:1.15}.section-subtitle{color:#6b7280;margin:0;font-size:1.125rem;line-height:1.6}.mosaic-grid{grid-template-rows:auto auto;grid-template-columns:repeat(3,1fr);grid-template-areas:"costs costs planning""certs alerts reports";gap:1rem;display:grid}.mosaic-costs{grid-area:costs}.mosaic-planning{grid-area:planning}.mosaic-certs{grid-area:certs}.mosaic-alerts{grid-area:alerts}.mosaic-reports{grid-area:reports}.mosaic-card{cursor:pointer;text-align:left;opacity:0;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;padding:0;transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s;display:flex;overflow:hidden;transform:translateY(20px)}.mosaic-card.visible{opacity:1;transform:translateY(0)}.mosaic-costs.visible{transition-delay:0s}.mosaic-planning.visible{transition-delay:80ms}.mosaic-certs.visible{transition-delay:.16s}.mosaic-alerts.visible{transition-delay:.24s}.mosaic-reports.visible{transition-delay:.32s}.mosaic-card:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000014}.mosaic-card:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.card-header{background:#fff;border-bottom:none;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.125rem 1.375rem .625rem;display:flex}.card-header-content{flex:1}.card-visual{flex:1;justify-content:center;align-items:center;min-height:240px;padding:0;display:flex;position:relative;overflow:hidden}.mockup{background:linear-gradient(#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:12px;width:100%;padding:1.25rem;transition:transform .2s,box-shadow .2s}.mosaic-card:hover .mockup{transform:translateY(-2px);box-shadow:0 4px 16px #0000000f}.mockup-header{justify-content:space-between;align-items:center;margin-bottom:.875rem;display:flex}.mockup-label{color:#374151;letter-spacing:-.01em;font-size:.75rem;font-weight:600}.mockup-badge{color:#059669;background:#ecfdf5;border-radius:999px;padding:.25rem .625rem;font-size:.625rem;font-weight:500}@media (hover:hover) and (pointer:fine){.card-visual{filter:grayscale(.4)opacity(.6);transition:filter .25s}.mosaic-card:hover .card-visual{filter:none}}.card-arrow-overlay{opacity:0;pointer-events:none;z-index:2;transition:opacity .2s;position:absolute;bottom:16px;right:16px}.mosaic-card:hover .card-arrow-overlay{opacity:1}.mosaic-costs .card-visual,.mosaic-planning .card-visual,.mosaic-certs .card-visual,.mosaic-alerts .card-visual,.mosaic-reports .card-visual{display:block}.costs-dashboard-mockup{width:95%;height:auto;padding:0;position:absolute;bottom:0;right:0}.costs-grid{grid-template-columns:repeat(4,1fr);gap:.625rem;display:grid}.cost-card-main{opacity:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;grid-column:span 4;align-items:center;gap:1.5rem;padding:.875rem 1rem;transition:opacity .4s,transform .4s;display:flex;transform:translateY(8px)}.cost-card-main.visible{opacity:1;transform:translateY(0)}.cost-main-left{flex-direction:column;gap:.25rem;min-width:140px;display:flex}.cost-label-main{color:#9ca3af;text-transform:uppercase;letter-spacing:.02em;font-size:.625rem;font-weight:500}.cost-value-main{font-variant-numeric:tabular-nums;align-items:baseline;gap:.25rem;display:flex}.cost-value-main>span:first-child{color:#111827;letter-spacing:-.02em;font-size:1.75rem;font-weight:700}.cost-currency-main{color:#6b7280;font-size:1rem;font-weight:600}.cost-main-right{flex-direction:column;flex:1;gap:.5rem;min-width:0;display:flex}.progress-header{justify-content:space-between;align-items:center;display:flex}.progress-label{color:#6b7280;font-size:.6875rem}.progress-percentage{color:#6b7280;font-size:.75rem;font-weight:600}.progress-bar-track{background:#f3f4f6;border-radius:999px;height:8px;position:relative;overflow:hidden}.progress-bar-fill{border-radius:999px;height:100%;position:absolute;top:0;left:0}.progress-bar-fill.real{background:linear-gradient(90deg,#8b5cf6 0%,#7c3aed 100%)}.cost-card-small{opacity:0;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.75rem .875rem;transition:opacity .4s,transform .4s;transform:translateY(8px)}.cost-card-small.visible{opacity:1;transform:translateY(0)}.cost-label-small{color:#9ca3af;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.5rem;font-size:.625rem;font-weight:500}.cost-value-small{font-variant-numeric:tabular-nums;align-items:baseline;gap:.375rem;display:flex}.cost-value-small>span:not(.cost-indicator):not(.cost-currency-small){color:#111827;letter-spacing:-.01em;font-size:1.25rem;font-weight:700}.cost-currency-small{color:#6b7280;font-size:.875rem;font-weight:600}.cost-indicator{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.25rem}.cost-indicator.estimated{background:#8b5cf6}.cost-indicator.expected{background:#10b981}.cost-indicator.direct{background:#ef4444}.cost-indicator.indirect{background:#f59e0b}@media (width<=640px){.costs-grid{grid-template-columns:repeat(2,1fr)}.cost-card-main{flex-direction:column;grid-column:span 2;align-items:flex-start;gap:1rem}.cost-main-left{min-width:0}}.mockup-image-costs{border-radius:0;width:90%;height:auto;display:block;position:absolute;bottom:0;right:0}.mockup-image-centered{border-radius:0;width:100%;height:auto;display:block;position:absolute;bottom:.75rem;left:0;right:0}.mockup-image-centered-padded{border-radius:0;width:85%;height:auto;display:block}.mockup-image-full{object-fit:contain;object-position:center bottom;border-radius:0;width:100%;height:100%;display:block;position:absolute;bottom:0;left:0}.planning-gantt-mockup{width:100%;height:100%;padding:.75rem 1rem 1rem;position:absolute;bottom:0;left:0;right:0}.vp-gantt-grid{grid-template-columns:140px 1fr;gap:0 .75rem;display:grid}.vp-gantt-timeline-column{border-bottom:1px solid #e5e7eb;margin-bottom:.5rem;padding-bottom:.5rem}.vp-gantt-timeline-header{grid-template-columns:repeat(6,1fr);gap:0;display:grid}.timeline-label{color:#9ca3af;text-align:center;padding:.125rem 0;font-size:.625rem;font-weight:500}.vp-gantt-task-cell{opacity:0;align-items:center;gap:.5rem;padding:.625rem 0;transition:opacity .4s,transform .4s;display:flex;transform:translate(-8px)}.vp-gantt-task-cell.visible{opacity:1;transform:translate(0)}.task-badge{letter-spacing:.02em;color:#fff;background:#111827;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:.625rem;font-weight:700;display:flex}.task-name{color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.vp-gantt-bar-cell{border-bottom:1px solid #f9fafb;align-items:center;height:44px;display:flex;position:relative}.vp-gantt-bar{opacity:0;transform-origin:0;border-radius:6px;justify-content:center;align-items:center;height:24px;transition:transform .2s;display:flex;position:absolute}.vp-gantt-bar:hover{transform:scaleY(1.08)}.bar-label{color:#fffffff2;text-shadow:0 1px 2px #0000001a;font-size:.625rem;font-weight:600}.mo-bar{background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);box-shadow:0 2px 6px #3b82f640}.sb-bar{background:linear-gradient(135deg,#8b5cf6 0%,#7c3aed 100%);box-shadow:0 2px 6px #8b5cf640}.fl-bar{background:linear-gradient(135deg,#10b981 0%,#059669 100%);box-shadow:0 2px 6px #10b98140}@keyframes slideInBar{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.vp-gantt-mini{flex-direction:column;gap:.5rem;display:flex}.vp-gantt-label{color:#6b7280;flex-shrink:0;width:75px;font-size:.6875rem}.vp-gantt-track{background:#f3f4f6;border-radius:4px;flex:1;min-width:0;height:14px;position:relative;overflow:hidden}.vp-gantt-bar.completed{background:#10b981}.vp-gantt-bar.progress{background:#3b82f6}.vp-gantt-bar.critical{background:#ef4444}.vp-gantt-bar.pending{background:#e5e7eb}.vp-gantt-footer{text-align:center;margin-top:.75rem}.critical-badge{color:#dc2626;background:#fef2f2;border-radius:4px;padding:.25rem .625rem;font-size:.625rem;font-weight:500;display:inline-block}.work-parts-mockup{flex-direction:column;gap:.5rem;width:100%;padding:.5rem 1rem .75rem;display:flex;position:absolute;bottom:0;left:0;right:0}.work-part-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:.625rem .75rem;transition:all .2s}.mosaic-card:hover .work-part-card{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.work-part-header{align-items:center;gap:.625rem;display:flex}.work-part-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.6875rem;font-weight:600;display:flex}.work-part-info{flex-direction:column;flex:1;gap:.125rem;min-width:0;display:flex}.work-part-name{color:#111827;font-size:.75rem;font-weight:600;line-height:1.2}.work-part-task{color:#6b7280;font-size:.6875rem;line-height:1.2}.work-part-status{white-space:nowrap;border-radius:5px;flex-shrink:0;padding:.25rem .5rem;font-size:.625rem;font-weight:500}.work-part-status.pending{color:#d97706;background:#fef3c7}.work-part-status.approved{color:#059669;background:#d1fae5}.cashflow-mockup{background:#fff;border-radius:12px;width:90%;margin:0 auto;padding:.875rem 1rem 1rem;position:absolute;top:50%;left:50%}.cashflow-header{margin-bottom:.75rem}.cashflow-label{color:#374151;font-size:.6875rem;font-weight:600}.cashflow-chart{height:120px;position:relative}.trend-line{pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.chart-bars-container{z-index:2;justify-content:space-between;align-items:flex-end;gap:.375rem;height:100%;padding-bottom:1rem;display:flex;position:relative}.chart-bar-group{flex-direction:column;flex:1;align-items:center;height:100%;display:flex;position:relative}.chart-bar-wrapper{flex-direction:column;justify-content:flex-end;align-items:center;width:100%;height:100%;display:flex;position:relative}.chart-bar-wrapper.stacked{display:block;position:relative}.chart-bar{border-radius:4px;width:32px;transition:all .3s}.chart-bar-wrapper.stacked .chart-bar{position:absolute;bottom:0;left:50%;transform:translate(-50%)}.chart-bar-wrapper.stacked .chart-bar.forecast{opacity:.5;z-index:1}.chart-bar-wrapper.stacked .chart-bar.real{z-index:2}.chart-bar.forecast{background:#8b5cf6}.chart-bar.real{background:#d1d5db}.chart-bar-group.active .chart-bar.forecast{background:#7c3aed}.chart-bar-group.active .chart-bar.real{background:#9ca3af}.chart-label{color:#9ca3af;white-space:nowrap;font-size:.625rem;position:absolute;bottom:-.875rem}.chart-tooltip{z-index:10;white-space:nowrap;background:#f9fafb;border-radius:6px;padding:.375rem .5rem;position:absolute;top:-2.75rem;left:50%;transform:translate(-50%)}.tooltip-row{justify-content:space-between;align-items:center;gap:.625rem;margin-bottom:.125rem;display:flex}.tooltip-row:last-child{margin-bottom:0}.tooltip-label{color:#6b7280;font-size:.625rem}.tooltip-value{color:#111827;font-variant-numeric:tabular-nums;font-size:.625rem;font-weight:600}.tooltip-value.positive{color:#059669}.mockup-reports{padding:1rem}.report-chart{margin-bottom:1rem}.chart-bars{border-bottom:1px solid #e5e7eb;align-items:flex-end;gap:.5rem;height:70px;padding-bottom:.375rem;display:flex}.chart-bar{transform-origin:bottom;background:#e5e7eb;border-radius:3px 3px 0 0;flex:1}.chart-bar.accent{background:#3b82f6}.chart-labels{justify-content:space-between;margin-top:.375rem;display:flex}.chart-labels span{color:#9ca3af;font-size:.5625rem}.report-kpis{gap:1.5rem;display:flex}.kpi{flex-direction:column;display:flex}.kpi-value{color:#111827;font-variant-numeric:tabular-nums;font-size:1.125rem;font-weight:700}.kpi-label{color:#6b7280;font-size:.625rem}.card-title{color:#111827;flex:1;margin:0;font-size:1.1875rem;font-weight:400;line-height:1.4}.card-title strong{font-weight:600}.mosaic-costs .card-title{font-size:1.25rem;line-height:1.4}.card-arrow{color:#6b7280;background:#f3f4f6;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.card-arrow svg{transition:transform .2s}.mosaic-card:hover .card-arrow{color:#fff;background:#111827}.mosaic-card:hover .card-arrow svg{transform:translate(1px,-1px)}.modal-backdrop{-webkit-backdrop-filter:blur(8px);opacity:0;visibility:hidden;z-index:100;will-change:opacity;background:#00000080;position:fixed;inset:0}.modal-backdrop.active{opacity:1;visibility:visible}.feature-modal{z-index:101;will-change:transform, opacity;background:#fff;border-radius:24px 24px 0 0;width:calc(100% - 48px);max-width:1200px;max-height:calc(100vh - 48px);position:fixed;inset:auto auto 0 50%;overflow:hidden;box-shadow:0 -4px 40px #00000026,0 0 0 1px #00000008}.modal-drag-indicator{background:#d1d5db;border-radius:2px;width:36px;height:4px;margin:.75rem auto 0}.modal-close{color:#6b7280;cursor:pointer;z-index:10;background:#f3f4f6;border:none;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .15s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:#374151;background:#e5e7eb}.modal-content{-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;max-height:calc(100vh - 68px);padding:2.5rem 3rem;overflow-y:scroll}.modal-hero{grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:2.5rem;padding-right:2rem;display:grid}.modal-hero-left{flex-direction:column;display:flex}.modal-hero-right{align-items:flex-start;padding-top:2rem;display:flex}.modal-tagline{letter-spacing:.08em;color:#3b82f6;text-transform:uppercase;margin-bottom:.75rem;font-size:.6875rem;font-weight:600;display:inline-block}.modal-title{letter-spacing:-.02em;color:#111827;margin:0 0 1rem;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:700;line-height:1.15}.modal-description{color:#6b7280;margin:0 0 1.5rem;font-size:1.0625rem;line-height:1.65}.modal-benefits{flex-direction:column;gap:.875rem;display:flex}.benefit-item{align-items:center;gap:.75rem;display:flex}.benefit-check{color:#d97706;background:#fef3c7;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.benefit-check svg{width:14px;height:14px}.benefit-text-inline{color:#1f2937;margin:0;font-size:1rem;line-height:1.5}.modal-cta{flex-wrap:wrap;gap:.75rem;margin-top:auto;padding-top:.5rem;display:flex}.cta-button{border-radius:10px;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.cta-primary{color:#fff;background:#111827}.cta-primary:hover{background:#1f2937}.cta-secondary{color:#374151;background:0 0;border:1px solid #d1d5db}.cta-secondary:hover{background:#f9fafb;border-color:#9ca3af}.modal-visuals{grid-template-columns:1.2fr .8fr;gap:1.25rem;margin-bottom:2.5rem;display:grid}.visual-card{background:linear-gradient(#f8fafc 0%,#f1f5f9 100%);border:1px solid #e2e8f0;border-radius:16px;min-height:220px;padding:1.5rem}.visual-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.visual-label{color:#374151;font-size:.75rem;font-weight:600}.visual-badge{color:#059669;background:#ecfdf5;border-radius:999px;padding:.25rem .625rem;font-size:.625rem;font-weight:500}.visual-big-number{align-items:baseline;gap:.25rem;margin-bottom:.25rem;display:flex}.visual-big-number .number{color:#111827;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700}.visual-big-number .currency{color:#6b7280;font-size:1.5rem;font-weight:600}.visual-subtitle{color:#6b7280;margin-bottom:1rem;font-size:.8125rem}.visual-progress{margin-bottom:1.25rem}.visual-progress .progress-bar{background:#e5e7eb;border-radius:999px;height:8px;margin-bottom:.5rem;overflow:hidden}.visual-progress .progress-fill{background:linear-gradient(90deg,#3b82f6 0%,#2563eb 100%);border-radius:999px;height:100%}.visual-progress .progress-labels{color:#6b7280;justify-content:space-between;font-size:.75rem;display:flex}.visual-progress .positive{color:#059669;font-weight:500}.visual-chapters{flex-direction:column;gap:.5rem;display:flex}.chapter-row{background:#fff;border:1px solid #f3f4f6;border-radius:8px;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.chapter-name{color:#374151;flex:1;font-size:.8125rem}.chapter-value{color:#111827;font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:600}.chapter-status{border-radius:4px;padding:.125rem .5rem;font-size:.6875rem;font-weight:500}.chapter-status.ok{color:#059669;background:#ecfdf5}.chapter-status.warning{color:#d97706;background:#fef3c7}.alert-card{background:#fff;border:1px solid #fef3c7;border-radius:12px;gap:1rem;padding:1rem;display:flex}.alert-icon-large{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.alert-icon-large.warning{color:#d97706;background:#fef3c7}.alert-details h4{color:#111827;margin:0 0 .25rem;font-size:.9375rem;font-weight:600}.alert-details p{color:#6b7280;margin:0 0 .5rem;font-size:.8125rem}.alert-time{color:#9ca3af;font-size:.6875rem}.vp-gantt-visual{flex-direction:column;gap:.625rem;display:flex}.vp-gantt-row-visual{grid-template-columns:100px 1fr 60px;align-items:center;gap:.75rem;display:grid}.vp-gantt-task{color:#6b7280;font-size:.75rem}.vp-gantt-timeline{background:#f3f4f6;border-radius:4px;height:20px;position:relative}.vp-gantt-bar-visual{border-radius:3px;height:14px;position:absolute;top:3px}.vp-gantt-bar-visual.completed{background:#10b981}.vp-gantt-bar-visual.in-progress{background:#3b82f6}.vp-gantt-bar-visual.critical{background:#ef4444}.vp-gantt-bar-visual.pending{background:#d1d5db}.vp-gantt-cost{color:#374151;text-align:right;font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:600}.resources-grid{flex-direction:column;gap:.75rem;display:flex}.resource-item{background:#fff;border:1px solid #f3f4f6;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.resource-avatar{color:#3b82f6;background:#eff6ff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.75rem;font-weight:600;display:flex}.resource-info{flex-direction:column;flex:1;display:flex}.resource-name{color:#111827;font-size:.8125rem;font-weight:600}.resource-role{color:#6b7280;font-size:.6875rem}.resource-load{border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600}.resource-load.high{color:#dc2626;background:#fef2f2}.resource-load.medium{color:#059669;background:#ecfdf5}.visual-placeholder{justify-content:center;align-items:center;min-height:120px;display:flex}.modal-insights{border-top:1px solid #f3f4f6;grid-template-columns:repeat(3,1fr);gap:2rem;padding-top:2rem;display:grid}.insight-item{flex-direction:column;gap:.875rem;display:flex}.insight-icon{color:#d97706;background:#fef3c7;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.insight-text{color:#4b5563;margin:0;font-size:.9375rem;line-height:1.6}@media (width<=900px){.mosaic-grid{grid-template-columns:repeat(2,1fr);grid-template-areas:"costs planning""certs alerts""reports reports"}}@media (width<=640px){.value-section{padding:4rem 1rem}.section-header{margin-bottom:3rem}.mosaic-grid{grid-template-columns:1fr;grid-template-areas:"costs""planning""certs""alerts""reports";gap:.75rem}.card-visual{min-height:150px}.mosaic-costs .card-visual{min-height:160px}.feature-modal{border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:90vh;left:0}.modal-content{padding:1.5rem}.modal-hero{grid-template-columns:1fr;gap:1.5rem;padding-right:1.5rem}.modal-hero-right{padding-top:0}.modal-title{font-size:1.375rem}.modal-visuals{grid-template-columns:1fr;gap:1rem}.visual-card{min-height:180px}.modal-insights{grid-template-columns:1fr;gap:1.5rem}.cta-button{justify-content:center;width:100%}.modal-cta{flex-direction:column}}@media (width<=1024px) and (width>=641px){.modal-hero{grid-template-columns:1fr;gap:1.5rem}.modal-visuals{grid-template-columns:1fr 1fr}.modal-insights{grid-template-columns:1fr;gap:1.25rem}}@media (prefers-reduced-motion:reduce){.mosaic-card,.mockup,.mockup-progress-fill,.vp-gantt-bar,.chart-bar,.cert-doc,.alert-item,.card-arrow,.card-arrow svg{transition:none!important}.mosaic-card{opacity:1;transform:none}}
