/* OMNIA Blocks — estilos front + editor. Reutilizables (no dependen de tema).
   Namespace: .ob-*  ·  Paleta institucional PAAVAMEX. */
.ob{--cy:var(--ob-custom-accent,var(--ob-preset-accent,var(--od-accent,#729FA4)));--cyd:var(--ob-accent-dark,var(--od-accent-dark,#547D83));--nv:var(--ob-custom-heading,var(--ob-preset-heading,var(--od-ink,#182235)));--tx:var(--ob-custom-text,var(--ob-preset-text,var(--od-text,#4a5568)));--bg:var(--ob-soft-bg,var(--od-soft,#f6f8f8));--feat:var(--od-feature,#8FCD4A);
    font-family:var(--ob-font,var(--od-font,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif));color:var(--tx);line-height:var(--ob-line-height,var(--od-line-height,1.6));font-weight:var(--ob-font-weight,normal)}
.ob h1,.ob h2,.ob h3{color:var(--nv);line-height:1.2;margin:0 0 14px}
.ob h2{font-size:var(--ob-title-size,var(--od-heading-size,2em));margin-bottom:18px}
.ob-sec{padding:var(--ob-padding-top,var(--ob-default-pad-y,var(--od-section-space,54px))) var(--ob-padding-right,var(--od-gutter,20px)) var(--ob-padding-bottom,var(--ob-default-pad-y,var(--od-section-space,54px))) var(--ob-padding-left,var(--od-gutter,20px));max-width:var(--ob-max-width,var(--od-width,1100px));margin:0 auto}
.ob-lead{font-size:var(--ob-text-size,1.12em);max-width:820px;margin:0 0 28px;color:var(--ob-custom-text,var(--nv))}

/* ── Sistema visual compartido ── */
.ob-frame{position:relative;box-sizing:border-box;border:0 solid var(--ob-custom-border,transparent)}
.ob-frame *{box-sizing:border-box}
.ob-preset-clean{background:var(--ob-custom-bg,#fff);border-width:1px;--ob-soft-bg:#f8fafc}
.ob-preset-soft{background:var(--ob-custom-bg,#f4f7fa);border-width:1px;--ob-soft-bg:#fff}
.ob-preset-dark{background:var(--ob-custom-bg,#0f172a);border-width:1px;--ob-preset-heading:#fff;--ob-preset-text:#cbd5e1;--ob-soft-bg:#172033;--ob-preset-accent:#02c1ee}
.ob-preset-brand{background:linear-gradient(135deg,var(--ob-custom-bg,#0f2747),var(--ob-custom-bg-2,#008eb7));border-width:1px;--ob-preset-heading:#fff;--ob-preset-text:#e6f7fb;--ob-soft-bg:rgba(255,255,255,.1);--ob-preset-accent:#64ddf7}
.ob-preset-custom{background:linear-gradient(135deg,var(--ob-custom-bg,#fff),var(--ob-custom-bg-2,var(--ob-custom-bg,#fff)));border-width:1px}
.ob-preset-dark .ob-card,.ob-preset-dark .ob-feat,.ob-preset-dark .ob-tst-card,.ob-preset-dark .ob-team-card,.ob-preset-dark .ob-faq details,
.ob-preset-brand .ob-card,.ob-preset-brand .ob-feat,.ob-preset-brand .ob-tst-card,.ob-preset-brand .ob-team-card,.ob-preset-brand .ob-faq details{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.ob-preset-dark .ob-spec-wrap,.ob-preset-dark .ob-logo,.ob-preset-dark .ob-download,.ob-preset-dark .ob-project-card,
.ob-preset-brand .ob-spec-wrap,.ob-preset-brand .ob-logo,.ob-preset-brand .ob-download,.ob-preset-brand .ob-project-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.ob-preset-dark .ob-download-icon,.ob-preset-brand .ob-download-icon{background:rgba(255,255,255,.1)}
.ob-preset-dark .ob-card p,.ob-preset-dark .ob-feat p,.ob-preset-dark .ob-tst-card blockquote,.ob-preset-dark .ob-faq-a,
.ob-preset-brand .ob-card p,.ob-preset-brand .ob-feat p,.ob-preset-brand .ob-tst-card blockquote,.ob-preset-brand .ob-faq-a{color:var(--tx)}
.ob-width-narrow .ob-sec{max-width:760px}.ob-width-normal .ob-sec{max-width:1100px}.ob-width-wide .ob-sec{max-width:1320px}.ob-width-full .ob-sec{max-width:none}
.ob-width-narrow .ob-hero-in,.ob-width-narrow .ob-band-in{max-width:680px}.ob-width-wide .ob-hero-in,.ob-width-wide .ob-band-in{max-width:1080px}.ob-width-full .ob-hero-in,.ob-width-full .ob-band-in{max-width:none}
.ob-width-full{width:100vw;margin-left:calc(50% - 50vw)}
.ob-space-compact .ob-sec{padding-top:28px;padding-bottom:28px}.ob-space-compact .ob-hero,.ob-space-compact .ob-band{padding-top:38px;padding-bottom:38px}
.ob-space-comfortable .ob-sec{padding-top:72px;padding-bottom:72px}.ob-space-comfortable .ob-hero,.ob-space-comfortable .ob-band{padding-top:88px;padding-bottom:88px}
.ob-space-spacious .ob-sec{padding-top:104px;padding-bottom:104px}.ob-space-spacious .ob-hero,.ob-space-spacious .ob-band{padding-top:124px;padding-bottom:124px}
.ob-radius-none{border-radius:0}.ob-radius-medium{border-radius:12px;overflow:hidden}.ob-radius-large{border-radius:22px;overflow:hidden}.ob-radius-xl{border-radius:34px;overflow:hidden}
.ob-shadow-soft{box-shadow:0 10px 30px rgba(15,23,42,.08)}.ob-shadow-medium{box-shadow:0 18px 50px rgba(15,23,42,.14)}.ob-shadow-strong{box-shadow:0 28px 80px rgba(15,23,42,.22)}
.ob-gap-tight{--ob-gap:10px}.ob-gap-normal{--ob-gap:20px}.ob-gap-wide{--ob-gap:34px}

/* ── Botones (outline que se rellenan en hover) ── */
.ob-cta-row{display:flex;gap:14px;flex-wrap:wrap}
.ob-center{justify-content:center;text-align:center}
.ob-btn{display:inline-block;padding:14px 32px;border-radius:10px;font-weight:700;font-size:1.05em;letter-spacing:.2px;text-decoration:none;border:2px solid transparent;background:transparent;transition:all .25s ease;cursor:pointer}
.ob-btn .ob-ic{display:inline-block;margin:0 8px 0 0;font-size:1em;line-height:1}
.ob-btn:hover{transform:translateY(-3px)}
.ob-btn-cy{color:#fff;border-color:var(--cy)}
.ob-btn-cy:hover{background:var(--cy);color:#fff;box-shadow:0 10px 26px rgba(2,193,238,.40)}
.ob-btn-solid{background:var(--cy);color:#fff;border-color:var(--cy)}
.ob-btn-solid:hover{filter:brightness(1.08);color:#fff}
.ob-btn-wa{color:#fff;border-color:#25D366}
.ob-btn-wa:hover{background:#25D366;color:#fff;box-shadow:0 10px 26px rgba(37,211,102,.40)}
.ob-btn-white{color:#fff;border-color:#fff}
.ob-btn-white:hover{background:#fff;color:var(--nv)}
.ob-btn-light{color:var(--cyd);border-color:var(--cy)}
.ob-btn-light:hover{background:var(--cy);color:#fff;box-shadow:0 10px 26px rgba(2,193,238,.35)}
.ob-buttons{gap:var(--ob-button-gap,12px)}.ob-buttons .ob-btn{background:var(--ob-button-bg);color:var(--ob-button-text)}
.ob-buttons-small .ob-btn{padding:9px 16px;font-size:.9em}.ob-buttons-medium .ob-btn{padding:12px 22px;font-size:1em}.ob-buttons-large .ob-btn{padding:16px 30px;font-size:1.08em}
.ob-buttons-radius-none .ob-btn{border-radius:0}.ob-buttons-radius-small .ob-btn{border-radius:6px}.ob-buttons-radius-medium .ob-btn{border-radius:9px}.ob-buttons-radius-pill .ob-btn{border-radius:999px}
.ob-buttons.is-equal .ob-btn{flex:1 1 0;text-align:center}

/* ── HERO ── */
.ob-hero{color:var(--ob-custom-text,#fff);padding:var(--ob-padding-top,var(--od-section-space,72px)) var(--ob-padding-right,var(--od-gutter,20px)) var(--ob-padding-bottom,var(--od-section-space,72px)) var(--ob-padding-left,var(--od-gutter,20px));text-align:var(--ob-align,center)}
.ob-hero-in{max-width:var(--ob-max-width,820px);margin:0 auto}
.ob-hero h1{font-size:var(--ob-title-size,var(--od-hero-size,2.7em));margin-bottom:16px}
.ob-frame .ob .ob-hero h1{color:var(--ob-title-color,var(--ob-custom-heading,#fff))}
.ob-hero p{font-size:var(--ob-text-size,1.18em);margin:0 auto 30px;max-width:660px}
.ob-frame .ob .ob-hero p{color:var(--ob-body-color,var(--ob-custom-text,#e6eef6))}
.ob-eyebrow{display:inline-block;background:rgba(255,255,255,.16);color:var(--ob-eyebrow-color,#fff);font-weight:700;letter-spacing:.05em;text-transform:uppercase;font-size:.78em;padding:6px 14px;border-radius:20px;margin-bottom:18px}
.ob-hero-left{text-align:left}
.ob-hero-left .ob-hero-in{margin:0}
.ob-hero-left .ob-cta-row{justify-content:flex-start}

/* ── FEATURE GRID (íconos) ── */
.ob-feat-grid{display:grid;gap:var(--ob-gap,var(--od-gap,18px));margin-top:8px}
.ob-feat{background:var(--od-surface,#fff);border:1px solid var(--od-line,#e5e7eb);border-radius:var(--od-radius,14px);padding:var(--od-card-pad,24px) var(--od-card-pad,22px);text-align:left;box-shadow:0 1px 2px rgba(24,34,53,.03);transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.ob-feat:hover{border-color:color-mix(in srgb,var(--ob-icon-color,var(--cy)) 44%,#e5e7eb);box-shadow:0 10px 26px rgba(24,34,53,.08);transform:translateY(-2px)}
.ob-feat.plain{background:transparent;border:0;padding:14px}
.ob-feat .ob-ic{width:calc(var(--ob-icon-size,28px) + 22px);height:calc(var(--ob-icon-size,28px) + 22px);font-size:var(--ob-icon-size,28px);color:var(--ob-icon-color,var(--cy));background:var(--ob-icon-bg,rgba(114,159,164,.12));margin-bottom:16px;display:flex;align-items:center;justify-content:center;border-radius:12px}
.ob-feat.plain .ob-ic{background:transparent;width:auto;height:auto;justify-content:flex-start}
.ob-feat b{color:var(--nv);display:block;margin-bottom:4px;font-size:1.05em}
.ob-feat p{margin:0;font-size:.92em}

/* ── CARDS (tarjetas) ── */
.ob-cards{display:grid;gap:var(--ob-gap,var(--od-gap,22px));margin-top:8px}
.ob-card{background:var(--od-surface,#fff);border:1px solid var(--od-line,#e2e8f0);border-top:var(--od-card-top,4px) solid var(--cy);border-radius:var(--od-radius,14px);padding:var(--od-card-pad,28px) var(--od-card-pad,24px);box-shadow:var(--od-shadow,0 4px 14px rgba(0,0,0,.05));transition:transform .2s ease,box-shadow .2s ease}
.ob-card:hover{transform:translateY(var(--od-hover-lift,-5px));box-shadow:var(--od-hover-shadow,0 12px 28px rgba(0,0,0,.12))}
.ob-card.feat{border-top-color:var(--feat);box-shadow:0 8px 24px rgba(91,58,138,.15)}
.ob-card .ob-ic{font-size:2em;color:var(--cy);margin-bottom:12px;display:block}
.ob-card.feat .ob-ic{color:var(--feat)}
.ob-card-image{display:block;width:calc(100% + var(--od-card-pad,24px) + var(--od-card-pad,24px));max-width:none;height:190px;object-fit:cover;margin:calc(0px - var(--od-card-pad,28px)) calc(0px - var(--od-card-pad,24px)) 20px;border-radius:10px 10px 0 0}
.ob-card h3{font-size:1.3em}
.ob-card p{margin:0 0 14px}
.ob-tag{display:inline-block;background:var(--bg);color:var(--nv);font-size:.8em;font-weight:600;padding:6px 12px;border-radius:8px}
.ob-card-action{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid rgba(148,163,184,.24);color:var(--cyd);font-weight:800;text-decoration:none}

/* ── CTA BAND (franja) ── */
.ob-band{color:var(--ob-custom-text,#fff);text-align:var(--ob-align,center);padding:var(--ob-padding-top,var(--od-section-space,60px)) var(--ob-padding-right,var(--od-gutter,20px)) var(--ob-padding-bottom,var(--od-section-space,60px)) var(--ob-padding-left,var(--od-gutter,20px))}
.ob-band-in{max-width:var(--ob-max-width,720px);margin:0 auto}
.ob-band h2{color:var(--ob-custom-heading,#fff);font-size:var(--ob-title-size,var(--od-heading-size,2em))}
.ob-band p{font-size:var(--ob-text-size,1.12em);max-width:600px;margin:0 auto 26px;color:var(--ob-custom-text,#eafbff)}

/* ── FAQ (acordeón nativo) ── */
.ob-faq{max-width:900px;margin:0 auto}
.ob-faq details{background:var(--od-surface,#fff);border:1px solid var(--od-line,#e2e8f0);border-radius:var(--od-radius,10px);margin-bottom:12px;overflow:hidden}
.ob-faq summary{padding:18px 22px;font-weight:700;color:var(--nv);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px}
.ob-faq summary::-webkit-details-marker{display:none}
.ob-faq summary:after{content:"+";color:var(--cy);font-size:1.5em;font-weight:700;line-height:1;flex:0 0 auto}
.ob-faq details[open] summary{background:var(--cy);color:#fff}
.ob-faq details[open] summary:after{content:"\2013";color:#fff}
.ob-faq details .ob-faq-a{margin:0;padding:18px 22px;color:var(--tx)}

/* ── Utilidad: título/lead de sección ── */
.ob-sec-head{text-align:center;max-width:820px;margin:0 auto 30px}
.ob-sec-head .ob-lead{margin-left:auto;margin-right:auto}

/* ── HEADING ── */
.ob-heading .ob-h{margin:0 0 10px}
.ob-eyebrow-dark{background:rgba(2,193,238,.14);color:var(--cyd)}

/* ── ICON LIST (checklist) ── */
.ob-ilist{list-style:none;padding:0;margin:0;max-width:900px}
.ob-ilist li{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid #eef1f6;break-inside:avoid}
.ob-ilist li .ob-ic{color:var(--cy);font-size:1em;margin:2px 0 0;flex:0 0 auto}
.ob-ilist li span{color:var(--tx)}

/* ── STEPS (How-To) ── */
.ob-steps{counter-reset:obs;list-style:none;padding:0;margin:0;max-width:900px}
.ob-steps li{counter-increment:obs;position:relative;padding:4px 0 22px 56px;min-height:40px}
.ob-steps li:before{content:counter(obs);position:absolute;left:0;top:0;width:38px;height:38px;background:var(--cy);color:#fff;border-radius:50%;text-align:center;line-height:38px;font-weight:800;font-size:1.05em}
.ob-steps li:not(:last-child):after{content:"";position:absolute;left:18px;top:40px;bottom:6px;width:2px;background:#e2e8f0}
.ob-step-body b{color:var(--nv);display:block;margin-bottom:3px;font-size:1.05em}
.ob-step-body p{margin:0}

/* ── COUNTER (estadísticas) ── */
.ob-counter{display:grid;gap:var(--ob-gap,var(--od-gap,20px));text-align:center;margin-top:8px}
.ob-stat-num{font-size:2.8em;font-weight:800;color:var(--nv);line-height:1}
.ob-stat-suf{color:var(--cy)}
.ob-stat-lbl{color:var(--tx);font-size:.95em;margin-top:6px;text-transform:uppercase;letter-spacing:.04em}

/* ── TESTIMONIALS ── */
.ob-tst{display:grid;gap:var(--ob-gap,var(--od-gap,20px));margin-top:8px}
.ob-tst-card{background:var(--od-surface,#fff);border:1px solid var(--od-line,#e2e8f0);border-radius:var(--od-radius,14px);padding:var(--od-card-pad,24px);margin:0;box-shadow:var(--od-shadow,0 4px 14px rgba(0,0,0,.05))}
.ob-tst-card blockquote{margin:0 0 14px;padding:0;border:0;font-style:italic;color:var(--tx);font-size:1.02em}
.ob-tst-card blockquote:before{content:"\201C";color:var(--cy);font-size:2.4em;line-height:0;vertical-align:-.35em;margin-right:4px}
.ob-tst-stars{color:#f59e0b;letter-spacing:.08em;margin-bottom:12px}
.ob-tst-card figcaption{display:flex;align-items:center;gap:11px}.ob-tst-card figcaption img{width:42px;height:42px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.ob-tst-card figcaption b{color:var(--nv);display:block}.ob-tst-card figcaption>span>span{display:block;color:#7a869a;font-size:.88em}

/* ── TEAM ── */
.ob-team{display:grid;gap:var(--ob-gap,var(--od-gap,20px));text-align:center;margin-top:8px}
.ob-team-card{background:var(--od-surface,#fff);border:1px solid var(--od-line,#e2e8f0);border-radius:var(--od-radius,14px);padding:var(--od-card-pad,22px) var(--od-card-pad,18px)}
.ob-team-ph{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 12px;display:block}
.ob-team-card b{color:var(--nv);display:block}
.ob-team-role{color:var(--cyd);font-size:.9em;font-weight:600;display:block;margin-bottom:8px}
.ob-team-card p{margin:0;font-size:.9em}

/* ── PRICE LIST ── */
.ob-plist{max-width:820px;margin:0 auto}
.ob-prow{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:14px 0;border-bottom:1px dashed #e2e8f0}
.ob-prow-l b{color:var(--nv);display:block}
.ob-prow-l span{color:#7a869a;font-size:.9em}
.ob-prow-p{color:var(--cyd);font-weight:800;font-size:1.15em;white-space:nowrap}

/* ── NOTICE (callout) ── */
.ob-notice{display:flex;gap:12px;align-items:flex-start;background:var(--bg);border-left:4px solid var(--cy);border-radius:8px;padding:16px 18px;color:var(--nv)}
.ob-notice-ic{font-size:1.3em;color:var(--cy);flex:0 0 auto}

/* ── PRODUCT SHOWCASE ── */
.ob-product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--ob-gap,46px);align-items:center}
.ob-product-media{position:relative;min-height:380px;background:var(--bg);border:1px solid rgba(148,163,184,.28);border-radius:20px;overflow:hidden}
.ob-product-media img{width:100%;height:100%;min-height:380px;display:block}
.ob-product-badge{position:absolute;z-index:2;top:16px;left:16px;background:var(--cy);color:#fff;font-size:.78em;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border-radius:999px;box-shadow:0 8px 20px rgba(15,23,42,.16)}
.ob-product-body h2{font-size:clamp(1.8em,3vw,2.7em)}
.ob-product-copy{font-size:1.06em;margin:0 0 22px}
.ob-product-features{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:10px}
.ob-product-features li{display:flex;align-items:flex-start;gap:10px;color:var(--tx)}
.ob-product-features .ob-ic{color:var(--cy);flex:0 0 auto;margin-top:2px}
.ob-product-right .ob-product-body{order:1}.ob-product-right .ob-product-media{order:2}

/* ── SPEC TABLE ── */
.ob-spec-wrap{overflow-x:auto;border:1px solid var(--od-line,rgba(148,163,184,.3));border-radius:var(--od-radius,14px);background:var(--od-surface,rgba(255,255,255,.7))}
.ob-spec{width:100%;border-collapse:collapse;min-width:520px;color:var(--tx)}
.ob-spec caption{text-align:left;padding:14px 18px;font-size:.9em;color:var(--tx);background:var(--bg)}
.ob-spec th,.ob-spec td{padding:16px 20px;text-align:left;border-bottom:1px solid rgba(148,163,184,.24);vertical-align:top}
.ob-spec tr:last-child th,.ob-spec tr:last-child td{border-bottom:0}
.ob-spec th{width:var(--ob-spec-label-width,38%);color:var(--nv);font-weight:700}.ob-spec td strong{color:var(--nv);font-weight:700}
.ob-spec td small{display:block;margin-top:3px;color:var(--tx);opacity:.78}
.ob-spec-striped tr:nth-child(even){background:rgba(148,163,184,.08)}
.ob-spec tr.is-highlight{background:rgba(2,193,238,.1)}

/* ── LOGO CLOUD ── */
.ob-logos{display:grid;gap:var(--ob-gap,var(--od-gap,18px));align-items:stretch}
.ob-logo{min-height:100px;display:flex;align-items:center;justify-content:center;padding:var(--ob-logo-padding,18px);background:var(--od-surface,rgba(255,255,255,.8));border:1px solid var(--od-line,rgba(148,163,184,.24));border-radius:var(--od-radius,12px);text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.ob-logo:hover{transform:translateY(-3px);border-color:var(--cy);box-shadow:0 10px 24px rgba(15,23,42,.09)}
.ob-logo img{display:block;max-width:100%;width:auto;max-height:var(--ob-logo-h,54px);object-fit:contain}
.ob-logo strong{color:var(--nv);text-align:center}
.ob-logos.is-gray img{filter:grayscale(1);opacity:.72;transition:filter .2s ease,opacity .2s ease}.ob-logos.is-gray .ob-logo:hover img{filter:none;opacity:1}

/* ── DOWNLOADS ── */
.ob-downloads{display:grid;gap:var(--ob-gap,var(--od-gap,16px))}
.ob-download{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;background:rgba(255,255,255,.82);border:1px solid rgba(148,163,184,.28);border-radius:14px;text-decoration:none;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.ob-download:hover{transform:translateY(-3px);border-color:var(--cy);box-shadow:0 12px 28px rgba(15,23,42,.1)}
.ob-download-icon{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:11px;background:var(--bg);color:var(--cy);font-size:1.2em}
.ob-download-icon .ob-ic{margin:0}.ob-download-body strong{display:block;color:var(--nv)}.ob-download-body small{display:block;color:var(--tx);margin-top:2px}
.ob-download-meta{font-size:.76em;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--cyd);white-space:nowrap}

/* ── PROJECT GRID ── */
.ob-projects{display:grid;gap:var(--ob-gap,var(--od-gap,22px))}
.ob-project-link{display:block;text-decoration:none;color:inherit}.ob-project-card{height:100%;overflow:hidden;background:rgba(255,255,255,.84);border:1px solid rgba(148,163,184,.28);border-radius:16px;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.ob-project-link:hover .ob-project-card,.ob-project-card:hover{transform:translateY(-5px);border-color:var(--cy);box-shadow:0 16px 38px rgba(15,23,42,.13)}
.ob-project-media{position:relative;overflow:hidden;background:var(--bg)}.ob-ratio-landscape{aspect-ratio:16/10}.ob-ratio-square{aspect-ratio:1}.ob-ratio-portrait{aspect-ratio:4/5}
.ob-project-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.ob-project-link:hover img{transform:scale(1.035)}
.ob-project-tag{position:absolute;left:14px;bottom:14px;background:rgba(15,23,42,.86);color:#fff;font-size:.76em;font-weight:800;padding:6px 10px;border-radius:999px;backdrop-filter:blur(8px)}
.ob-project-body{padding:20px}.ob-project-location{display:block;color:var(--cyd);font-size:.78em;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:6px}
.ob-project-body h3{font-size:1.22em;margin-bottom:8px}.ob-project-body p{margin:0;color:var(--tx)}

/* ── Utilidad alineación derecha ── */
.ob-right{justify-content:flex-end;text-align:right}

/* ── Editor: contorno suave para ubicar el bloque ── */
.editor-styles-wrapper .ob{outline:1px dashed #cbd5e1;outline-offset:4px}
.editor-styles-wrapper .ob-width-full{width:100%;margin-left:0}

/* Selector visual de íconos dentro del editor Gutenberg. */
.ob-icon-picker{margin:12px 0}.ob-icon-picker-head{display:flex;align-items:center;gap:8px}.ob-icon-current{display:flex!important;align-items:center;gap:9px;min-height:40px!important}.ob-icon-current i{font-size:18px;color:#547D83}
.ob-icon-picker-pop{margin-top:8px;padding:10px;border:1px solid #dcdcde;border-radius:10px;background:#fff;box-shadow:0 10px 26px rgba(24,34,53,.1)}
.ob-icon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:290px;overflow:auto;padding:2px}
.ob-icon-grid .components-button{height:66px;padding:7px 4px;display:flex;flex-direction:column;justify-content:center;gap:5px;border:1px solid #e5e7eb;border-radius:8px;color:#182235}
.ob-icon-grid .components-button:hover,.ob-icon-grid .components-button.is-selected{border-color:#729FA4;background:#f1f7f7;color:#547D83;box-shadow:inset 0 0 0 1px #729FA4}
.ob-icon-grid i{font-size:20px}.ob-icon-grid span{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;font-size:10px;text-align:center}.ob-icon-empty{font-size:12px;color:#757575}
.ob-palette-control{margin:16px 0}.ob-palette-control>strong{display:block;margin-bottom:8px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#50575e}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .ob-hero h1{font-size:var(--ob-title-size,var(--od-hero-size,2.05em))}
  .ob-hero p{font-size:var(--ob-text-size,1.05em)}
  .ob-feat-grid{grid-template-columns:repeat(2,1fr)!important}
  .ob-cards{grid-template-columns:1fr!important}
  .ob-product{grid-template-columns:1fr}.ob-product-right .ob-product-body,.ob-product-right .ob-product-media{order:initial}
  .ob-logos{grid-template-columns:repeat(3,1fr)!important}
  .ob-downloads{grid-template-columns:1fr!important}
  .ob-projects{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:640px){.ob-buttons.is-full-mobile{display:grid}.ob-buttons.is-full-mobile .ob-btn{width:100%;text-align:center}}
@media(max-width:520px){
  .ob-feat-grid{grid-template-columns:1fr!important}
  .ob-btn{width:100%;text-align:center}
  .ob-product-media,.ob-product-media img{min-height:260px}
  .ob-logos{grid-template-columns:repeat(2,1fr)!important}
  .ob-projects{grid-template-columns:1fr!important}
  .ob-download{grid-template-columns:auto minmax(0,1fr)}.ob-download-meta{grid-column:2}
}

/* OMN-87: explicit layout overrides are scoped to the existing design frame. */
.ob-width-normal .ob-hero-in,.ob-width-normal .ob-band-in{max-width:1100px}
.ob-custom-design-max-width .ob-sec,.ob-custom-design-max-width .ob-hero-in,.ob-custom-design-max-width .ob-band-in{max-width:var(--ob-max-width)}
.ob-custom-design-text-size .ob p,.ob-custom-design-text-size .ob-lead{font-size:var(--ob-text-size)}
.ob-custom-design-title-size .ob h1,.ob-custom-design-title-size .ob h2,.ob-custom-design-title-size .ob h3{font-size:var(--ob-title-size)}
.ob-custom-design-line-height .ob h1,.ob-custom-design-line-height .ob h2,.ob-custom-design-line-height .ob h3,.ob-custom-design-line-height .ob p{line-height:var(--ob-line-height)}
.ob-custom-design-weight .ob h1,.ob-custom-design-weight .ob h2,.ob-custom-design-weight .ob h3,.ob-custom-design-weight .ob p{font-weight:var(--ob-font-weight)}
.ob-custom-padding .ob-sec,.ob-custom-padding .ob-hero,.ob-custom-padding .ob-band{padding:var(--ob-padding-top,0) var(--ob-padding-right,0) var(--ob-padding-bottom,0) var(--ob-padding-left,0)}
.ob-custom-align .ob-feat,.ob-custom-align .ob-card,.ob-custom-align .ob-heading,.ob-custom-align .ob-sec-head{text-align:var(--ob-align)}
.ob-align-center .ob-feat .ob-ic,.ob-align-center .ob-card-image{margin-left:auto;margin-right:auto}
.ob-align-right .ob-feat .ob-ic,.ob-align-right .ob-card-image{margin-left:auto;margin-right:0}
.ob-align-left .ob-cta-row{justify-content:flex-start}.ob-align-center .ob-cta-row{justify-content:center}.ob-align-right .ob-cta-row{justify-content:flex-end}
.ob-feat .ob-btn{margin-top:16px}.ob-logo:focus-visible,.ob-btn:focus-visible{outline:3px solid var(--cy);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.ob-frame *{transition:none!important;animation:none!important}}

/* OMN-87: per-role custom declarations are opt-in, preserving published defaults. */
.ob-role-title-font .ob h1,.ob-role-title-font .ob h2,.ob-role-title-font .ob h3{font-family:var(--ob-title-font)}
.ob-role-title-size .ob h1,.ob-role-title-size .ob h2,.ob-role-title-size .ob h3{font-size:var(--ob-title-size)}
.ob-role-title-weight .ob h1,.ob-role-title-weight .ob h2,.ob-role-title-weight .ob h3{font-weight:var(--ob-title-weight)}
.ob-role-title-line .ob h1,.ob-role-title-line .ob h2,.ob-role-title-line .ob h3{line-height:var(--ob-title-line)}
.ob-role-title-letter .ob h1,.ob-role-title-letter .ob h2,.ob-role-title-letter .ob h3{letter-spacing:var(--ob-title-letter)}
.ob-role-title-color .ob h1,.ob-role-title-color .ob h2,.ob-role-title-color .ob h3{color:var(--ob-title-color)}
.ob-role-title-transform .ob h1,.ob-role-title-transform .ob h2,.ob-role-title-transform .ob h3{text-transform:var(--ob-title-transform)}
.ob-role-body-font .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-font .ob li{font-family:var(--ob-body-font)}
.ob-role-body-size .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-size .ob li{font-size:var(--ob-body-size)}
.ob-role-body-weight .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-weight .ob li{font-weight:var(--ob-body-weight)}
.ob-role-body-line .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-line .ob li{line-height:var(--ob-body-line)}
.ob-role-body-letter .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-letter .ob li{letter-spacing:var(--ob-body-letter)}
.ob-role-body-color .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-color .ob li{color:var(--ob-body-color)}
.ob-role-body-transform .ob p:not(.ob-lead):not(.ob-heading p),.ob-role-body-transform .ob li{text-transform:var(--ob-body-transform)}
.ob-role-subtitle-font .ob-lead,.ob-role-subtitle-font .ob-heading p{font-family:var(--ob-subtitle-font)}
.ob-role-subtitle-size .ob-lead,.ob-role-subtitle-size .ob-heading p{font-size:var(--ob-subtitle-size)}
.ob-role-subtitle-weight .ob-lead,.ob-role-subtitle-weight .ob-heading p{font-weight:var(--ob-subtitle-weight)}
.ob-role-subtitle-line .ob-lead,.ob-role-subtitle-line .ob-heading p{line-height:var(--ob-subtitle-line)}
.ob-role-subtitle-letter .ob-lead,.ob-role-subtitle-letter .ob-heading p{letter-spacing:var(--ob-subtitle-letter)}
.ob-role-subtitle-color .ob-lead,.ob-role-subtitle-color .ob-heading p{color:var(--ob-subtitle-color)}
.ob-role-subtitle-transform .ob-lead,.ob-role-subtitle-transform .ob-heading p{text-transform:var(--ob-subtitle-transform)}
.ob-role-button-font .ob-btn,.ob-role-button-font .ob-card-action{font-family:var(--ob-button-font)}
.ob-role-button-size .ob-btn,.ob-role-button-size .ob-card-action{font-size:var(--ob-button-size)}
.ob-role-button-weight .ob-btn,.ob-role-button-weight .ob-card-action{font-weight:var(--ob-button-weight)}
.ob-role-button-line .ob-btn,.ob-role-button-line .ob-card-action{line-height:var(--ob-button-line)}
.ob-role-button-letter .ob-btn,.ob-role-button-letter .ob-card-action{letter-spacing:var(--ob-button-letter)}
.ob-role-button-color .ob-btn,.ob-role-button-color .ob-card-action{color:var(--ob-button-color)}
.ob-role-button-transform .ob-btn,.ob-role-button-transform .ob-card-action{text-transform:var(--ob-button-transform)}
.ob-custom-border{border-width:var(--ob-border-width,0);border-style:var(--ob-border-style,solid);border-color:var(--ob-border-color,currentColor);border-radius:var(--ob-border-radius,0);overflow:hidden}
.ob-custom-shadow{box-shadow:var(--ob-shadow-x,0px) var(--ob-shadow-y,8px) var(--ob-shadow-blur,24px) var(--ob-shadow-spread,0px) color-mix(in srgb,var(--ob-shadow-color,#182235) var(--ob-shadow-opacity,20%),transparent)}
.ob-custom-background>.ob>section,.ob-custom-background>.ob>.ob-sec{background-image:var(--ob-background-image);background-size:var(--ob-background-fit,cover);background-position:var(--ob-background-position,center);background-repeat:no-repeat}
.ob-device-spacing{margin-top:var(--ob-desktop-margin-top,0px);margin-right:var(--ob-desktop-margin-right,0px);margin-bottom:var(--ob-desktop-margin-bottom,0px);margin-left:var(--ob-desktop-margin-left,0px);}
.ob-device-spacing .ob-sec,.ob-device-spacing .ob-hero,.ob-device-spacing .ob-band{padding-top:var(--ob-desktop-padding-top,var(--ob-padding-top,var(--ob-default-pad-y,var(--od-section-space,54px))));padding-right:var(--ob-desktop-padding-right,var(--ob-padding-right, 20px));padding-bottom:var(--ob-desktop-padding-bottom,var(--ob-padding-bottom,var(--ob-default-pad-y,var(--od-section-space,54px))));padding-left:var(--ob-desktop-padding-left,var(--ob-padding-left, 20px));}
@media(max-width:900px){
.ob-device-spacing{margin-top:var(--ob-tablet-margin-top,var(--ob-desktop-margin-top,0px));margin-right:var(--ob-tablet-margin-right,var(--ob-desktop-margin-right,0px));margin-bottom:var(--ob-tablet-margin-bottom,var(--ob-desktop-margin-bottom,0px));margin-left:var(--ob-tablet-margin-left,var(--ob-desktop-margin-left,0px));}
.ob-device-spacing .ob-sec,.ob-device-spacing .ob-hero,.ob-device-spacing .ob-band{padding-top:var(--ob-tablet-padding-top,var(--ob-desktop-padding-top,var(--ob-padding-top,var(--ob-default-pad-y,var(--od-section-space,54px)))));padding-right:var(--ob-tablet-padding-right,var(--ob-desktop-padding-right,var(--ob-padding-right, 20px)));padding-bottom:var(--ob-tablet-padding-bottom,var(--ob-desktop-padding-bottom,var(--ob-padding-bottom,var(--ob-default-pad-y,var(--od-section-space,54px)))));padding-left:var(--ob-tablet-padding-left,var(--ob-desktop-padding-left,var(--ob-padding-left, 20px)));}
}
@media(max-width:520px){
.ob-device-spacing{margin-top:var(--ob-mobile-margin-top,var(--ob-tablet-margin-top,var(--ob-desktop-margin-top,0px)));margin-right:var(--ob-mobile-margin-right,var(--ob-tablet-margin-right,var(--ob-desktop-margin-right,0px)));margin-bottom:var(--ob-mobile-margin-bottom,var(--ob-tablet-margin-bottom,var(--ob-desktop-margin-bottom,0px)));margin-left:var(--ob-mobile-margin-left,var(--ob-tablet-margin-left,var(--ob-desktop-margin-left,0px)));}
.ob-device-spacing .ob-sec,.ob-device-spacing .ob-hero,.ob-device-spacing .ob-band{padding-top:var(--ob-mobile-padding-top,var(--ob-tablet-padding-top,var(--ob-desktop-padding-top,var(--ob-padding-top,var(--ob-default-pad-y,var(--od-section-space,54px))))));padding-right:var(--ob-mobile-padding-right,var(--ob-tablet-padding-right,var(--ob-desktop-padding-right,var(--ob-padding-right, 20px))));padding-bottom:var(--ob-mobile-padding-bottom,var(--ob-tablet-padding-bottom,var(--ob-desktop-padding-bottom,var(--ob-padding-bottom,var(--ob-default-pad-y,var(--od-section-space,54px))))));padding-left:var(--ob-mobile-padding-left,var(--ob-tablet-padding-left,var(--ob-desktop-padding-left,var(--ob-padding-left, 20px))));}
}
@media(min-width:901px){.ob-hide-desktop:not(.editor-styles-wrapper *){display:none}}
@media(min-width:521px) and (max-width:900px){.ob-hide-tablet:not(.editor-styles-wrapper *){display:none}}
@media(max-width:520px){.ob-hide-mobile:not(.editor-styles-wrapper *){display:none}}
.ob-animation-fade{animation:ob-enter-fade .5s ease both}.ob-animation-rise{animation:ob-enter-rise .5s ease both}
@keyframes ob-enter-fade{from{opacity:0}to{opacity:1}}@keyframes ob-enter-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.ob-animation-fade,.ob-animation-rise{animation:none}}

.ob-hero{--ob-default-pad-y:72px}.ob-band{--ob-default-pad-y:60px}
.ob-space-compact .ob-sec{--ob-default-pad-y:28px}.ob-space-compact .ob-hero,.ob-space-compact .ob-band{--ob-default-pad-y:38px}
.ob-space-comfortable .ob-sec{--ob-default-pad-y:72px}.ob-space-comfortable .ob-hero,.ob-space-comfortable .ob-band{--ob-default-pad-y:88px}
.ob-space-spacious .ob-sec{--ob-default-pad-y:104px}.ob-space-spacious .ob-hero,.ob-space-spacious .ob-band{--ob-default-pad-y:124px}

/* Preserve the historical paragraph measure until an explicit width is selected. */
.ob-width-narrow .ob-hero p,.ob-width-normal .ob-hero p,.ob-width-wide .ob-hero p,.ob-width-full .ob-hero p,.ob-custom-design-max-width .ob-hero p{max-width:100%}
.ob-custom-align .ob-hero{text-align:var(--ob-align)}

/* OMN-96: scoped element controls preserve untouched legacy block styles. */
.ob-icon-picker-modal{width:min(900px,92vw)}
.ob-icon-picker-modal .ob-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;max-height:55vh;overflow:auto;padding:8px}
.ob-icon-picker-modal .ob-icon-grid button{height:auto;min-height:84px;display:flex;flex-direction:column;gap:10px;white-space:normal;padding:12px}
.ob-icon-picker-modal .ob-icon-grid i{font-size:24px}
.ob-icon-pagination{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid #dcdcde}
.ob-icon-pagination span{margin-right:auto}
.ob-link-field{margin-bottom:16px}.ob-link-field .block-editor-link-control{min-width:0;max-width:100%}
.ob-spec-editor{overflow:auto}.ob-spec-editor table{width:100%;border-collapse:collapse;min-width:530px}
.ob-spec-editor th,.ob-spec-editor td{padding:8px;border-bottom:1px solid #dcdcde;text-align:left;vertical-align:top}
.ob-spec-editor td .components-base-control{margin:0}.ob-spec-editor input[type=file]{display:block;margin:12px 0}
.ob-has-button_background .ob-btn{background:var(--ob-button-background)}
.ob-has-button_border_color .ob-btn{border-color:var(--ob-button-border-color)}
.ob-has-button_border_width .ob-btn{border-width:var(--ob-button-border-width)}
.ob-has-button_radius .ob-btn{border-radius:var(--ob-button-radius)}
.ob-has-button_hover_background .ob-btn:is(:hover,:focus-visible){background:var(--ob-button-hover-background)}
.ob-has-button_hover_color .ob-btn:is(:hover,:focus-visible){color:var(--ob-button-hover-color)}
.ob-button_hover_effect-none .ob-btn:is(:hover,:focus-visible){transform:none}
.ob-button_hover_effect-lift .ob-btn:is(:hover,:focus-visible){transform:translateY(-3px)}
.ob-button_hover_effect-scale .ob-btn:is(:hover,:focus-visible){transform:scale(1.04)}
.ob-has-card_background :is(.ob-card,.ob-feat,.ob-tst-card){background:var(--ob-card-background)}
.ob-has-card_border_color :is(.ob-card,.ob-feat,.ob-tst-card){border-color:var(--ob-card-border-color)}
.ob-has-card_border_width :is(.ob-card,.ob-feat,.ob-tst-card){border-width:var(--ob-card-border-width);border-style:solid}
.ob-has-card_radius :is(.ob-card,.ob-feat,.ob-tst-card){border-radius:var(--ob-card-radius)}
.ob-has-card_padding :is(.ob-card,.ob-feat,.ob-tst-card){padding:var(--ob-card-padding)}
.ob-has-card_padding .ob-card-image{width:100%;margin:0 0 20px}
.ob-has-card_shadow :is(.ob-card,.ob-feat,.ob-tst-card){box-shadow:0 4px var(--ob-card-shadow) rgba(0,0,0,.16)}
.ob-step_shape-square .ob-steps li:before{border-radius:4px}
.ob-step_shape-star .ob-steps li:before{border-radius:0;clip-path:polygon(50% 0%,61% 32%,98% 35%,72% 58%,79% 94%,50% 75%,21% 94%,28% 58%,2% 35%,39% 32%);width:48px;height:48px;line-height:48px;left:-5px;top:-5px}
.ob-step-image{display:block;max-width:100%;width:320px;height:auto;max-height:240px;object-fit:contain;border-radius:8px;margin:0 0 16px}
.ob-testimonial_animation-fade .ob-tst-card{animation:ob-enter-fade .6s ease both}
.ob-testimonial_animation-hover .ob-tst-card{transition:transform .2s ease,box-shadow .2s ease}
.ob-testimonial_animation-hover .ob-tst-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.12)}
:is(.ob-background-fade-left,.ob-background-fade-center,.ob-background-fade-right)>.ob>section{position:relative;isolation:isolate}
:is(.ob-background-fade-left,.ob-background-fade-center,.ob-background-fade-right)>.ob>section:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;pointer-events:none}
.ob-background-fade-left>.ob>section:before{background:linear-gradient(90deg,var(--ob-custom-bg,#182235),transparent)}
.ob-background-fade-right>.ob>section:before{background:linear-gradient(270deg,var(--ob-custom-bg,#182235),transparent)}
.ob-background-fade-center>.ob>section:before{background:linear-gradient(90deg,var(--ob-custom-bg,#182235),transparent 50%,var(--ob-custom-bg,#182235))}
@media(prefers-reduced-motion:reduce){.ob-frame .ob-btn,.ob-frame .ob-tst-card{animation:none!important;transition:none!important;transform:none!important}}

/* Optional heading icon inherits the same text alignment as its heading. */
.ob-heading>.ob-ic{display:inline-block;font-size:2em;color:var(--cy);margin-bottom:14px}
