/* Native Elementor documents retain their identity; semantic children use source geometry. */
.rivan-site > .rivan-document { display: contents; }
.rivan-site { --e-global-color-primary:#071d28; --e-global-color-secondary:#8bc53f; --e-global-color-text:#10232c; --e-global-color-accent:#4e8a12; }
.rivan-site a { text-decoration: none; }
.rivan-site [hidden] { display: none !important; }
.rivan-site .elementor-element { --widgets-spacing:0; }
.rivan-site .rivan-button { cursor:pointer; }
/* Page headings and their contrast overlays follow the reading direction. */
.rivan-site .spec dl div{font-size:14px}
.rivan-site :is(.hero-content,.page-hero>.shell,.quote-intro>.shell){text-align:start}
.rivan-site :is(.hero-content,.page-hero>.shell,.quote-intro>.shell) :is(h1,p){margin-inline-start:0;margin-inline-end:auto;text-align:start}
.rivan-site :is(.hero-content,.page-hero,.quote-intro) :is(.eyebrow,.breadcrumb,.button-row){justify-content:flex-start}
html[dir=rtl] .rivan-site .hero-overlay{background:linear-gradient(270deg,rgba(4,22,31,.92) 0%,rgba(4,22,31,.68) 45%,rgba(4,22,31,.12) 78%),linear-gradient(0deg,rgba(4,22,31,.5),transparent 50%)}
html[dir=rtl] .rivan-site .page-hero-shade{background:linear-gradient(270deg,rgba(4,22,31,.92) 0%,rgba(4,22,31,.7) 50%,rgba(4,22,31,.3) 100%),linear-gradient(0deg,rgba(4,22,31,.5),transparent 50%)}
@media(max-width:760px){html[dir=rtl] .rivan-site .hero-overlay{background:linear-gradient(0deg,rgba(4,22,31,.9),rgba(4,22,31,.25)),linear-gradient(270deg,rgba(4,22,31,.6),transparent)}}
.rivan-site .detail-hero>.shell{width:min(1440px,calc(100% - 56px));margin-inline:auto;text-align:start}
.rivan-site .detail-hero>.shell h1,.rivan-site .detail-hero>.shell p{margin-inline-start:0;margin-inline-end:auto;text-align:start}
.rivan-site .detail-hero .breadcrumb,.rivan-site .detail-hero .eyebrow{justify-content:flex-start}
.rivan-site .detail-hero .page-hero-shade{background:linear-gradient(90deg,rgba(4,22,31,.92) 0%,rgba(4,22,31,.78) 45%,rgba(4,22,31,.45) 100%),linear-gradient(0deg,rgba(4,22,31,.5),transparent 50%)}
html[dir=rtl] .rivan-site .detail-hero .page-hero-shade{background:linear-gradient(270deg,rgba(4,22,31,.92) 0%,rgba(4,22,31,.78) 45%,rgba(4,22,31,.45) 100%),linear-gradient(0deg,rgba(4,22,31,.5),transparent 50%)}
@media(max-width:760px){.rivan-site .detail-hero>.shell{width:calc(100% - 28px)}}
.rivan-site [data-rivan-action=market-prev] svg,.rivan-site [data-rivan-action=scroll-prev] svg{transform:rotate(180deg)}
.rivan-site .capability-list > a { color:inherit; min-height:150px; display:grid; grid-template-columns:80px 1fr 1.6fr 50px; gap:30px; align-items:center; border-bottom:1px solid rgba(255,255,255,.18); transition:.25s; }
.rivan-site .capability-list > a > span {color:var(--sand);font:italic 17px var(--serif)}
.rivan-site .capability-list > a:hover {background:rgba(255,255,255,.035)}
.rivan-site .product-card {color:white;}
.rivan-site .upload {position:relative;cursor:pointer;}
.rivan-site .upload input[type=file] {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.rivan-site .upload:focus-within {outline:2px solid var(--green)}
.rivan-site .mobile-nav {flex-direction:column}
.rivan-site .mobile-nav:not(.open){display:none}
.rivan-site .mobile-nav a {display:block;color:#fff;padding:12px 0;font-size:13px}
.rivan-site .mobile-nav .btn {display:inline-flex}
.rivan-site .quote-page.is-success .quote-intro,.rivan-site .quote-page.is-success .quote-wrap {display:none}
.rivan-site .quote-page > .success {padding-block:120px}
@media(max-width:960px){.rivan-site .capability-list > a {grid-template-columns:38px 1fr 28px;gap:15px;padding-block:22px}.rivan-site .capability-list > a p{grid-column:2}.rivan-site .capability-list > a svg{grid-column:3;grid-row:1}.rivan-site .mobile-nav.open{display:flex}}
@media(max-width:600px){html[lang^=fr] .rivan-site .markets-copy{min-width:0}html[lang^=fr] .rivan-site .markets-copy>.rivan-button{white-space:normal;max-width:100%;gap:12px}html[lang^=fr] .rivan-site .capability-list p{overflow-wrap:anywhere}}
html:not([lang^=en]) .rivan-site .range-grid>*{min-width:0}
html:not([lang^=en]) .rivan-site .range table{table-layout:fixed;width:calc(100% - 56px)}
html[dir=rtl] .rivan-site .range-grid .spec-table td{text-align:right;padding-inline-start:12px}
html:not([lang^=en]) .rivan-site .range th,html:not([lang^=en]) .rivan-site .range td,html:not([lang^=en]) .rivan-site .range h3{overflow-wrap:anywhere}
@media(max-width:600px){html:not([lang^=en]) .rivan-site .header-inner{gap:8px}html:not([lang^=en]) .rivan-site .header-quote{font-size:9px;white-space:normal;min-width:0;padding:0 8px;max-width:100px}html:not([lang^=en]) .rivan-site .brand img{height:36px}html:not([lang^=en]) .rivan-site .menu-toggle{flex-shrink:0}}
/* Editor wrappers are transparent to existing section and card layouts. */
@media(max-width:1120px){
 .rivan-site .site-header .menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;margin:0;padding:0}
 .rivan-site .site-header .menu-toggle svg{width:22px;height:22px}
 .rivan-site .site-header .mobile-nav.open{display:flex;max-height:calc(100dvh - 88px);overflow-y:auto}
 html .rivan-site .site-header .mobile-nav>.lang-switch{display:inline-block;width:auto;height:38px;margin:24px 0 0;padding:0 8px;border:0;outline:0;box-shadow:none;background:transparent;align-self:flex-start;flex-shrink:0}
}
@media(max-width:760px){
 html .rivan-site .site-header .header-inner{gap:10px;min-width:0}
 html .rivan-site .site-header .brand{flex:0 0 110px;min-width:0}
 html .rivan-site .site-header .brand img{width:110px;height:auto;max-height:42px;margin:0;object-fit:contain}
 html .rivan-site .site-header .header-quote{margin:0;margin-inline-start:auto;max-width:125px;min-width:0;padding:0 10px;flex-shrink:1;font-size:9px;white-space:normal}
 .rivan-site .site-header .mobile-nav.open{max-height:calc(100dvh - 74px)}
}
@media(min-width:1121px){.rivan-site .site-header .mobile-nav{display:none}}
.elementor-edit-mode .elementor-widget-container {display:contents}
.elementor-edit-mode .elementor-widget {margin-block-end:0}
@media(max-width:600px){html:not([lang^=en]) .rivan-site .capability-list article>*{min-width:0;overflow-wrap:anywhere}html:not([lang^=en]) .rivan-site .capability-list article{grid-template-columns:45px minmax(0,1fr) 25px}}
@media(max-width:600px){html:not([lang^=en]) .rivan-site .markets-copy{width:100%;max-width:100%}html:not([lang^=en]) .rivan-site .markets-copy>.rivan-button{overflow-wrap:anywhere;flex-shrink:1}html:not([lang^=en]) .rivan-site .intro-visual>p{max-width:100%;overflow-wrap:anywhere}}
