/* Flagship internal pages: intentionally scoped so legacy pages retain their current presentation. */
.internal-flagship {
    --ink: #1b4293;
    --signal: #dc241f;
    --paper: #fff;
    --line: rgba(27, 66, 147, 0.2);
    --wash: rgba(27, 66, 147, 0.055);
    --red-wash: rgba(220, 36, 31, 0.07);
    font-family: 'Manrope', sans-serif;
    background: var(--paper);
    color: var(--ink);
}

.internal-flagship h1,
.internal-flagship h2,
.internal-flagship h3,
.internal-flagship h4 {
    color: var(--ink);
    letter-spacing: -0.028em;
    text-wrap: balance;
}
.internal-flagship p,
.internal-flagship li { text-wrap: pretty; }
.internal-flagship .container { max-width: 1240px; }

/* A quiet, editorial page frame without inherited gradient, glow, or lift treatments. */
.internal-flagship .hero,
.internal-flagship .servicio-detalle,
.internal-flagship .cta-final {
    background-image: none !important;
    box-shadow: none !important;
}
.internal-flagship .hero {
    min-height: min(62vh, 660px);
    display: grid;
    align-items: end;
    padding-block: clamp(6rem, 12vw, 10rem) clamp(3.5rem, 7vw, 6rem);
    background-color: var(--ink) !important;
}
.internal-flagship .hero::before,
.internal-flagship .hero::after,
.internal-flagship .hero-video-bg,
.internal-flagship .cta-video-bg,
.internal-flagship #particlesCanvas { opacity: 0 !important; display: none !important; }
.internal-flagship .hero-content { max-width: 790px; text-align: left; margin: 0; }
.internal-flagship .hero h1,
.internal-flagship .hero p,
.internal-flagship .hero .hero-eyebrow { color: var(--paper) !important; }
.internal-flagship .hero h1 { font-size: clamp(2.55rem, 6.2vw, 5.35rem); line-height: 0.98; }
.internal-flagship .hero p { max-width: 62ch; font-size: clamp(1rem, 1.35vw, 1.18rem); }
.internal-flagship .hero-eyebrow {
    display: inline-flex;
    width: fit-content;
    margin-bottom: 1.25rem;
    padding: .38rem .75rem;
    border: 1px solid rgba(255,255,255,.55);
    border-radius: 999px;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.internal-flagship .hero-buttons { justify-content: flex-start; gap: .75rem; }
.internal-flagship .btn,
.internal-flagship button[type="submit"] {
    border-radius: 999px !important;
    box-shadow: 0 3px 8px rgba(27, 66, 147, 0.16) !important;
    transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease !important;
}
.internal-flagship .btn-primary,
.internal-flagship button[type="submit"] { background: var(--signal) !important; border-color: var(--signal) !important; color: var(--paper) !important; }
.internal-flagship .btn-secondary { background: transparent !important; border: 1px solid var(--paper) !important; color: var(--paper) !important; }
.internal-flagship .btn:hover,
.internal-flagship button[type="submit"]:hover { transform: none !important; filter: none !important; opacity: .9; box-shadow: 0 4px 10px rgba(27, 66, 147, 0.2) !important; }

.internal-flagship .servicio-detalle { padding-block: clamp(3.75rem, 8vw, 7.5rem); }
.internal-flagship .servicio-detalle:nth-of-type(even) { background-color: var(--wash) !important; }
.internal-flagship .servicio-detalle-content { gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.internal-flagship .servicio-detalle-text { max-width: 65ch; }
.internal-flagship .servicio-detalle-text h2 { font-size: clamp(2rem, 4vw, 3.75rem); line-height: 1.03; }
.internal-flagship .servicio-detalle-image img,
.internal-flagship img.servicio-img {
    width: 100%;
    border-radius: 12px;
    box-shadow: none;
    border: 1px solid var(--line);
}

/* Replace repeated floating card language with concise bordered surfaces. */
.internal-flagship [style*="box-shadow"],
.internal-flagship .service-card,
.internal-flagship .caso-card,
.internal-flagship .feature-card,
.internal-flagship .pricing-card,
.internal-flagship .video-card {
    box-shadow: none !important;
    background-image: none !important;
}
.internal-flagship .service-card,
.internal-flagship .caso-card,
.internal-flagship .feature-card,
.internal-flagship .video-card {
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    background-color: var(--paper) !important;
    box-shadow: 0 4px 10px rgba(27, 66, 147, 0.11) !important;
}
.internal-flagship .service-card:hover,
.internal-flagship .caso-card:hover,
.internal-flagship .feature-card:hover,
.internal-flagship .video-card:hover,
.internal-flagship [style*="transform"]:hover { transform: none !important; }

.internal-flagship .pricing-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    align-items: stretch;
    gap: clamp(.85rem, 1.8vw, 1.5rem) !important;
    margin-block: clamp(2.25rem, 5vw, 4.5rem) !important;
}
.internal-flagship .pricing-card {
    border: 1px solid var(--line) !important;
    border-color: rgba(220, 36, 31, .48) !important;
    border-radius: 12px !important;
    padding: clamp(1.25rem, 2.6vw, 2rem) !important;
    transform: none !important;
    background-color: var(--paper) !important;
    box-shadow: 0 4px 10px rgba(27, 66, 147, 0.11) !important;
}
.internal-flagship .pricing-card:nth-child(even) { border-color: rgba(27, 66, 147, .5) !important; }
.internal-flagship .pricing-card.popular { background: var(--wash) !important; }
.internal-flagship .pricing-card.popular::before { background: var(--ink) !important; box-shadow: none !important; }
.internal-flagship .pricing-card .pricing-title,
.internal-flagship .pricing-card .pricing-price { color: var(--ink) !important; }
.internal-flagship .pricing-card:nth-child(odd) .pricing-title,
.internal-flagship .pricing-card:nth-child(odd) .pricing-price { color: var(--signal) !important; }
/* BUSINESS GROWTH is second in each language grid and remains blue. */
.internal-flagship .pricing-card:nth-child(2) .pricing-title,
.internal-flagship .pricing-card:nth-child(2) .pricing-price { color: var(--ink) !important; }
.internal-flagship .pricing-features li { border-bottom: 1px solid rgba(27,66,147,.1); }
.internal-flagship .pricing-features li:last-child { border-bottom: 0; }
.internal-flagship .pricing-cta { margin-top: auto; border-radius: 999px !important; }

/* Blue chapters punctuate longer internal pages without creating a second visual system. */
.internal-flagship section.servicio-detalle:nth-of-type(3n) {
    background-color: var(--ink) !important;
}
.internal-flagship section.servicio-detalle:nth-of-type(3n) > .container > :not(.pricing-grid) h2,
.internal-flagship section.servicio-detalle:nth-of-type(3n) > .container > :not(.pricing-grid) h3,
.internal-flagship section.servicio-detalle:nth-of-type(3n) > .container > :not(.pricing-grid) p,
.internal-flagship section.servicio-detalle:nth-of-type(3n) > .container > :not(.pricing-grid) li {
    color: var(--paper) !important;
}

.internal-flagship table { width: 100%; border-collapse: collapse; background: var(--paper); }
.internal-flagship th { background: var(--ink); color: var(--paper); text-align: left; }
.internal-flagship th,
.internal-flagship td { padding: .9rem 1rem; border-bottom: 1px solid var(--line); }
.internal-flagship tr:nth-child(even) td { background: var(--wash); }

.internal-flagship form { max-width: 980px; margin-inline: auto; }
.internal-flagship .form-group { margin-bottom: 1.35rem; }
.internal-flagship .form-group label { color: var(--ink); font-weight: 800; }
.internal-flagship .form-group input,
.internal-flagship .form-group textarea,
.internal-flagship .form-group select {
    background: var(--paper) !important;
    border: 1px solid var(--line) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    color: var(--ink) !important;
    padding: .85rem .95rem !important;
}
.internal-flagship .form-group input:focus,
.internal-flagship .form-group textarea:focus,
.internal-flagship .form-group select:focus {
    outline: 3px solid rgba(220,36,31,.3) !important;
    outline-offset: 2px;
    border-color: var(--signal) !important;
}

@media (max-width: 991px) {
    .internal-flagship .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .internal-flagship .servicio-detalle-content { gap: 2rem; }
}

@media (max-width: 767px) {
    .internal-flagship { padding-top: 70px; }
    .internal-flagship .hero { min-height: auto; padding-block: 5.5rem 3.5rem; }
    .internal-flagship .hero h1 { font-size: clamp(2.35rem, 12vw, 3.5rem); }
    .internal-flagship .hero-buttons { align-items: stretch; }
    .internal-flagship .hero-buttons .btn { width: 100%; text-align: center; }
    .internal-flagship .pricing-grid { grid-template-columns: 1fr !important; }
    .internal-flagship .pricing-card { min-width: 0; }
    .internal-flagship table { display: block; overflow-x: auto; white-space: nowrap; }
    .internal-flagship .servicio-detalle { padding-block: 3.5rem; }
}

@media (prefers-reduced-motion: reduce) {
    .internal-flagship *,
    .internal-flagship *::before,
    .internal-flagship *::after { animation: none !important; transition: none !important; }
}
