/* RIVEX color standard v1.0. Token definitions only; does not alter live UI. */
:root {
  --rivex-brand-ink: #1F2D3D;
  --rivex-brand-deep: #0F1E2A;
  --rivex-brand-slate: #2B3A4B;
  --rivex-brand-blue: #3F7FD6;
  --rivex-brand-highlight: #4FA3FF;
  --rivex-action: #2F6FC4;
  --rivex-action-hover: #255BA5;
  --rivex-action-active: #1E4D8A;
  --rivex-tint: #EFF5FD;
  --rivex-tint-strong: #DFEAF9;
  --rivex-page: #F4F6F8;
  --rivex-surface: #FFFFFF;
  --rivex-surface-subtle: #F9FAFB;
  --rivex-surface-hover: #EEF2F7;
  --rivex-border: #D9DEE5;
  --rivex-control-border: #69727D;
  --rivex-border-inverse: #3A4A5E;
  --rivex-text: #3A3F45;
  --rivex-text-muted: #69727D;
  --rivex-text-disabled: #9AA4B2;
  --rivex-text-inverse: #E6E9EE;
  --rivex-text-inverse-muted: #A0AAB6;
  --rivex-on-action: #FFFFFF;
  --rivex-disabled-surface: #E6E9EE;
  --rivex-success: #187947;
  --rivex-success-bg: #EFF8F1;
  --rivex-success-border: #9AD0AF;
  --rivex-warning: #8A5700;
  --rivex-warning-bg: #FFF7E6;
  --rivex-warning-border: #D9A84A;
  --rivex-error: #B42318;
  --rivex-error-bg: #FEF3F2;
  --rivex-whatsapp-identity: #25D366;
  --rivex-whatsapp-action: #187947;
  --rivex-whatsapp-hover: #126139;
  --rivex-whatsapp-active: #0E4D2D;
  --rivex-overlay: rgba(15,30,42,0.58);
  --rivex-shadow-soft: rgba(31,45,61,0.08);
  --rivex-shadow-raised: rgba(31,45,61,0.14);
  --rivex-border-on-dark: rgba(230,233,238,0.22);
  --rivex-transparent: transparent;
}

/* RIVEX typography v1.0: role tokens and opt-in classes; no live Elementor overrides. */
:root{--rivex-font-latin:"Inter", "Noto Sans", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;--rivex-font-arabic:"Noto Sans Arabic", Tahoma, "Arial", sans-serif;--rivex-font-family:var(--rivex-font-latin);--rivex-leading-body:1.65}
html{font-size:100%}
:root{--rivex-type-display:3.25rem;--rivex-weight-display:600;--rivex-leading-display:1.12}
:root{--rivex-type-h1:3rem;--rivex-weight-h1:600;--rivex-leading-h1:1.18}
:root{--rivex-type-h2:2rem;--rivex-weight-h2:600;--rivex-leading-h2:1.25}
:root{--rivex-type-h3:1.5rem;--rivex-weight-h3:600;--rivex-leading-h3:1.35}
:root{--rivex-type-card-title:1.25rem;--rivex-weight-card-title:600;--rivex-leading-card-title:1.4}
:root{--rivex-type-lead:1.25rem;--rivex-weight-lead:400;--rivex-leading-lead:1.55}
:root{--rivex-type-body:1rem;--rivex-weight-body:400;--rivex-leading-body:1.65}
:root{--rivex-type-spec:0.9375rem;--rivex-weight-spec:400;--rivex-leading-spec:1.6}
:root{--rivex-type-key-value:1.125rem;--rivex-weight-key-value:500;--rivex-leading-key-value:1.4}
:root{--rivex-type-label:0.875rem;--rivex-weight-label:500;--rivex-leading-label:1.5}
:root{--rivex-type-input:1rem;--rivex-weight-input:400;--rivex-leading-input:1.5}
:root{--rivex-type-button:0.9375rem;--rivex-weight-button:600;--rivex-leading-button:1.4}
:root{--rivex-type-nav:0.875rem;--rivex-weight-nav:500;--rivex-leading-nav:1.5}
:root{--rivex-type-meta:0.8125rem;--rivex-weight-meta:400;--rivex-leading-meta:1.6}
:root{--rivex-type-fine:0.75rem;--rivex-weight-fine:400;--rivex-leading-fine:1.6}

.rivex-typography{font-family:var(--rivex-font-family);font-size:var(--rivex-type-body);line-height:var(--rivex-leading-body);font-optical-sizing:auto;text-align:start;overflow-wrap:break-word}
.rivex-typography button,.rivex-typography input,.rivex-typography select,.rivex-typography textarea{font-family:inherit}
.rivex-type-display{font-family:var(--rivex-font-family);font-size:var(--rivex-type-display);font-weight:var(--rivex-weight-display);line-height:var(--rivex-leading-display);letter-spacing:normal;text-transform:none}
.rivex-type-h1{font-family:var(--rivex-font-family);font-size:var(--rivex-type-h1);font-weight:var(--rivex-weight-h1);line-height:var(--rivex-leading-h1);letter-spacing:normal;text-transform:none}
.rivex-type-h2{font-family:var(--rivex-font-family);font-size:var(--rivex-type-h2);font-weight:var(--rivex-weight-h2);line-height:var(--rivex-leading-h2);letter-spacing:normal;text-transform:none}
.rivex-type-h3{font-family:var(--rivex-font-family);font-size:var(--rivex-type-h3);font-weight:var(--rivex-weight-h3);line-height:var(--rivex-leading-h3);letter-spacing:normal;text-transform:none}
.rivex-type-card-title{font-family:var(--rivex-font-family);font-size:var(--rivex-type-card-title);font-weight:var(--rivex-weight-card-title);line-height:var(--rivex-leading-card-title);letter-spacing:normal;text-transform:none}
.rivex-type-lead{font-family:var(--rivex-font-family);font-size:var(--rivex-type-lead);font-weight:var(--rivex-weight-lead);line-height:var(--rivex-leading-lead);letter-spacing:normal;text-transform:none}
.rivex-type-body{font-family:var(--rivex-font-family);font-size:var(--rivex-type-body);font-weight:var(--rivex-weight-body);line-height:var(--rivex-leading-body);letter-spacing:normal;text-transform:none}
.rivex-type-spec{font-family:var(--rivex-font-family);font-size:var(--rivex-type-spec);font-weight:var(--rivex-weight-spec);line-height:var(--rivex-leading-spec);letter-spacing:normal;text-transform:none}
.rivex-type-key-value{font-family:var(--rivex-font-family);font-size:var(--rivex-type-key-value);font-weight:var(--rivex-weight-key-value);line-height:var(--rivex-leading-key-value);letter-spacing:normal;text-transform:none}
.rivex-type-label{font-family:var(--rivex-font-family);font-size:var(--rivex-type-label);font-weight:var(--rivex-weight-label);line-height:var(--rivex-leading-label);letter-spacing:normal;text-transform:none}
.rivex-type-input{font-family:var(--rivex-font-family);font-size:var(--rivex-type-input);font-weight:var(--rivex-weight-input);line-height:var(--rivex-leading-input);letter-spacing:normal;text-transform:none}
.rivex-type-button{font-family:var(--rivex-font-family);font-size:var(--rivex-type-button);font-weight:var(--rivex-weight-button);line-height:var(--rivex-leading-button);letter-spacing:normal;text-transform:none}
.rivex-type-nav{font-family:var(--rivex-font-family);font-size:var(--rivex-type-nav);font-weight:var(--rivex-weight-nav);line-height:var(--rivex-leading-nav);letter-spacing:normal;text-transform:none}
.rivex-type-meta{font-family:var(--rivex-font-family);font-size:var(--rivex-type-meta);font-weight:var(--rivex-weight-meta);line-height:var(--rivex-leading-meta);letter-spacing:normal;text-transform:none}
.rivex-type-fine{font-family:var(--rivex-font-family);font-size:var(--rivex-type-fine);font-weight:var(--rivex-weight-fine);line-height:var(--rivex-leading-fine);letter-spacing:normal;text-transform:none}

.rivex-type-display,.rivex-type-h1{letter-spacing:-.025em}.rivex-type-h2{letter-spacing:-.015em}
.rivex-number{font-variant-numeric:tabular-nums lining-nums}.rivex-ltr{direction:ltr;unicode-bidi:isolate;display:inline-block;font-family:var(--rivex-font-latin)}
:lang(en),:lang(fr),:lang(es),:lang(ru){--rivex-font-family:var(--rivex-font-latin)}
:lang(ar){--rivex-font-family:var(--rivex-font-arabic);--rivex-leading-body:1.8}
:lang(ar).rivex-typography,.rivex-typography :lang(ar){letter-spacing:normal;word-spacing:normal}
:lang(ar) .rivex-type-display,:lang(ar) .rivex-type-h1,:lang(ar) .rivex-type-h2,:lang(ar) .rivex-type-h3{letter-spacing:normal;line-height:1.5}
:lang(ar) .rivex-type-body,:lang(ar) .rivex-type-spec,:lang(ar) .rivex-type-meta,:lang(ar) .rivex-type-input{line-height:1.8}
:lang(zh){--rivex-font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif}
:lang(zh-TW){--rivex-font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}
:lang(ja){--rivex-font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
:lang(ko){--rivex-font-family:"Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",sans-serif}
:lang(zh) .rivex-type-h1,:lang(ja) .rivex-type-h1,:lang(ko) .rivex-type-h1{letter-spacing:normal}
@media(max-width:47.999rem){
:root{--rivex-type-display:2.25rem}
:root{--rivex-type-h1:2.125rem}
:root{--rivex-type-h2:1.625rem}
:root{--rivex-type-h3:1.25rem}
:root{--rivex-type-card-title:1.125rem}
:root{--rivex-type-lead:1.125rem}
}

/* Product visual-section variants: ordinary H2/body roles remain unchanged. */
:root{--rivex-type-h2-feature:3rem;--rivex-type-body-feature:1.125rem}
@media(min-width:37.5625rem) and (max-width:68.75rem){:root{--rivex-type-h2-feature:2.5rem}}
@media(max-width:37.5rem){:root{--rivex-type-h2-feature:2rem;--rivex-type-body-feature:1.0625rem}}

