/* Bizfera v0.17.26 · Landing inspirada en ORYO, completamente adaptada al branding Bizfera. */
.public-page-landing {
    background: #fff !important;
    color: #17171a !important;
}
.public-page-landing .public-layout {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    background: #fff !important;
}
.oryo-landing {
    --oryo-primary: #12a875;
    --oryo-primary-dark: #0d8f64;
    --oryo-primary-soft: rgba(18, 168, 117, .12);
    --oryo-ink: #151515;
    --oryo-muted: #74747e;
    --oryo-soft: #f7faf8;
    --oryo-soft-alt: #fbfafd;
    --oryo-dark: #1f2b27;
    --oryo-border: #e8ecea;
    --oryo-shadow: 0 3px 12px rgba(6, 11, 47, .06);
    min-height: 100vh;
    overflow: hidden;
    background: #fff;
    color: var(--oryo-ink);
}
.oryo-landing a { transition: color .25s ease, background .25s ease, transform .25s ease, border-color .25s ease, box-shadow .25s ease; }
.oryo-landing .btn {
    border-radius: 4px;
    padding: 11px 28px;
    font-size: .78rem;
    font-weight: 650;
    letter-spacing: -.01em;
}
.oryo-landing .btn:hover { transform: translateY(-2px); }
.oryo-landing .btn-primary {
    background: var(--oryo-primary) !important;
    border-color: var(--oryo-primary) !important;
    color: #fff !important;
    box-shadow: 0 4px 20px rgba(18, 168, 117, .15);
}
.oryo-landing .btn-primary:hover,
.oryo-landing .btn-primary:focus {
    background: var(--oryo-primary-dark) !important;
    border-color: var(--oryo-primary-dark) !important;
    box-shadow: 0 3px 12px rgba(18, 168, 117, .32);
}
.oryo-landing .btn-outline-primary {
    background: transparent !important;
    border-color: var(--oryo-primary) !important;
    color: var(--oryo-primary) !important;
}
.oryo-landing .btn-outline-primary:hover,
.oryo-landing .btn-outline-primary:focus {
    background: var(--oryo-primary) !important;
    border-color: var(--oryo-primary) !important;
    color: #fff !important;
}
.oryo-container {
    width: min(1140px, calc(100% - 44px));
    margin: 0 auto;
}

/* Navbar */
.oryo-navbar {
    position: fixed;
    inset: 0 0 auto;
    z-index: 1050;
    min-height: 82px;
    display: flex;
    align-items: center;
    background: rgba(246, 251, 249, .94);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(17, 17, 17, .035);
}
.oryo-navbar-inner {
    min-height: 82px;
    display: flex;
    align-items: center;
    gap: 24px;
}
.oryo-brand { display: inline-flex; align-items: center; flex: 0 0 auto; }
.oryo-brand img { width: auto; height: 31px; max-width: 160px; object-fit: contain; }
.oryo-nav-links {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-left: auto;
}
.oryo-nav-links a,
.oryo-login-link {
    position: relative;
    color: #333;
    text-decoration: none;
    font-size: .73rem;
    font-weight: 600;
}
.oryo-nav-links a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -9px;
    height: 3px;
    background: var(--oryo-primary);
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .25s ease;
}
.oryo-nav-links a:hover { color: var(--oryo-primary); }
.oryo-nav-links a:hover::after { transform: scaleX(1); }
.oryo-nav-actions { display: flex; align-items: center; gap: 18px; }
.oryo-login-link:hover { color: var(--oryo-primary); }
.oryo-nav-actions .btn { padding: 9px 18px; font-size: .67rem; }

/* Hero */
.oryo-hero {
    position: relative;
    min-height: 760px;
    display: flex;
    align-items: center;
    padding: 150px 0 110px;
    background: #f4fbf8;
}
.oryo-hero::after {
    content: '';
    position: absolute;
    z-index: 0;
    width: min(58vw, 930px);
    height: min(58vw, 930px);
    top: min(-19vw, -215px);
    right: min(-13vw, -120px);
    border-radius: 50%;
    background: linear-gradient(145deg, #12a875 0%, #0d9569 100%);
    pointer-events: none;
}
.oryo-hero::before {
    content: '';
    position: absolute;
    z-index: 0;
    width: 360px;
    height: 360px;
    right: 15%;
    bottom: -235px;
    border-radius: 50%;
    background: rgba(18, 168, 117, .065);
    pointer-events: none;
}
.oryo-hero > .oryo-container {
    position: relative;
    z-index: 1;
}
.oryo-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(430px, 1.05fr);
    gap: clamp(54px, 7vw, 90px);
    align-items: center;
}
.oryo-hero-copy { min-width: 0; }
.oryo-kicker {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 34px;
    color: #333;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.45;
}
.oryo-kicker > span {
    width: 58px;
    height: 3px;
    flex: 0 0 58px;
    background: var(--oryo-primary);
}
.oryo-hero h1 {
    display: grid;
    gap: 10px;
    margin: 0;
    font-size: clamp(3rem, 5.4vw, 5.25rem);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 700;
}
.oryo-hero h1 > span { display: block; }
.oryo-hero h1 .oryo-outline {
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1.7px var(--oryo-primary);
}
.oryo-hero h1 strong { color: var(--oryo-primary); font-weight: 700; }
.oryo-hero-copy > p {
    max-width: 600px;
    margin: 30px 0 0;
    color: #65656e;
    font-size: .87rem;
    line-height: 1.85;
}
.oryo-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.oryo-hero-actions .btn-lg { padding: 11px 22px !important; font-size: .78rem !important; }
.oryo-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 9px 18px;
    margin-top: 24px;
    color: #6d6d76;
    font-size: .64rem;
}
.oryo-trust span { display: inline-flex; align-items: center; gap: 6px; }
.oryo-trust iconify-icon { color: var(--oryo-primary); font-size: .85rem; }
.oryo-hero-media {
    position: relative;
    margin-left: 8px;
}

/* Barra tipo facts de ORYO */
.oryo-proof { position: relative; z-index: 2; margin-top: -45px; padding: 0 0 48px; }
.oryo-proof-card {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 15px;
    background:
        radial-gradient(circle at 6% 108%, rgba(18, 168, 117, .075) 0 135px, transparent 136px),
        radial-gradient(circle at 87% -22%, rgba(18, 168, 117, .055) 0 105px, transparent 106px),
        #fff;
    box-shadow: 0 3px 12px rgba(6, 11, 47, .08);
}
.oryo-proof-card span {
    min-height: 92px;
    display: grid;
    place-items: center;
    padding: 18px 12px;
    border-right: 1px solid #eff1f0;
    border-bottom: 1px solid #eff1f0;
    color: #222;
    text-align: center;
    font-size: .72rem;
    font-weight: 650;
}
.oryo-proof-card span:nth-child(4n) { border-right: 0; }
.oryo-proof-card span:nth-last-child(-n+4) { border-bottom: 0; }

/* Secciones generales */
.oryo-landing .landing-section,
.oryo-landing .landing-pricing,
.oryo-landing .landing-smart-section,
.oryo-landing .landing-final {
    width: min(1140px, calc(100% - 44px));
    margin-left: auto;
    margin-right: auto;
}
.oryo-landing .landing-section { padding: 90px 0 100px; }
.oryo-landing .landing-section-heading { max-width: 760px; margin: 0 auto 50px; text-align: center; }
.oryo-landing .landing-section-heading > span,
.oryo-landing .landing-pricing-copy > span {
    display: block;
    margin-bottom: 14px;
    color: var(--oryo-primary);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.oryo-landing .landing-section-heading h2,
.oryo-landing .landing-pricing-copy h2 {
    margin: 0 0 12px;
    color: var(--oryo-ink);
    font-size: clamp(1.85rem, 3vw, 2.35rem);
    line-height: 1.18;
    letter-spacing: -.035em;
    font-weight: 650;
}
.oryo-landing .landing-section-heading p,
.oryo-landing .landing-pricing-copy p {
    margin: 0 auto;
    color: var(--oryo-muted);
    font-size: .78rem;
    line-height: 1.8;
}

/* Módulos: composición About de ORYO */
.oryo-landing #modulos {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.55fr);
    gap: clamp(40px, 7vw, 82px);
    align-items: center;
}
.oryo-landing #modulos .landing-section-heading {
    margin: 0;
    text-align: left;
}
.oryo-landing #modulos .landing-section-heading h2 { font-size: clamp(1.8rem, 3.2vw, 2.45rem); }
.oryo-landing #modulos .landing-module-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}
.oryo-landing #modulos .landing-module-grid article,
.oryo-landing .landing-integration-card {
    min-height: 220px;
    padding: 30px;
    border: 0;
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--oryo-shadow);
    text-align: center;
    transition: transform .35s ease, box-shadow .35s ease, background .35s ease, color .35s ease;
}
.oryo-landing #modulos .landing-module-grid article:nth-child(odd) { margin-top: 30px; }
.oryo-landing #modulos .landing-module-grid article > span {
    width: 60px;
    height: 60px;
    display: grid;
    place-items: center;
    margin: 0 auto;
    border-radius: 50%;
    background: var(--oryo-primary-soft);
    color: var(--oryo-primary);
    font-size: 1.65rem;
    transition: inherit;
}
.oryo-landing #modulos .landing-module-grid h3 {
    margin: 22px 0 8px;
    font-size: .92rem;
    font-weight: 650;
}
.oryo-landing #modulos .landing-module-grid p {
    margin: 0;
    color: var(--oryo-muted);
    font-size: .68rem;
    line-height: 1.7;
    transition: inherit;
}
.oryo-landing #modulos .landing-module-grid article:hover {
    transform: translateY(-6px);
    background: var(--oryo-primary);
    box-shadow: 0 9px 24px rgba(18, 168, 117, .25);
    color: #fff;
}
.oryo-landing #modulos .landing-module-grid article:nth-child(odd):hover { transform: translateY(24px); }
.oryo-landing #modulos .landing-module-grid article:hover > span { background: rgba(255,255,255,.14); color: #fff; }
.oryo-landing #modulos .landing-module-grid article:hover h3 { color: #fff; }
.oryo-landing #modulos .landing-module-grid article:hover p { color: rgba(255,255,255,.72); }

/* Operación conectada */
.oryo-landing .landing-connected-operation {
    position: relative;
    width: 100%;
    max-width: none;
    padding: 92px max(22px, calc((100% - 1140px) / 2)) 100px;
    background: var(--oryo-soft-alt);
}
.oryo-landing .landing-connected-operation .landing-section-heading { margin-bottom: 42px; }
.oryo-landing .landing-operation-scroll { border-radius: 18px; }
.oryo-landing .landing-operation-map {
    max-width: 1000px;
    margin: 0 auto;
    border-radius: 18px;
}
.oryo-landing .landing-operation-center {
    background: var(--oryo-primary);
    box-shadow: 0 9px 25px rgba(18,168,117,.18);
}
.oryo-landing .landing-operation-effect {
    border-color: #edf0ef;
    border-radius: 15px;
    box-shadow: none;
}
.oryo-landing .landing-operation-effect > span { background: var(--oryo-primary-soft); color: var(--oryo-primary); }
.oryo-landing .landing-optional-flow {
    max-width: 1000px;
    margin: 28px auto 0;
    border: 0;
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--oryo-shadow);
}
.oryo-landing .landing-mini-flow { border-color: #eef1ef; border-radius: 12px; }

/* Integraciones: composición Services de ORYO */
.oryo-landing .landing-integrations { padding-top: 100px; padding-bottom: 110px; }
.oryo-landing .landing-integration-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 24px;
}
.oryo-landing .landing-integration-card {
    min-height: 255px;
    align-items: center;
    cursor: pointer;
}
.oryo-landing .landing-integration-card-top {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
}
.oryo-landing .landing-integration-brand {
    min-height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.oryo-landing .landing-integration-brand img { max-width: 260px; max-height: 80px; object-fit: contain; padding: 7px 10px; border-radius: 9px; background: #fff; }
.oryo-landing .landing-integration-brand > span {
    width: 64px;
    height: 64px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: var(--oryo-primary);
    color: #fff;
    font-size: 1.65rem;
}
.oryo-landing .landing-integration-brand > strong { margin-left: 8px; font-size: .9rem; }
.oryo-landing .landing-integration-status {
    padding: 5px 9px;
    font-size: .53rem;
    border-radius: 999px;
}
.oryo-landing .landing-integration-type {
    margin-top: 13px;
    background: transparent;
    color: var(--oryo-primary);
    font-size: .55rem;
    letter-spacing: .07em;
}
.oryo-landing .landing-integration-card p {
    margin: 10px 0 0;
    color: var(--oryo-muted);
    text-align: center;
    font-size: .67rem;
    line-height: 1.7;
    transition: inherit;
}
.oryo-landing .landing-integration-more {
    justify-content: center;
    margin-top: auto;
    padding-top: 18px;
    color: var(--oryo-primary);
}
.oryo-landing .landing-integration-card:hover {
    transform: translateY(-6px);
    background: var(--oryo-primary);
    color: #fff;
    box-shadow: 0 10px 28px rgba(18,168,117,.25);
}
.oryo-landing .landing-integration-card:hover p,
.oryo-landing .landing-integration-card:hover .landing-integration-type,
.oryo-landing .landing-integration-card:hover .landing-integration-more { color: rgba(255,255,255,.82); }
.oryo-landing .landing-integration-card:hover .landing-integration-status { background: rgba(255,255,255,.14); color: #fff; }
.oryo-landing .landing-integration-card:hover .landing-integration-brand > span { background: rgba(255,255,255,.14); }

/* Modales de integración */
.oryo-landing .landing-integration-modal .modal-content { border-radius: 15px; border-color: #edf0ef; box-shadow: 0 20px 65px rgba(21,21,21,.15); }
.oryo-landing .landing-integration-modal .landing-integration-brand > span { width: 48px; height: 48px; font-size: 1.25rem; }

/* BizAI */
.oryo-landing .landing-smart-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 44px;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 58px 62px;
    border-radius: 18px;
    background: var(--oryo-dark);
    color: #fff;
    box-shadow: 0 12px 30px -18px rgba(0,0,0,.35);
}
.oryo-landing .landing-smart-copy h2 { margin: 0 0 14px; color: #fff; font-size: 1.85rem; letter-spacing: -.035em; }
.oryo-landing .landing-smart-copy p { margin: 0; color: rgba(255,255,255,.65); font-size: .72rem; line-height: 1.8; }
.oryo-landing .landing-smart-examples { display: grid; gap: 10px; }
.oryo-landing .landing-smart-examples span {
    display: block;
    padding: 13px 16px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    background: rgba(255,255,255,.055);
    color: rgba(255,255,255,.86);
    font-size: .65rem;
}

/* Hub SEO */
.oryo-landing .landing-seo-hub { padding-top: 95px !important; padding-bottom: 100px !important; }
.oryo-landing .landing-seo-hub-groups { gap: 20px; }
.oryo-landing .landing-seo-hub-groups > article {
    border: 0;
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--oryo-shadow);
}
.oryo-landing .landing-seo-hub-groups a { border-radius: 7px; background: #f8faf9; }
.oryo-landing .landing-seo-hub-groups a:hover { color: var(--oryo-primary); background: rgba(18,168,117,.08); transform: translateX(2px); }

/* Precio */
.oryo-landing .landing-pricing {
    width: 100%;
    max-width: none;
    display: grid;
    grid-template-columns: minmax(0, .88fr) minmax(420px, .72fr);
    gap: 72px;
    align-items: center;
    padding: 95px max(22px, calc((100% - 1140px) / 2));
    background: var(--oryo-soft-alt);
}
.oryo-landing .landing-pricing-copy { max-width: 420px;
    justify-self: center; }
.oryo-landing .landing-pricing-copy > span,
.oryo-landing .landing-pricing-copy h2,
.oryo-landing .landing-pricing-copy p { text-align: left; }
.oryo-landing .landing-price-card {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 500px;
    justify-self: end;
    padding: 34px;
    border: 0;
    border-radius: 15px;
    background: #fff;
    box-shadow: var(--oryo-shadow);
    max-width: 420px;
    justify-self: center;
}
.oryo-landing .landing-price-card::before {
    content: '';
    position: absolute;
    top: -54px;
    right: -54px;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: var(--oryo-primary-soft);
}
.oryo-landing .landing-price-card > span { color: var(--oryo-primary); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.oryo-landing .landing-price-card > div strong { color: var(--oryo-primary); }
.oryo-landing .landing-price-card ul { padding-left: 0; }
.oryo-landing .landing-price-card li { position: relative; padding: 9px 0; list-style: none; }
.oryo-landing .landing-price-card li::before { content: none; display: none; }

/* FAQ */
.oryo-landing .landing-faq { padding-top: 95px; padding-bottom: 100px; }
.oryo-landing .landing-faq-list { max-width: 880px; margin: 0 auto; }
.oryo-landing .landing-faq-list details {
    border: 0;
    border-bottom: 1px solid #ecefed;
    border-radius: 0;
    background: #fff;
    box-shadow: none;
}
.oryo-landing .landing-faq-list summary { padding: 19px 4px; font-size: .78rem; font-weight: 650; }
.oryo-landing .landing-faq-list details p { padding: 0 4px 18px; color: var(--oryo-muted); font-size: .7rem; line-height: 1.75; }

/* CTA final */
.oryo-landing .landing-final {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    margin-top: 20px;
    margin-bottom: 100px;
    padding: 48px 54px;
    border: 0;
    border-radius: 18px;
    background: #f2faf7;
    color: var(--oryo-ink);
    box-shadow: var(--oryo-shadow);
}
.oryo-landing .landing-final span { color: var(--oryo-primary); }
.oryo-landing .landing-final h2 { max-width: 760px; margin: 7px 0 0; color: var(--oryo-ink); font-size: clamp(1.45rem, 2.6vw, 2.2rem); }

/* Footer */
.oryo-landing .public-footer {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 76px max(22px, calc((100% - 1140px) / 2)) 64px;
    border-top: 0;
    background: var(--oryo-dark);
    color: #fff;
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    align-items: start;
    gap: 28px 56px;
}
.oryo-landing .public-footer .public-brand img { height: 31px; filter: brightness(0) invert(1); }
.oryo-landing .public-footer .public-footer-links { max-width: none; justify-content: flex-start; gap: 12px 24px; }
.oryo-landing .public-footer .public-footer-links a { color: #c9cfcc; font-size: .66rem; }
.oryo-landing .public-footer .public-footer-links a:hover { color: #fff; }
.oryo-landing .public-footer small { grid-column: 1 / -1; padding-top: 26px; border-top: 1px solid rgba(255,255,255,.12); color: #a9b1ad; }

/* Responsive */
@media (max-width: 1050px) {
    .oryo-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); gap: 40px; }
    .oryo-hero h1 { font-size: clamp(2.8rem, 6.2vw, 4.6rem); }
    .oryo-landing #modulos { gap: 38px; }
    .oryo-landing .landing-pricing { gap: 44px; }
}
@media (max-width: 900px) {
    .oryo-navbar { min-height: 72px; }
    .oryo-navbar-inner { min-height: 72px; }
    .oryo-nav-links { display: none; }
    .oryo-nav-actions { margin-left: auto; }
    .oryo-hero { min-height: 0; padding: 128px 0 86px; }
    .oryo-hero-grid { grid-template-columns: 1fr; }
    .oryo-hero-copy { max-width: 720px; }
    .oryo-hero-media { margin: 12px 0 0; max-width: 720px; }
    .oryo-proof-card { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .oryo-proof-card span:nth-child(4n) { border-right: 1px solid #eff1f0; }
    .oryo-proof-card span:nth-child(2n) { border-right: 0; }
    .oryo-proof-card span:nth-last-child(-n+4) { border-bottom: 1px solid #eff1f0; }
    .oryo-proof-card span:nth-last-child(-n+2) { border-bottom: 0; }
    .oryo-landing #modulos { grid-template-columns: 1fr; }
    .oryo-landing #modulos .landing-section-heading { max-width: 700px; text-align: center; margin: 0 auto 42px; }
    .oryo-landing .landing-integration-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .oryo-landing .landing-smart-section { grid-template-columns: 1fr; padding: 44px 38px; }
    .oryo-landing .landing-pricing { grid-template-columns: 1fr; }
    .oryo-landing .landing-price-card { justify-self: center; max-width: 420px; }
    .oryo-landing .public-footer { grid-template-columns: 1fr; }
    .oryo-landing .public-footer small { grid-column: 1; }
}
@media (max-width: 650px) {
    .oryo-container,
    .oryo-landing .landing-section,
    .oryo-landing .landing-smart-section,
    .oryo-landing .landing-final { width: min(100% - 26px, 1140px); }
    .oryo-navbar-inner { width: min(100% - 26px, 1140px); gap: 12px; }
    .oryo-brand img { height: 27px; max-width: 132px; }
    .oryo-login-link { display: none; }
    .oryo-nav-actions .btn { padding: 8px 13px; font-size: .59rem; }
    .oryo-hero { padding: 116px 0 70px; background: #f4fbf8; }
    .oryo-hero::before,
    .oryo-hero::after { display: none; }
    .oryo-hero-grid { gap: 34px; }
    .oryo-kicker { gap: 10px; margin-bottom: 24px; font-size: .58rem; }
    .oryo-kicker > span { width: 34px; flex-basis: 34px; }
    .oryo-hero h1 { font-size: clamp(2.35rem, 12vw, 3.55rem); }
    .oryo-hero h1 .oryo-outline { -webkit-text-stroke-width: 1.2px; }
    .oryo-hero-copy > p { margin-top: 22px; font-size: .76rem; }
    .oryo-hero-actions { margin-top: 24px; }
    .oryo-hero-actions .btn { width: 100%; text-align: center; }
    .oryo-proof { margin-top: -25px; }
    .oryo-proof-card span { min-height: 72px; font-size: .62rem; }
    .oryo-landing .landing-section { padding: 70px 0 78px; }
    .oryo-landing .landing-section-heading { margin-bottom: 36px; }
    .oryo-landing #modulos .landing-module-grid,
    .oryo-landing .landing-integration-grid { display: flex !important; overflow-x: auto; gap: 14px; padding: 0 2px 15px; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .oryo-landing #modulos .landing-module-grid::-webkit-scrollbar,
    .oryo-landing .landing-integration-grid::-webkit-scrollbar { display: none; }
    .oryo-landing #modulos .landing-module-grid article,
    .oryo-landing .landing-integration-card { flex: 0 0 min(82vw, 310px) !important; min-height: 225px !important; margin-top: 0 !important; scroll-snap-align: start; }
    .oryo-landing #modulos .landing-module-grid article:nth-child(odd):hover { transform: translateY(-6px); }
    .oryo-landing .landing-connected-operation { padding: 72px 13px 78px; }
    .oryo-landing .landing-optional-flow { padding: 22px 18px; }
    .oryo-landing .landing-smart-section { padding: 34px 22px; border-radius: 14px; }
    .oryo-landing .landing-smart-copy h2 { font-size: 1.5rem; }
    .oryo-landing .landing-pricing { padding: 72px 13px !important; }
    .oryo-landing .landing-price-card { padding: 25px 21px; }
    .oryo-landing .landing-final { align-items: flex-start; flex-direction: column; margin-bottom: 70px; padding: 30px 24px; }
    .oryo-landing .landing-final .btn { width: 100%; }
    .oryo-landing .public-footer { padding: 58px 18px 44px; }
}

/* v0.17.27 · impacto, stats, cita y círculos de marca */
.oryo-landing > section:not(.oryo-hero) {
    position: relative;
}
.oryo-landing > section:not(.oryo-hero)::after {
    content: '';
    position: absolute;
    z-index: 0;
    width: 190px;
    height: 190px;
    border-radius: 50%;
    background: rgba(18, 168, 117, .075);
    pointer-events: none;
}
.oryo-landing > section:not(.oryo-hero) > * {
    position: relative;
    z-index: 1;
}
.oryo-landing .oryo-impact::after { width: 150px; height: 150px; right: 8%; top: -22px; }
.oryo-landing #modulos::after { width: 220px; height: 220px; right: -95px; top: 84px; }
.oryo-landing .oryo-stats::after { width: 175px; height: 175px; left: 8%; bottom: -52px; }
.oryo-landing .landing-connected-operation::after { width: 240px; height: 240px; left: -125px; top: 28%; }
.oryo-landing .landing-integrations::after { width: 190px; height: 190px; right: -82px; top: 20%; }
.oryo-landing .landing-smart-section::after { width: 185px; height: 185px; right: 5%; bottom: -78px; background: rgba(18,168,117,.16); }
.oryo-landing .oryo-testimonial::after { width: 205px; height: 205px; left: -70px; top: 22%; }
.oryo-landing .landing-seo-hub::after { width: 230px; height: 230px; right: -105px; bottom: 15%; }
.oryo-landing .landing-pricing::after { width: 205px; height: 205px; left: 4%; top: -55px; }
.oryo-landing .landing-faq::after { width: 180px; height: 180px; right: -62px; top: 18%; }
.oryo-landing .landing-final::after { width: 150px; height: 150px; right: 22%; bottom: -72px; }

/* Franja contundente debajo del hero: información, no botones */
.oryo-impact {
    z-index: 2;
    margin-top: -46px;
    padding: 0 0 58px;
}
.oryo-impact-card {
    display: grid;
    grid-template-columns: minmax(330px, .9fr) minmax(0, 1.35fr);
    gap: 42px;
    align-items: center;
    min-height: 210px;
    padding: 38px 44px;
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at 104% -28%, rgba(18,168,117,.11) 0 145px, transparent 146px),
        radial-gradient(circle at -5% 122%, rgba(18,168,117,.07) 0 115px, transparent 116px),
        #fff;
    box-shadow: 0 8px 26px rgba(6, 11, 47, .075);
}
.oryo-impact-copy > span {
    display: block;
    margin-bottom: 11px;
    color: var(--oryo-primary);
    font-size: .66rem;
    font-weight: 750;
    letter-spacing: .1em;
}
.oryo-impact-copy h2 {
    margin: 0;
    color: var(--oryo-ink);
    font-size: clamp(1.8rem, 3.2vw, 2.7rem);
    line-height: 1.08;
    letter-spacing: -.045em;
    font-weight: 700;
}
.oryo-impact-copy h2 strong { color: var(--oryo-primary); font-weight: 700; }
.oryo-impact-results {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 28px;
}
.oryo-impact-results article {
    position: relative;
    padding-left: 18px;
}
.oryo-impact-results article::before {
    content: '';
    position: absolute;
    left: 0;
    top: 5px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--oryo-primary);
    box-shadow: 0 0 0 6px rgba(18,168,117,.09);
}
.oryo-impact-results strong {
    display: block;
    margin-bottom: 5px;
    color: var(--oryo-ink);
    font-size: .8rem;
    font-weight: 700;
}
.oryo-impact-results span {
    display: block;
    color: var(--oryo-muted);
    font-size: .67rem;
    line-height: 1.55;
}

/* Stats inspirados en ORYO, usando cifras reales del producto */
.oryo-stats {
    padding: 8px 0 90px;
}
.oryo-stats-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at 5% 120%, rgba(18,168,117,.075) 0 160px, transparent 161px),
        radial-gradient(circle at 72% -58%, rgba(18,168,117,.055) 0 130px, transparent 131px),
        #fff;
    box-shadow: 0 4px 18px rgba(6, 11, 47, .07);
}
.oryo-stats-card article {
    min-height: 205px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 34px 24px;
    text-align: center;
}
.oryo-stats-card article + article { border-left: 1px solid #edf0ef; }
.oryo-stats-card strong {
    display: block;
    color: var(--oryo-primary);
    font-size: clamp(3rem, 5.2vw, 4.25rem);
    line-height: .95;
    letter-spacing: -.055em;
    font-weight: 700;
}
.oryo-stats-card span {
    display: block;
    margin-top: 18px;
    color: var(--oryo-ink);
    font-size: 1rem;
    font-weight: 650;
}
.oryo-stats-card small {
    display: block;
    margin-top: 7px;
    color: var(--oryo-muted);
    font-size: .65rem;
    line-height: 1.45;
}

/* Sección de cita con la composición testimonial de ORYO, sin inventar un cliente */
.oryo-testimonial {
    width: min(980px, calc(100% - 44px)) !important;
    padding-top: 105px !important;
    padding-bottom: 120px !important;
    text-align: center;
}
.oryo-testimonial-heading > span {
    display: block;
    margin-bottom: 13px;
    color: var(--oryo-primary);
    font-size: .67rem;
    font-weight: 700;
    letter-spacing: .1em;
}
.oryo-testimonial-heading h2 {
    margin: 0;
    color: var(--oryo-ink);
    font-size: clamp(1.9rem, 3vw, 2.45rem);
    line-height: 1.15;
    letter-spacing: -.04em;
    font-weight: 650;
}
.oryo-testimonial-heading h2 span {
    color: transparent;
    -webkit-text-fill-color: transparent;
    -webkit-text-stroke: 1.2px var(--oryo-primary);
}
.oryo-testimonial-quote {
    max-width: 870px;
    margin: 48px auto 0;
}
.oryo-testimonial-quote > iconify-icon {
    display: inline-block;
    margin-bottom: 28px;
    color: var(--oryo-primary);
    font-size: 2.65rem;
}
.oryo-testimonial-quote > p {
    margin: 0 auto;
    color: #64646c;
    font-size: clamp(.94rem, 1.7vw, 1.12rem);
    line-height: 1.85;
    font-weight: 450;
}
.oryo-testimonial-author {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-top: 32px;
    text-align: left;
}
.oryo-testimonial-author img {
    width: 52px;
    height: 52px;
    padding: 9px;
    border-radius: 50%;
    object-fit: contain;
    background: rgba(18,168,117,.09);
}
.oryo-testimonial-author strong,
.oryo-testimonial-author span { display: block; }
.oryo-testimonial-author strong { color: var(--oryo-ink); font-size: .77rem; font-weight: 700; }
.oryo-testimonial-author span { margin-top: 3px; color: var(--oryo-muted); font-size: .62rem; }

@media (max-width: 900px) {
    .oryo-impact-card { grid-template-columns: 1fr; gap: 30px; }
    .oryo-impact-results { max-width: 720px; }
    .oryo-stats-card article { min-height: 180px; }
}

@media (max-width: 650px) {
    .oryo-landing > section:not(.oryo-hero)::after {
        width: 118px !important;
        height: 118px !important;
        opacity: .8;
    }
    .oryo-impact { margin-top: -22px; padding-bottom: 50px; }
    .oryo-impact-card {
        grid-template-columns: 1fr;
        gap: 26px;
        padding: 28px 22px;
        border-radius: 15px;
    }
    .oryo-impact-copy h2 { font-size: 2rem; }
    .oryo-impact-results { grid-template-columns: 1fr; gap: 17px; }
    .oryo-impact-results article { padding-left: 17px; }
    .oryo-stats { padding: 0 0 70px; }
    .oryo-stats-card { grid-template-columns: 1fr; }
    .oryo-stats-card article { min-height: 150px; padding: 28px 18px; }
    .oryo-stats-card article + article { border-left: 0; border-top: 1px solid #edf0ef; }
    .oryo-stats-card strong { font-size: 3rem; }
    .oryo-stats-card span { margin-top: 12px; font-size: .86rem; }
    .oryo-testimonial {
        width: min(100% - 26px, 980px) !important;
        padding-top: 78px !important;
        padding-bottom: 84px !important;
    }
    .oryo-testimonial-quote { margin-top: 34px; }
    .oryo-testimonial-quote > iconify-icon { margin-bottom: 20px; font-size: 2.1rem; }
    .oryo-testimonial-quote > p { font-size: .86rem; line-height: 1.75; }
    .oryo-testimonial-author { margin-top: 25px; }
    .oryo-testimonial-author img { width: 46px; height: 46px; }
}


/* v0.17.28 · prueba social al cierre de la landing */
.oryo-landing .landing-reviews {
    width: min(1120px, calc(100% - 44px));
    padding-top: 110px;
    padding-bottom: 58px;
}
.oryo-landing .landing-reviews::after {
    width: 225px;
    height: 225px;
    left: -92px;
    top: 16%;
}
.oryo-landing .landing-review-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
}
.oryo-landing .landing-review-card {
    display: flex;
    flex-direction: column;
    min-height: 330px;
    padding: 30px;
    border: 1px solid #edf1ef;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 6px 24px rgba(6, 11, 47, .055);
}
.oryo-landing .landing-review-card.is-featured {
    transform: translateY(-16px);
    background: linear-gradient(155deg, rgba(18,168,117,.075), #fff 42%);
    border-color: rgba(18,168,117,.18);
}
.oryo-landing .landing-review-quote {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
    border-radius: 50%;
    background: rgba(18,168,117,.1);
    color: var(--oryo-primary);
    font-size: 1.45rem;
}
.oryo-landing .landing-review-card > p {
    flex: 1;
    margin: 0;
    color: #555a58;
    font-size: .76rem;
    line-height: 1.85;
}
.oryo-landing .landing-review-author {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 28px;
    padding-top: 22px;
    border-top: 1px solid #edf1ef;
}
.oryo-landing .landing-review-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 46px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--oryo-primary);
    color: #fff;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .035em;
}
.oryo-landing .landing-review-author strong,
.oryo-landing .landing-review-author small {
    display: block;
}
.oryo-landing .landing-review-author strong {
    color: var(--oryo-ink);
    font-size: .76rem;
    font-weight: 700;
}
.oryo-landing .landing-review-author small {
    margin-top: 4px;
    color: var(--oryo-muted);
    font-size: .61rem;
    line-height: 1.4;
}

.oryo-landing .landing-social-stats {
    padding: 38px 0 105px;
}
.oryo-landing .landing-social-stats::after {
    width: 195px;
    height: 195px;
    right: 5%;
    bottom: -55px;
}
.oryo-landing .landing-social-stats-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
    border-radius: 18px;
    background:
        radial-gradient(circle at -2% 118%, rgba(18,168,117,.085) 0 145px, transparent 146px),
        radial-gradient(circle at 72% -68%, rgba(18,168,117,.06) 0 130px, transparent 131px),
        #fff;
    box-shadow: 0 7px 28px rgba(6, 11, 47, .07);
}
.oryo-landing .landing-social-stats-card article {
    display: flex;
    min-height: 215px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 36px 24px;
    text-align: center;
}
.oryo-landing .landing-social-stats-card article + article {
    border-left: 1px solid #edf0ef;
}
.oryo-landing .landing-social-stats-card strong {
    display: block;
    color: var(--oryo-primary);
    font-size: clamp(3rem, 5vw, 4.1rem);
    line-height: .95;
    letter-spacing: -.055em;
    font-weight: 700;
}
.oryo-landing .landing-social-stats-card strong span {
    margin-left: 3px;
    font-size: .55em;
    vertical-align: top;
}
.oryo-landing .landing-social-stats-card p {
    margin: 17px 0 0;
    color: var(--oryo-ink);
    font-size: 1rem;
    font-weight: 650;
}
.oryo-landing .landing-social-stats-card small {
    display: block;
    max-width: 220px;
    margin-top: 7px;
    color: var(--oryo-muted);
    font-size: .65rem;
    line-height: 1.45;
}

@media (max-width: 900px) {
    .oryo-landing .landing-review-grid { grid-template-columns: 1fr; max-width: 720px; margin: 0 auto; }
    .oryo-landing .landing-review-card { min-height: 0; }
    .oryo-landing .landing-review-card.is-featured { transform: none; }
    .oryo-landing .landing-social-stats-card article { min-height: 185px; }
}

@media (max-width: 650px) {
    .oryo-landing .landing-reviews {
        width: min(100% - 26px, 1120px);
        padding-top: 78px;
        padding-bottom: 42px;
    }
    .oryo-landing .landing-review-grid {
        display: flex;
        max-width: none;
        overflow-x: auto;
        gap: 14px;
        padding: 0 1px 14px;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }
    .oryo-landing .landing-review-grid::-webkit-scrollbar { display: none; }
    .oryo-landing .landing-review-card {
        flex: 0 0 min(84vw, 320px);
        padding: 25px 22px;
        scroll-snap-align: start;
    }
    .oryo-landing .landing-review-card > p { font-size: .72rem; }
    .oryo-landing .landing-social-stats { padding: 20px 13px 76px; }
    .oryo-landing .landing-social-stats-card { grid-template-columns: 1fr; }
    .oryo-landing .landing-social-stats-card article { min-height: 150px; padding: 28px 18px; }
    .oryo-landing .landing-social-stats-card article + article { border-left: 0; border-top: 1px solid #edf0ef; }
    .oryo-landing .landing-social-stats-card strong { font-size: 3rem; }
    .oryo-landing .landing-social-stats-card p { margin-top: 12px; font-size: .88rem; }
}

/* Hero de producto: imagen natural, sin relación de aspecto forzada */
.oryo-hero::before,
.oryo-hero::after,
.oryo-hero-media::before,
.oryo-hero-media::after {
    display: none;
}

.oryo-hero > .oryo-container {
    width: min(1260px, calc(100% - 44px));
}

.oryo-hero-grid {
    grid-template-columns: minmax(0, .84fr) minmax(0, 1fr);
    gap: clamp(24px, 3vw, 40px);
    align-items: start;
}

.oryo-hero-media {
    width: 100%;
    max-width: 100%;
    margin: 0;
    justify-self: start;
    align-self: start;
}

.oryo-hero-slider {
    display: block;
    width: fit-content;
    max-width: 100%;
    overflow: hidden;
    line-height: 0;
    border-radius: 10px;
    background: transparent;
    cursor: zoom-in;
}

.oryo-hero-slider img {
    display: none;
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: none;
    border: 0;
    border-radius: 10px;
    background: transparent;
    box-shadow: none;
    transform: scale(1);
    transition: transform .24s ease;
}

.oryo-hero-slider img.is-active {
    display: block;
    animation: oryoHeroImageIn .32s ease;
}

.oryo-hero-slider.is-zooming {
    cursor: zoom-out;
}

@keyframes oryoHeroImageIn {
    from { opacity: .35; }
    to { opacity: 1; }
}

.oryo-hero-slider-caption {
    display: flex;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    margin-top: 10px;
    color: #5f6865;
    font-size: .68rem;
    font-weight: 600;
    line-height: 1.4;
}

.oryo-hero-slider-caption::before {
    content: '';
    width: 8px;
    height: 8px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: rgba(18, 168, 117, .24);
    box-shadow: 0 0 0 5px rgba(18, 168, 117, .08);
}

.oryo-hero-slider-dots {
    display: flex;
    width: fit-content;
    gap: 7px;
    margin-top: 10px;
}

.oryo-hero-slider-dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #b9c8c2;
    transition: width .2s ease, background .2s ease;
}

.oryo-hero-slider-dots button.is-active {
    width: 20px;
    background: var(--oryo-primary);
}

@media (max-width: 980px) {
    .oryo-hero-grid {
        grid-template-columns: 1fr;
        gap: 26px;
    }
    .oryo-hero-media {
        margin: 0;
    }
}

@media (max-width: 650px) {
    .oryo-hero > .oryo-container {
        width: min(100% - 24px, 1260px);
    }
    .oryo-hero-slider-caption {
        margin-top: 8px;
        font-size: .62rem;
    }
    .oryo-hero-slider-dots {
        margin-top: 8px;
    }
}

/* v0.17.29 · testimonios dinámicos y acceso mobile */
.oryo-landing .landing-reviews-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 28px;
    margin-bottom: 38px;
}
.oryo-landing .landing-reviews-head .landing-section-heading { margin: 0; }
.oryo-landing .landing-review-controls { display: flex; flex: 0 0 auto; gap: 9px; }
.oryo-landing .landing-review-controls button {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    padding: 0;
    border: 1px solid #dce8e3;
    border-radius: 50%;
    background: #fff;
    color: var(--oryo-ink);
    font-size: 1rem;
    transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.oryo-landing .landing-review-controls button:hover {
    border-color: var(--oryo-primary);
    background: var(--oryo-primary);
    color: #fff;
    transform: translateY(-2px);
}
.oryo-landing .landing-review-viewport {
    overflow: hidden;
    padding: 22px 2px 26px;
    margin: -22px -2px -26px;
}
.oryo-landing .landing-review-track {
    display: flex;
    gap: 20px;
    will-change: transform;
    transition: transform .6s cubic-bezier(.22,.72,.3,1);
}
.oryo-landing .landing-review-track .landing-review-card {
    flex: 0 0 calc((100% - 40px) / 3);
    min-width: 0;
    transform: translateY(0) scale(.985);
    opacity: .88;
    transition: transform .45s ease, opacity .45s ease, border-color .45s ease, box-shadow .45s ease;
}
.oryo-landing .landing-review-track .landing-review-card.is-featured {
    transform: translateY(-16px) scale(1);
    opacity: 1;
    z-index: 2;
    background: linear-gradient(155deg, rgba(18,168,117,.075), #fff 42%);
    border-color: rgba(18,168,117,.22);
    box-shadow: 0 16px 38px rgba(6, 11, 47, .09);
}
.oryo-landing .landing-review-dots {
    display: flex;
    justify-content: center;
    gap: 7px;
    margin-top: 28px;
}
.oryo-landing .landing-review-dots button {
    width: 7px;
    height: 7px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: #cbd6d2;
    transition: width .2s ease, background .2s ease;
}
.oryo-landing .landing-review-dots button.is-active { width: 22px; background: var(--oryo-primary); }

@media (max-width: 980px) {
    .oryo-landing .landing-review-track .landing-review-card { flex-basis: calc((100% - 20px) / 2); }
}
@media (max-width: 650px) {
    .oryo-navbar-inner { gap: 7px; }
    .oryo-brand img { height: 25px; max-width: 118px; }
    .oryo-nav-actions { gap: 7px; }
    .oryo-login-link {
        display: inline-flex;
        min-height: 34px;
        align-items: center;
        justify-content: center;
        padding: 0 10px;
        border: 1px solid rgba(18,168,117,.28);
        border-radius: 9px;
        color: var(--oryo-primary);
        font-size: .56rem;
        font-weight: 700;
        white-space: nowrap;
    }
    .oryo-nav-actions .btn { min-height: 34px !important; padding: 7px 10px !important; font-size: .55rem !important; white-space: nowrap; }
    .oryo-landing .landing-reviews-head { align-items: flex-start; margin-bottom: 28px; }
    .oryo-landing .landing-review-controls { padding-top: 3px; }
    .oryo-landing .landing-review-controls button { width: 36px; height: 36px; }
    .oryo-landing .landing-review-viewport { padding: 16px 1px 20px; margin: -16px -1px -20px; }
    .oryo-landing .landing-review-track { gap: 14px; }
    .oryo-landing .landing-review-track .landing-review-card { flex-basis: 100%; }
    .oryo-landing .landing-review-track .landing-review-card.is-featured { transform: translateY(-7px); }
}
@media (max-width: 370px) {
    .oryo-brand img { height: 23px; max-width: 104px; }
    .oryo-login-link { padding: 0 8px; font-size: .52rem; }
    .oryo-nav-actions .btn { padding: 7px 8px !important; font-size: .51rem !important; }
}

@media (prefers-reduced-motion: reduce) {
    .oryo-hero-slider img,
    .oryo-landing .landing-review-track,
    .oryo-landing .landing-review-card { transition: none !important; }
}
.oryo-landing .landing-reviews-head .landing-section-heading { max-width: 760px; text-align: left; }
.oryo-landing .landing-reviews-head .landing-section-heading p { margin-left: 0; margin-right: 0; }
@media (max-width: 650px) {
    .oryo-landing .landing-reviews-head { gap: 14px; }
    .oryo-landing .landing-reviews-head .landing-section-heading { text-align: left; }
}





/* v0.17.40 · Hero centrado + selector horizontal de capturas */
.oryo-hero-media {
    align-self: center;
}

.oryo-hero-thumbs {
    width: 100%;
    max-width: 100%;
    margin-top: 12px;
}

.oryo-hero-thumbs.is-overflowing {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    align-items: center;
    gap: 8px;
}

.oryo-hero-thumbs-viewport {
    min-width: 0;
    overflow: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
}

.oryo-hero-thumbs-viewport::-webkit-scrollbar {
    display: none;
}

.oryo-hero-thumbs-track {
    display: flex;
    width: max-content;
    max-width: none;
    gap: 9px;
}

.oryo-hero-thumb {
    display: grid;
    width: 126px;
    flex: 0 0 126px;
    gap: 6px;
    padding: 6px;
    border: 1px solid #dfe8e4;
    border-radius: 9px;
    background: rgba(255, 255, 255, .7);
    color: #646d69;
    text-align: left;
    cursor: pointer;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.oryo-hero-thumb:hover {
    border-color: rgba(18, 168, 117, .45);
    background: #fff;
    transform: translateY(-1px);
}

.oryo-hero-thumb.is-active {
    border-color: var(--oryo-primary);
    background: #fff;
    box-shadow: 0 0 0 2px rgba(18, 168, 117, .1);
}

.oryo-hero-thumb img {
    display: block;
    width: 100%;
    height: 58px;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 5px;
    background: #f6faf8;
    box-shadow: none;
}

.oryo-hero-thumb span {
    display: block;
    overflow: hidden;
    color: inherit;
    font-size: .56rem;
    font-weight: 600;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.oryo-hero-thumbs-arrow {
    display: none;
    width: 34px;
    height: 34px;
    place-items: center;
    padding: 0;
    border: 1px solid #dfe8e4;
    border-radius: 50%;
    background: #fff;
    color: #27322e;
    cursor: pointer;
    transition: border-color .2s ease, color .2s ease, opacity .2s ease, transform .2s ease;
}

.oryo-hero-thumbs.is-overflowing .oryo-hero-thumbs-arrow {
    display: grid;
}

.oryo-hero-thumbs-arrow:hover:not(:disabled) {
    border-color: var(--oryo-primary);
    color: var(--oryo-primary);
    transform: translateY(-1px);
}

.oryo-hero-thumbs-arrow:disabled {
    opacity: .3;
    cursor: default;
}

.oryo-hero-thumbs-arrow iconify-icon {
    font-size: 1rem;
}

@media (max-width: 650px) {
    .oryo-hero-thumbs {
        margin-top: 10px;
    }

    .oryo-hero-thumbs.is-overflowing {
        grid-template-columns: 30px minmax(0, 1fr) 30px;
        gap: 6px;
    }

    .oryo-hero-thumbs-arrow {
        width: 30px;
        height: 30px;
    }

    .oryo-hero-thumb {
        width: 110px;
        flex-basis: 110px;
    }

    .oryo-hero-thumb img {
        height: 50px;
    }
}

/* v0.17.42 · Showcase completo de módulos */
.oryo-landing .landing-capabilities {
    width: min(1220px, calc(100% - 44px));
    padding-top: 100px;
    padding-bottom: 110px;
}
.oryo-landing .landing-capabilities .landing-section-heading {
    max-width: 820px;
    margin-bottom: 44px;
}
.oryo-landing .landing-capabilities-shell {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    align-items: start;
    gap: 28px;
}
.oryo-landing .landing-module-nav {
    position: sticky;
    top: 104px;
    display: flex;
    max-height: 650px;
    padding: 8px;
    overflow-x: hidden;
    overflow-y: auto;
    flex-direction: column;
    gap: 6px;
    border-radius: 18px;
    scrollbar-width: thin;
    scrollbar-color: rgba(18,168,117,.35) transparent;
}
.oryo-landing .landing-module-nav::-webkit-scrollbar { width: 6px; }
.oryo-landing .landing-module-nav::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(18,168,117,.28); }
.oryo-landing .landing-module-tab {
    display: grid;
    width: 100%;
    min-height: 62px;
    padding: 9px 11px;
    align-items: center;
    grid-template-columns: 38px minmax(0,1fr);
    gap: 10px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #222;
    text-align: left;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}
.oryo-landing .landing-module-tab > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    background: rgba(18,168,117,.09);
    color: var(--oryo-primary);
    font-size: 1.1rem;
    transition: inherit;
}
.oryo-landing .landing-module-tab div { min-width: 0; }
.oryo-landing .landing-module-tab small,
.oryo-landing .landing-module-tab strong { display: block; }
.oryo-landing .landing-module-tab small {
    margin-bottom: 2px;
    color: #89908d;
    font-size: .48rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.oryo-landing .landing-module-tab strong {
    overflow: hidden;
    font-size: .69rem;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.oryo-landing .landing-module-tab:hover { background: #f5faf8; transform: translateX(2px); }
.oryo-landing .landing-module-tab.is-active {
    background: var(--oryo-primary);
    color: #fff;
}
.oryo-landing .landing-module-tab.is-active > span { background: rgba(255,255,255,.15); color: #fff; }
.oryo-landing .landing-module-tab.is-active small { color: rgba(255,255,255,.68); }
.oryo-landing .landing-module-panels { min-width: 0; }
.oryo-landing .landing-module-panel {
    position: relative;
    min-height: 620px;
    padding: 36px;
    overflow: hidden;
    border: 1px solid #e7ece9;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(16,48,38,.07);
}
.oryo-landing .landing-module-panel[hidden] { display: none !important; }
.oryo-landing .landing-module-panel::after {
    content: '';
    position: absolute;
    top: -92px;
    right: -72px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: rgba(18,168,117,.055);
    pointer-events: none;
}
.oryo-landing .landing-module-panel-head {
    position: relative;
    z-index: 1;
    display: grid;
    max-width: 820px;
    margin-bottom: 30px;
    align-items: start;
    grid-template-columns: 58px minmax(0,1fr);
    gap: 18px;
}
.oryo-landing .landing-module-panel-icon {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border-radius: 15px;
    background: var(--oryo-primary);
    color: #fff;
    font-size: 1.55rem;
    box-shadow: 0 10px 24px rgba(18,168,117,.2);
}
.oryo-landing .landing-module-panel-head span {
    display: block;
    margin-bottom: 4px;
    color: var(--oryo-primary);
    font-size: .56rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.oryo-landing .landing-module-panel-head h3 {
    margin: 0 0 8px;
    color: #17171a;
    font-size: clamp(1.65rem, 2.6vw, 2.25rem);
    line-height: 1.08;
    letter-spacing: -.04em;
}
.oryo-landing .landing-module-panel-head p {
    max-width: 700px;
    margin: 0;
    color: #74747e;
    font-size: .75rem;
    line-height: 1.75;
}
.oryo-landing .landing-module-feature-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 10px 18px;
}
.oryo-landing .landing-module-feature {
    display: grid;
    min-width: 0;
    padding: 15px 0;
    align-items: start;
    grid-template-columns: 28px minmax(0,1fr);
    gap: 10px;
    border-bottom: 1px solid #edf1ef;
}
.oryo-landing .landing-module-feature > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    background: rgba(18,168,117,.09);
    color: var(--oryo-primary);
    font-size: .95rem;
}
.oryo-landing .landing-module-feature strong {
    display: block;
    margin-bottom: 3px;
    color: #252527;
    font-size: .72rem;
    font-weight: 650;
}
.oryo-landing .landing-module-feature p {
    margin: 0;
    color: #7b817f;
    font-size: .64rem;
    line-height: 1.58;
}

@media (max-width: 900px) {
    .oryo-landing .landing-capabilities-shell { grid-template-columns: 1fr; gap: 18px; }
    .oryo-landing .landing-module-nav {
        position: static;
        display: flex;
        max-height: none;
        padding: 6px;
        overflow-x: auto;
        overflow-y: hidden;
        flex-direction: row;
        gap: 6px;
        border-radius: 14px;
        scrollbar-width: none;
    }
    .oryo-landing .landing-module-nav::-webkit-scrollbar { display: none; }
    .oryo-landing .landing-module-tab {
        flex: 0 0 auto;
        width: auto;
        min-width: 150px;
        min-height: 54px;
        grid-template-columns: 34px auto;
    }
    .oryo-landing .landing-module-tab > span { width: 34px; height: 34px; }
    .oryo-landing .landing-module-tab:hover { transform: none; }
    .oryo-landing .landing-module-panel { min-height: 0; padding: 28px; border-radius: 18px; }
}

@media (max-width: 650px) {
    .oryo-landing .landing-capabilities { width: min(100% - 24px, 1220px); padding-top: 76px; padding-bottom: 82px; }
    .oryo-landing .landing-capabilities .landing-section-heading { margin-bottom: 28px; }
    .oryo-landing .landing-module-tab { min-width: 142px; padding: 8px 10px; }
    .oryo-landing .landing-module-tab strong { font-size: .64rem; }
    .oryo-landing .landing-module-panel { padding: 22px 18px; }
    .oryo-landing .landing-module-panel::after { width: 150px; height: 150px; top: -75px; right: -60px; }
    .oryo-landing .landing-module-panel-head { grid-template-columns: 46px minmax(0,1fr); gap: 13px; margin-bottom: 20px; }
    .oryo-landing .landing-module-panel-icon { width: 46px; height: 46px; border-radius: 12px; font-size: 1.25rem; }
    .oryo-landing .landing-module-panel-head h3 { font-size: 1.55rem; }
    .oryo-landing .landing-module-panel-head p { font-size: .7rem; }
    .oryo-landing .landing-module-feature-grid { grid-template-columns: 1fr; gap: 0; }
    .oryo-landing .landing-module-feature { padding: 13px 0; }
    .oryo-landing .landing-module-feature strong { font-size: .7rem; }
    .oryo-landing .landing-module-feature p { font-size: .63rem; }
}

/* v0.17.60 · El hero nunca puede exceder el viewport en mobile. */
@media (max-width: 650px) {
    .oryo-landing,
    .oryo-hero,
    .oryo-hero > .oryo-container,
    .oryo-hero-grid,
    .oryo-hero-media,
    .oryo-hero-slider,
    .oryo-hero-thumbs,
    .oryo-hero-thumbs-viewport {
        min-width: 0;
        max-width: 100%;
    }

    .oryo-hero {
        width: 100%;
        overflow-x: clip;
    }

    .oryo-hero > .oryo-container {
        width: calc(100% - 24px);
    }

    .oryo-hero-media,
    .oryo-hero-slider {
        width: 100%;
    }

    .oryo-hero-slider {
        box-sizing: border-box;
        overflow: hidden;
    }

    .oryo-hero-slider img,
    .oryo-hero-slider img.is-active {
        width: 100%;
        max-width: 100%;
        height: auto;
        object-fit: contain;
    }

    .oryo-hero-thumbs {
        box-sizing: border-box;
        overflow: hidden;
    }
}

.oryo-demo-link{color:#245247;text-decoration:none;font-size:12px;font-weight:650;white-space:nowrap}.oryo-demo-link:hover{color:#079f74}
@media(max-width:720px){.oryo-nav-actions .oryo-demo-link{display:none}}

/* v1.0.13 · Accesos principales visibles y legibles, también en mobile. */
.oryo-nav-actions{gap:10px}
.oryo-nav-actions .oryo-login-link,.oryo-nav-actions .oryo-demo-link,.oryo-nav-actions .btn{min-height:38px;padding:9px 14px;font-size:.74rem;font-weight:700;border-radius:10px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.oryo-nav-actions .oryo-login-link,.oryo-nav-actions .oryo-demo-link{border:1px solid rgba(18,168,117,.28);color:var(--oryo-primary);text-decoration:none}
.oryo-nav-actions .oryo-demo-link{background:rgba(18,168,117,.06)}
.oryo-nav-actions .oryo-login-link:hover,.oryo-nav-actions .oryo-demo-link:hover{background:rgba(18,168,117,.1);color:#07845f}
@media(max-width:720px){.oryo-nav-actions .oryo-demo-link{display:inline-flex!important}}
@media(max-width:650px){.oryo-nav-actions{gap:6px}.oryo-nav-actions .oryo-login-link,.oryo-nav-actions .oryo-demo-link,.oryo-nav-actions .btn{min-height:34px!important;padding:7px 9px!important;font-size:.61rem!important;border-radius:9px}}
@media(max-width:370px){.oryo-nav-actions{gap:4px}.oryo-nav-actions .oryo-login-link,.oryo-nav-actions .oryo-demo-link,.oryo-nav-actions .btn{padding:7px 6px!important;font-size:.7rem!important}}



/* Bizfera v1.0.37 · precios */
.oryo-landing .landing-price-card.is-featured { padding-top: 52px !important; }
.oryo-landing .landing-plan-featured {
    position: absolute;
    z-index: 3;
    top: 0;
    right: 0;
    left: 0;
    display: flex !important;
    height: 30px;
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    background: var(--oryo-primary);
    color: #fff;
    font-size: .55rem;
    font-weight: 800;
    letter-spacing: .055em;
    line-height: 1;
    text-transform: uppercase;
}
.oryo-landing .landing-price-card li { padding-left: 0 !important; }
.oryo-landing .landing-price-card li::before { content: none !important; display: none !important; }
@media (max-width: 650px) {
    .oryo-landing .landing-price-card.is-featured { padding-top: 48px !important; }
    .oryo-landing .landing-plan-featured { height: 28px; font-size: .52rem; }
}


/* Bizfera v1.0.69 · estructura real de planes: Gratis/Corporativo full width */
@media (min-width: 900px) {
    .oryo-landing .landing-pricing > .landing-plan-grid {
        grid-column: 1 / -1;
        width: 100%;
        max-width: 1140px;
        justify-self: center;
    }
    .oryo-landing .landing-pricing > .landing-plan-note {
        grid-column: 1 / -1;
        width: 100%;
    }
    .oryo-landing .landing-price-card.is-wide-plan {
        width: 100%;
        max-width: none !important;
        justify-self: stretch !important;
    }
}


/* v1.0.70 · Distribución comercial: Gratis/Inicial y luego Plus/Pro/Corporativo */
@media (min-width:900px){
  .oryo-landing .landing-pricing>.landing-plan-grid{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:14px!important;max-width:1140px!important;width:100%!important;margin-inline:auto!important}
  .oryo-landing .landing-plan-grid>.landing-price-card{display:flex!important;grid-column:auto!important;max-width:none!important;width:100%!important;justify-self:stretch!important;flex-direction:column!important}
  .oryo-landing .landing-plan-grid>.landing-price-card[data-plan-code="gratis"],.oryo-landing .landing-plan-grid>.landing-price-card[data-plan-code="inicial"]{grid-column:span 3!important}
  .oryo-landing .landing-plan-grid>.landing-price-card[data-plan-code="plus"],.oryo-landing .landing-plan-grid>.landing-price-card[data-plan-code="pro"],.oryo-landing .landing-plan-grid>.landing-price-card[data-plan-code="corporativo"]{grid-column:span 2!important}
}
@media (max-width:899.98px){.oryo-landing .landing-plan-grid>.landing-price-card{grid-column:auto!important;max-width:none!important;width:100%!important}}
