/* ═══ EDITORIAL CORPORATIVA — Landing Overrides ═══ */

/* ── Animate on scroll ── */
.anim-in {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1), transform 0.7s cubic-bezier(0.16,1,0.3,1);
}
.anim-in.visible {
    opacity: 1;
    transform: translateY(0);
}
.anim-delay-1 { transition-delay: 100ms; }
.anim-delay-2 { transition-delay: 200ms; }
.anim-delay-3 { transition-delay: 300ms; }
.anim-delay-4 { transition-delay: 400ms; }

/* ── Hero — Dark, asymmetric ── */
.hero-editorial {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: var(--bg-primary);
}
.hero-editorial .hero-bg-pattern {
    position: absolute;
    inset: 0;
    opacity: 0.3;
    background-size: cover;
    background-position: center;
}
.hero-editorial .hero-gradient-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to right, #0C0C0E, rgba(12,12,14,0.8), transparent);
}
.hero-editorial .hero-inner {
    position: relative;
    z-index: 10;
    padding-top: 7rem;
    padding-bottom: 5rem;
}
/* ── Hero Chart Canvas ── */
.hero-chart-canvas {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    opacity: 0.85;
    pointer-events: none;
}
.hero-editorial .hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .hero-editorial .hero-grid {
        grid-template-columns: 1fr;
        max-width: 48rem;
    }
}
.hero-editorial .hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.375rem 1rem;
    border-radius: 9999px;
    border: 1px solid rgba(255,107,0,0.3);
    background: rgba(255,107,0,0.08);
    margin-bottom: 2rem;
}
.hero-editorial .hero-badge .pulse-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--accent);
    animation: pulse-glow 2s infinite;
}
@keyframes pulse-glow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.4; }
}
.hero-editorial .hero-badge span {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--accent);
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.hero-editorial h1 {
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--text-primary);
    line-height: 1.02;
    letter-spacing: -0.03em;
    font-size: clamp(2.75rem, 5.5vw, 5rem);
    margin-bottom: 1.5rem;
}
.hero-editorial h1 .gradient-accent {
    background: linear-gradient(90deg, var(--accent), #FF9F4A);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.hero-editorial .hero-desc {
    font-size: 1.125rem;
    color: var(--text-secondary);
    line-height: 1.6;
    max-width: 36rem;
    margin-bottom: 2.5rem;
}
.hero-editorial .hero-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}
.hero-editorial .btn-hero {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.875rem 1.75rem;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.2s;
}
.hero-editorial .btn-hero:hover {
    background: var(--accent-hover);
    box-shadow: 0 0 30px rgba(255,107,0,0.3);
    color: #fff;
}
.hero-editorial .hero-trust-text {
    font-size: 0.875rem;
    color: var(--text-muted);
}
.hero-editorial .hero-mockup-wrapper {
    position: relative;
    display: none;
}
@media (min-width: 1024px) {
    .hero-editorial .hero-mockup-wrapper { display: block; }
}
.hero-editorial .hero-mockup-glow {
    position: absolute;
    inset: -2rem;
    background: rgba(255,107,0,0.1);
    border-radius: 1.5rem;
    filter: blur(48px);
}
.hero-editorial .hero-mockup-wrapper img {
    position: relative;
    width: 100%;
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 20px 60px rgba(0,0,0,0.5);
}
.hero-editorial .editorial-line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(255,107,0,0.4), transparent);
}

/* ── Rubros (inline in hero) ── */
.rubros-grid {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1.5rem;
    flex-wrap: wrap;
}
@media (min-width: 1024px) {
    .rubros-grid { gap: 2.5rem; }
}
.rubro-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    opacity: 0.5;
    transition: opacity 0.3s;
}
.rubro-item:hover { opacity: 1; }
.rubro-item span {
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-muted);
}

/* ── Features section ── */
.features-editorial {
    padding: 6rem 0;
    background: var(--bg-secondary);
}
.features-editorial .features-header {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 4rem;
    align-items: start;
}
@media (min-width: 1024px) {
    .features-editorial .features-header {
        grid-template-columns: 5fr 7fr;
        gap: 4rem;
    }
}
.features-editorial .section-label {
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--accent);
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}
.features-editorial .section-title {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--text-primary);
    line-height: 1.1;
    letter-spacing: -0.02em;
    font-size: clamp(2rem, 4vw, 3rem);
}
.features-editorial .section-desc {
    font-size: 1.125rem;
    color: var(--text-secondary);
    line-height: 1.6;
}
@media (min-width: 1024px) {
    .features-editorial .section-desc { padding-top: 2rem; }
}
.features-editorial .features-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
}
@media (min-width: 768px) {
    .features-editorial .features-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .features-editorial .features-grid { grid-template-columns: repeat(3, 1fr); }
}
.features-editorial .feature-card {
    background: var(--bg-card);
    border-radius: var(--radius-2xl);
    padding: 1.75rem;
    border: 1px solid var(--border-subtle);
    transition: all 0.3s;
}
.features-editorial .feature-card:hover {
    border-color: rgba(255,107,0,0.3);
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}
.features-editorial .feature-icon {
    width: 3rem;
    height: 3rem;
    border-radius: var(--radius-lg);
    background: rgba(255,107,0,0.08);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
    transition: background 0.3s;
}
.features-editorial .feature-card:hover .feature-icon {
    background: rgba(255,107,0,0.15);
}
.features-editorial .feature-card h3 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}
.features-editorial .feature-card p {
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.6;
}

/* ── Micro-UI Widgets ── */
.widgets-grid { display:grid; grid-template-columns:1fr; gap:1.25rem; margin-bottom:3rem; }
@media (min-width:768px) { .widgets-grid { grid-template-columns:repeat(3,1fr); } }
.widget-card { position:relative; height:20rem; border-radius:var(--radius-2xl); padding:1.5rem; overflow:hidden; background:rgba(255,107,0,0.06); transition:transform 0.35s cubic-bezier(0.16,1,0.3,1); }
.widget-card:hover { transform:scale(1.02); }
.widget-card .widget-header { display:flex; align-items:center; gap:0.5rem; margin-bottom:0.5rem; }
.widget-card .widget-header span { font-size:0.7rem; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--accent); font-family:var(--font-heading); }
.shuffler-stack { position:relative; margin-top:1.5rem; height:10rem; }
.shuffler-card { position:absolute; left:0; right:0; border-radius:1rem; padding:1rem 1.25rem; box-shadow:0 4px 20px rgba(0,0,0,0.08); background:var(--bg-card); display:flex; align-items:center; justify-content:space-between; transition:all 0.5s cubic-bezier(0.34,1.56,0.64,1); }
.shuffler-card .sc-label { font-family:var(--font-mono); font-size:0.7rem; color:var(--text-secondary); margin-bottom:0.25rem; }
.shuffler-card .sc-value { font-family:var(--font-heading); font-weight:700; font-size:1.5rem; color:var(--accent); }
.shuffler-card .sc-unit { font-size:0.7rem; color:var(--text-secondary); margin-left:0.25rem; }
.shuffler-badge { display:inline-flex; align-items:center; gap:0.25rem; padding:0.25rem 0.625rem; border-radius:9999px; font-size:0.7rem; font-weight:600; }
.shuffler-badge.green { background:rgba(34,197,94,0.125); color:#22c55e; }
.shuffler-badge.blue { background:rgba(59,130,246,0.125); color:#3b82f6; }
.shuffler-badge.amber { background:rgba(245,158,11,0.125); color:#f59e0b; }
.typewriter-feed { margin-top:1.5rem; }
.typewriter-feed .feed-status { display:flex; align-items:center; gap:0.4rem; margin-bottom:1rem; }
.typewriter-feed .feed-dot { width:6px; height:6px; border-radius:50%; background:#22c55e; animation:pulse-widget 1.5s infinite; }
@keyframes pulse-widget { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
.typewriter-feed .feed-label { font-family:var(--font-mono); font-size:0.6rem; color:var(--accent); letter-spacing:0.1em; text-transform:uppercase; }
.typewriter-lines { display:flex; flex-direction:column; gap:0.5rem; }
.typewriter-line { font-family:var(--font-mono); font-size:0.72rem; color:var(--text-secondary); padding:0.5rem 0.75rem; background:rgba(255,255,255,0.7); border-radius:0.5rem; white-space:nowrap; overflow:hidden; border-left:2px solid transparent; }
.typewriter-line.active { border-left-color:var(--accent); color:var(--text-primary); }
.typewriter-cursor { display:inline-block; width:2px; height:1em; background:var(--accent); margin-left:2px; vertical-align:text-bottom; animation:blink-cursor 0.8s step-end infinite; }
@keyframes blink-cursor { 0%,100%{opacity:1;} 50%{opacity:0;} }
.task-tracker { margin-top:1rem; }
.task-tracker .task-header-row { display:flex; align-items:center; justify-content:space-between; margin-bottom:0.75rem; }
.task-tracker .task-counter { font-family:var(--font-mono); font-size:0.6rem; color:var(--text-secondary); letter-spacing:0.05em; }
.task-tracker .task-counter strong { color:var(--accent); }
.task-tracker .task-progress-bar { width:100%; height:4px; border-radius:2px; background:rgba(255,107,0,0.1); margin-bottom:1rem; overflow:hidden; }
.task-tracker .task-progress-fill { height:100%; border-radius:2px; background:linear-gradient(90deg,var(--accent),#ff8c3a); transition:width 0.6s cubic-bezier(0.16,1,0.3,1); }
.task-list { display:flex; flex-direction:column; gap:0.4rem; }
.task-item { display:flex; align-items:center; gap:0.5rem; padding:0.45rem 0.65rem; border-radius:0.5rem; background:rgba(255,255,255,0.7); font-family:var(--font-mono); font-size:0.68rem; color:var(--text-secondary); transition:all 0.4s cubic-bezier(0.16,1,0.3,1); }
.task-item.completed { background:rgba(34,197,94,0.08); }
.task-item.completed .task-text { text-decoration:line-through; color:rgba(90,90,90,0.5); }
.task-check { width:14px; height:14px; border-radius:50%; border:1.5px solid rgba(90,90,90,0.3); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.3s; }
.task-item.completed .task-check { border-color:#22c55e; background:#22c55e; }
.task-check svg { width:8px; height:8px; color:#fff; opacity:0; transition:opacity 0.2s; }
.task-item.completed .task-check svg { opacity:1; }

/* ── Stats dark band ── */
.stats-dark {
    padding: 5rem 0;
    background: var(--bg-primary);
    position: relative;
    overflow: hidden;
}
.stats-dark .stats-bg {
    position: absolute;
    inset: 0;
    opacity: 0.2;
    background-size: cover;
}
.stats-dark .stats-grid {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}
@media (min-width: 1024px) {
    .stats-dark .stats-grid { grid-template-columns: repeat(4, 1fr); }
}
.stats-dark .stat-item { text-align: center; }
.stats-dark .stat-value {
    font-family: var(--font-heading);
    font-weight: 800;
    color: var(--text-primary);
    font-size: clamp(2rem, 4vw, 3.5rem);
    margin-bottom: 0.25rem;
}
.stats-dark .stat-label {
    font-size: 0.875rem;
    color: var(--text-secondary);
}
.stats-dark .editorial-line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(255,107,0,0.3), transparent);
}

/* ── Dashboard showcase ── */
.showcase-section {
    padding: 6rem 0;
    background: var(--bg-secondary);
}
.showcase-section .showcase-img-wrapper {
    position: relative;
    max-width: 64rem;
    margin: 0 auto;
}
.showcase-section .showcase-glow {
    position: absolute;
    inset: -1rem;
    background: linear-gradient(to bottom, rgba(255,107,0,0.05), transparent);
    border-radius: 1.5rem;
    filter: blur(32px);
}
.showcase-section .showcase-img-wrapper img {
    position: relative;
    width: 100%;
    border-radius: var(--radius-2xl);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 20px 60px rgba(0,0,0,0.08);
}
.showcase-section .badges-row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75rem;
    margin-top: 2.5rem;
}
.showcase-section .badge-pill {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--bg-card);
    border: 1px solid var(--border-subtle);
    border-radius: 9999px;
    font-size: 0.875rem;
    color: var(--text-secondary);
}
.showcase-section .badge-pill svg { color: var(--accent); }

/* ── How it works — dark ── */
.how-section {
    padding: 6rem 0;
    background: var(--bg-primary);
    position: relative;
    overflow: visible;
}
.how-section .how-bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-size: cover;
}
.how-section .how-inner {
    position: relative;
    z-index: 10;
}
.how-section .steps-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    max-width: 60rem;
    margin: 0 auto 3.5rem;
}
@media (min-width: 768px) {
    .how-section .steps-grid { grid-template-columns: repeat(3, 1fr); }
}
.how-section .step-card {
    position: relative;
    background: var(--bg-card);
    border-radius: var(--radius-2xl);
    padding: 2rem;
    border: 1px solid var(--border-subtle);
    transition: border-color 0.3s;
}
.how-section .step-card:hover {
    border-color: rgba(255,107,0,0.2);
}
.how-section .step-num {
    position: absolute;
    top: 1rem;
    right: 1.5rem;
    font-family: var(--font-mono);
    font-size: 3rem;
    font-weight: 700;
    color: rgba(255,107,0,0.12);
    line-height: 1;
}
.how-section .step-card:hover .step-num {
    color: rgba(255,107,0,0.25);
}
.how-section .step-icon {
    width: 3rem;
    height: 3rem;
    border-radius: var(--radius-lg);
    background: var(--accent-light);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.25rem;
}
.how-section .step-card h3 {
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 1.125rem;
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}
.how-section .step-card p {
    font-size: 0.875rem;
    color: var(--text-secondary);
    line-height: 1.6;
}
.how-section .benefits-row {
    display: flex;
    justify-content: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}
.how-section .benefit-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--text-secondary);
}
.how-section .benefit-item svg { color: var(--accent); }
.how-section .benefit-item span { font-size: 0.875rem; }
.how-section .editorial-line {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(255,107,0,0.3), transparent);
}
/* ── Sticky Stacking Cards ── */
.sticky-cards-container { position:relative; }
.sticky-card-wrapper { position:sticky; top:5rem; }
.sticky-card { min-height:70vh; border-radius:var(--radius-2xl); padding:3rem; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; margin-bottom:2rem; transition:transform 0.4s,filter 0.4s,opacity 0.4s; will-change:transform,filter,opacity; }
.sticky-card.card-dark { background:var(--bg-primary); color:var(--text-primary); }
.sticky-card.card-accent { background:var(--accent); color:#fff; }
.sticky-card.card-alt { background:var(--bg-card); color:var(--text-primary); }
.sticky-card .card-step-num { font-family:var(--font-mono); font-size:0.7rem; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; opacity:0.5; margin-bottom:2rem; }
.sticky-card .card-icon-wrap { width:5rem; height:5rem; border-radius:50%; background:var(--accent-light); display:flex; align-items:center; justify-content:center; margin-bottom:2rem; }
.sticky-card h3 { font-family:var(--font-heading); font-weight:700; font-size:clamp(1.5rem,3vw,2.25rem); margin-bottom:1rem; letter-spacing:-0.02em; }
.sticky-card p { font-size:1rem; opacity:0.7; max-width:28rem; line-height:1.7; }
.rotating-gear { animation:rotate-gear 8s linear infinite; }
@keyframes rotate-gear { from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
.scan-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:4px; width:100%; max-width:16rem; margin:0 auto; }
.scan-cell { aspect-ratio:1; border-radius:4px; background:rgba(255,255,255,0.1); transition:background 0.3s; }
.scan-cell.lit { background:rgba(255,107,0,0.5); }
.ekg-path { stroke-dasharray:600; stroke-dashoffset:600; animation:ekg-draw 2s linear infinite; }
@keyframes ekg-draw { to{stroke-dashoffset:0;} }
.how-section .how-bg { clip-path:inset(0); }

/* ── Integration split ── */
.integration-section {
    padding: 6rem 0;
    background: var(--bg-secondary);
}
.integration-section .integration-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4rem;
    align-items: center;
}
@media (min-width: 1024px) {
    .integration-section .integration-grid { grid-template-columns: 1fr 1fr; }
}
.integration-section .check-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.integration-section .check-item {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}
.integration-section .check-item svg {
    color: var(--accent);
    flex-shrink: 0;
    margin-top: 2px;
}
.integration-section .check-item span {
    color: var(--text-secondary);
}
.integration-section .integration-img-wrapper {
    position: relative;
}
.integration-section .integration-img-wrapper img {
    width: 100%;
    border-radius: var(--radius-2xl);
    border: 1px solid var(--border-subtle);
    box-shadow: 0 12px 40px rgba(0,0,0,0.08);
}

/* ── Pricing — dark ── */
.pricing-editorial {
    padding: 6rem 0;
    background: var(--bg-primary);
    position: relative;
    overflow: hidden;
}
.pricing-editorial .pricing-bg {
    position: absolute;
    inset: 0;
    opacity: 0.1;
    background-size: cover;
}
.pricing-editorial .pricing-inner {
    position: relative;
    z-index: 10;
}
.pricing-editorial .text-white-primary { color: var(--text-primary); }
.pricing-editorial .text-gray-muted { color: var(--text-secondary); }
.pricing-editorial .pricing-cards-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    max-width: 64rem;
    margin: 0 auto;
}
@media (min-width: 768px) {
    .pricing-editorial .pricing-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px) {
    .pricing-editorial .pricing-cards-grid { grid-template-columns: repeat(3, 1fr); }
}
.pricing-editorial .pricing-card-ed {
    background: var(--bg-card);
    border-radius: var(--radius-2xl);
    padding: 1.75rem;
    border: 1px solid var(--border-subtle);
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s;
}
.pricing-editorial .pricing-card-ed:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 30px rgba(0,0,0,0.3);
}
.pricing-editorial .pricing-card-ed.popular-ed {
    border-color: var(--accent);
    box-shadow: 0 0 0 1px var(--accent);
}
.pricing-editorial .popular-badge-ed {
    position: absolute;
    top: -0.875rem;
    left: 50%;
    transform: translateX(-50%);
    background: var(--accent);
    color: #fff;
    font-family: var(--font-heading);
    font-weight: 600;
    font-size: 0.75rem;
    padding: 0.25rem 1rem;
    border-radius: 9999px;
    display: flex;
    align-items: center;
    gap: 0.375rem;
}
.pricing-editorial .plan-name-ed {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.25rem;
    color: var(--text-primary);
    margin-bottom: 0.25rem;
}
.pricing-editorial .plan-price-ed {
    display: flex;
    align-items: baseline;
    gap: 0.25rem;
    margin-bottom: 1.25rem;
}
.pricing-editorial .plan-price-ed .amount-ed {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: clamp(1.75rem, 2.5vw, 2.5rem);
    color: var(--text-primary);
    white-space: nowrap;
}
.pricing-editorial .plan-price-ed .period-ed {
    font-size: 0.875rem;
    color: var(--text-secondary);
}
.pricing-editorial .plan-limits-ed {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 1rem 0;
    border-top: 1px solid var(--border-subtle);
    border-bottom: 1px solid var(--border-subtle);
    margin-bottom: 1rem;
}
.pricing-editorial .plan-limit-item-ed {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.85rem;
    color: var(--text-secondary);
}
.pricing-editorial .plan-limit-item-ed svg {
    width: 15px;
    height: 15px;
    color: var(--text-secondary);
}
.pricing-editorial .plan-features-list-ed { margin-bottom: 1.5rem; }
.pricing-editorial .plan-features-title-ed {
    display: block;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--text-secondary);
    margin-bottom: 0.625rem;
}
.pricing-editorial .plan-feature-row-ed {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.3rem 0;
    font-size: 0.84rem;
}
.pricing-editorial .plan-feature-row-ed.included-ed span { color: var(--text-secondary); }
.pricing-editorial .plan-feature-row-ed.excluded-ed span { color: var(--text-muted); }
.pricing-editorial .feature-check-ed { color: #34c759; flex-shrink: 0; }
.pricing-editorial .feature-cross-ed { color: rgba(110,110,115,0.3); flex-shrink: 0; }

/* ── CTA final ── */
.cta-editorial {
    padding: 6rem 0;
    background: var(--bg-secondary);
    text-align: center;
}
.cta-editorial .btn-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    background: var(--accent);
    color: #fff;
    font-weight: 600;
    font-size: 1.05rem;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.2s;
}
.cta-editorial .btn-cta:hover {
    background: var(--accent-hover);
    box-shadow: 0 0 30px rgba(255,107,0,0.2);
    color: #fff;
}

/* Footer uses _LayoutPublic.cshtml footer-pub styles */

/* ── Dark mode overrides ── */
[data-theme="dark"] .features-editorial,
[data-theme="dark"] .showcase-section,
[data-theme="dark"] .integration-section,
[data-theme="dark"] .cta-editorial,
[data-theme="dark"] .contacto-section {
    background: #141416;
}
[data-theme="dark"] .features-editorial .feature-card {
    background: #1a1a1e;
    border-color: #2c2c30;
}
[data-theme="dark"] .showcase-section .badge-pill {
    background: #1a1a1e;
    border-color: #2c2c30;
}
[data-theme="dark"] .widget-card {
    background: rgba(255,107,0,0.04);
}
[data-theme="dark"] .shuffler-card {
    background: #1a1a1e;
    box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}
[data-theme="dark"] .typewriter-line {
    background: rgba(255,255,255,0.05);
}
[data-theme="dark"] .task-item {
    background: rgba(255,255,255,0.05);
}

/* ═══ AGENDA DEMO Section ═══ */
.demo-section {
    padding: 6rem 0;
    background: var(--bg-primary);
}
.demo-iframe-wrapper {
    max-width: 56rem;
    margin: 0 auto;
    border-radius: var(--radius-2xl, 1.5rem);
    overflow: hidden;
    border: 1px solid var(--border-subtle, rgba(0,0,0,0.08));
}
.demo-iframe-wrapper iframe {
    display: block;
    border: none;
}
[data-theme="dark"] .demo-iframe-wrapper iframe {
    filter: invert(1) hue-rotate(180deg);
}

/* ═══ CONTACTO Section ═══ */
.contacto-section {
    padding: 6rem 0;
    background: var(--bg-secondary, #f8f8f8);
}
.contacto-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4rem;
    align-items: center;
    max-width: 64rem;
    margin: 0 auto;
}
@media (max-width: 768px) {
    .contacto-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}
.contacto-form-card {
    background: var(--bg-primary);
    border: 1px solid var(--border-subtle, rgba(0,0,0,0.08));
    border-radius: var(--radius-2xl, 1.5rem);
    padding: 2rem;
}
.form-group-pub {
    margin-bottom: 1.25rem;
}
.form-group-pub label {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: 0.375rem;
}
.input-pub {
    width: 100%;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--border-subtle, rgba(0,0,0,0.12));
    border-radius: 0.5rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.input-pub:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(255,107,0,0.15);
}
.phone-input-group {
    display: flex;
    gap: 0.5rem;
}
.phone-country-select {
    padding: 0.625rem 0.5rem;
    border: 1px solid var(--border-subtle, rgba(0,0,0,0.12));
    border-radius: 0.5rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.95rem;
    font-family: inherit;
    cursor: pointer;
    flex-shrink: 0;
    width: 6.5rem;
}
.phone-country-select:focus {
    outline: none;
    border-color: var(--accent);
}
.phone-input {
    flex: 1;
    padding: 0.625rem 0.875rem;
    border: 1px solid var(--border-subtle, rgba(0,0,0,0.12));
    border-radius: 0.5rem;
    background: var(--bg-primary);
    color: var(--text-primary);
    font-size: 0.95rem;
    font-family: inherit;
    transition: border-color 0.2s;
}
.phone-input:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(255,107,0,0.15);
}
