/* REC defaults for native Elementor elements. Elementor's per-element controls override these. */
.rec-elementor { --padding-top:0px; --padding-right:0px; --padding-bottom:0px; --padding-left:0px; }
.rec-elementor.rec-el-section { --padding-top:clamp(3.5rem,8vw,8rem); --padding-bottom:clamp(3.5rem,8vw,8rem); --padding-left:var(--l-pad); --padding-right:var(--l-pad); --gap:28px; }
.rec-elementor.rec-el-section > .elementor-element { max-width:calc(var(--l-max) - var(--l-pad)*2); width:100%; margin-inline:auto; }
.rec-elementor.rec-el-alt { background:var(--l-alt); }
.rec-elementor.rec-el-card { --padding-top:32px; --padding-bottom:32px; --padding-left:32px; --padding-right:32px; --gap:12px; background:#fff; border:1px solid var(--l-line); border-radius:22px; }
.rec-el-card .elementor-heading-title { font-size:clamp(1.35rem,1.9vw,1.8rem); letter-spacing:-.04em; line-height:1.1; }
.rec-el-card p { margin:0; }
.rec-el-title .elementor-heading-title { font-size:clamp(2.2rem,5.2vw,5rem); letter-spacing:-.05em; line-height:1; }
.rec-el-intro { font-size:clamp(1.1rem,1.5vw,1.35rem); line-height:1.5; color:var(--l-ink-2); }
.rec-el-lead { font-size:clamp(1.15rem,1.6vw,1.45rem); line-height:1.55; }
.rec-el-lead-big { font-family:var(--l-display); font-weight:500; font-size:clamp(1.7rem,3.6vw,3.7rem); line-height:1.12; letter-spacing:-.04em; }
.rec-el-eyebrow p { display:flex; align-items:center; gap:.6rem; font-family:var(--l-display); font-size:.8rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
.rec-el-eyebrow p::before { content:""; width:.55rem; height:.55rem; border-radius:50%; background:var(--rec-red); flex:none; }
.rec-el-num p { font-family:var(--l-display); letter-spacing:.08em; }
.rec-el-num p::after { content:""; display:block; width:2rem; height:2px; background:var(--rec-red); margin-top:.6rem; }
.rec-el-more { font-family:var(--l-display); font-weight:500; }
.rec-el-actions { --gap:12px; }
.rec-el-actions > .elementor-widget-button { width:auto; }
.rec-el-button .elementor-button { padding:.9rem 1.6rem; border:1px solid var(--l-ink); border-radius:999px; background:var(--l-ink); color:#fff; font-family:var(--l-display); font-weight:500; font-size:.98rem; }
.rec-el-button--outline .elementor-button { background:transparent; color:var(--l-ink); }
.rec-el-button .elementor-button:hover { background:#fff; color:var(--l-ink); }
.rec-el-button--outline .elementor-button:hover { background:var(--l-ink); color:#fff; }
.rec-elementor.rec-el-pagehead { --padding-top:calc(var(--l-header-h) + clamp(3rem,7vw,7rem)); --padding-bottom:32px; --padding-left:var(--l-pad); --padding-right:var(--l-pad); }
.rec-el-page-title .elementor-heading-title { font-size:clamp(3rem,7vw,7rem); line-height:1; letter-spacing:-.05em; }
.rec-elementor.rec-el-hero { min-height:100svh; position:relative; overflow:hidden; justify-content:flex-end; background:linear-gradient(180deg,#fff 0,#fff 60%,var(--l-alt) 100%); }
.rec-el-hero .rec-el-scene { position:absolute; inset:2% -8% auto auto; width:74%; z-index:0; }
.rec-el-hero .rec-el-scene .lumen-3d { background:transparent; }
.rec-elementor.rec-el-hero-copy { z-index:1; --padding-top:calc(var(--l-header-h) + 3rem); --padding-bottom:clamp(2rem,4.5vw,4rem); --padding-left:var(--l-pad); --padding-right:var(--l-pad); --gap:28px; }
.rec-el-display .elementor-heading-title { font-size:clamp(3.8rem,9vw,10rem); line-height:.95; letter-spacing:-.06em; }
.rec-el-hero-lead { max-width:42ch; font-size:clamp(1.15rem,1.5vw,1.4rem); line-height:1.45; }
.rec-el-files .elementor-icon-list-item { border-block-start:1px solid var(--l-line); padding-block:.8rem; }
.rec-el-files .elementor-icon-list-text { font-family:var(--l-display); }
.rec-el-counter .elementor-counter-number-wrapper { font-family:var(--l-display); font-size:clamp(3rem,6vw,6rem); font-weight:500; }
.rec-el-counter .elementor-counter-title { font-family:var(--l-body); font-size:1rem; line-height:1.5; }
.rec-el-gallery img { border-radius:18px; }
.rec-el-form .elementor-field { border-radius:14px; padding:1rem; background:#fff; }
.rec-el-form .elementor-button { border-radius:999px; background:var(--l-ink); }
/* Remove theme-only motion hiding and stretched hit areas inside Elementor's editor. */
body.elementor-editor-active [data-lumen-reveal], body.elementor-editor-active [data-lumen-text] { visibility:visible!important; opacity:1!important; }
body.elementor-editor-active .rec-card--link h3 a::after { display:none; }
body.elementor-editor-active .rec-el-hero { overflow:visible; }
body.elementor-editor-active .rec-el-scene { pointer-events:auto; }
@media(max-width:767px) { .rec-el-hero .rec-el-scene { width:100%; right:-35%; } .rec-el-display .elementor-heading-title { font-size:clamp(3rem,13vw,6rem); } }
