/* SMCON26 × Elementor
   Each SMCON section sits in its own Elementor container. On the live site those wrappers
   generate no box (display:contents), so the page renders exactly like the original design. */
body:not(.elementor-editor-active) .smcon-sec,
body:not(.elementor-editor-active) .smcon-sec > .e-con-inner,
body:not(.elementor-editor-active) .smcon-sec > .elementor-container,
body:not(.elementor-editor-active) .smcon-sec > .elementor-container > .elementor-column,
body:not(.elementor-editor-active) .smcon-sec > .elementor-container > .elementor-column > .elementor-widget-wrap,
body:not(.elementor-editor-active) .smcon-sec :is(.e-con-inner,.elementor-widget-wrap,.smcon-sec) > .elementor-widget,
body:not(.elementor-editor-active) .smcon-sec > .elementor-widget,
body:not(.elementor-editor-active) .smcon-sec .elementor-widget > .elementor-widget-container{display:contents}

/* Native SMCON widgets placed in ordinary Elementor containers */
.smcon-btns{display:flex;flex-wrap:wrap;gap:12px}
.smcon-align-center .smcon-btns{justify-content:center}
.smcon-align-right .smcon-btns{justify-content:flex-end}
.smcon-align-center .smcon-heading{text-align:center}
.smcon-align-center .smcon-heading .lead{margin-inline:auto}
.smcon-heading .h2,.smcon-heading .h1{margin-top:.35em}
.smcon-heading .eyebrow + :is(h1,h2,h3).h3{margin-top:.6em}
.smcon-on-dark{color:var(--on-dark)}
.smcon-on-dark .eyebrow{color:var(--volt)}
.smcon-on-dark .lead{color:var(--on-dark-2)}

/* Pages and posts that are not built with SMCON sections */
.smcon-prose{max-width:72ch}
.smcon-prose > * + *{margin-top:1em}
.smcon-prose img{height:auto;border-radius:var(--r-md)}
.smcon-prose a{color:var(--elephant)}
.smcon-prose h2{font:800 clamp(1.5rem,2.6vw,2.2rem)/1.1 var(--f-display);margin-top:1.6em}
.smcon-prose h3{font:800 clamp(1.15rem,1.6vw,1.4rem)/1.2 var(--f-display);margin-top:1.4em}
.smcon-list{list-style:none;margin:32px 0 0;padding:0;display:grid;gap:24px}
.smcon-list li{border-top:1px solid var(--rule);padding-top:20px}
.smcon-list h2{font:800 clamp(1.25rem,1.8vw,1.55rem)/1.15 var(--f-display);margin:0}
.smcon-list a{text-decoration:none}
.smcon-pager{display:flex;gap:12px;margin-top:40px}

/* Smooth scrolling (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}

/* Revealed speakers: the photo fills the card under the shade */
.scard .sphoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;max-width:none}

/* Smoother motion: compositor-friendly hints for animated layers */
.hero-media img,.phero-media img,.roll-list,.built-words span,.car-track>*{backface-visibility:hidden}
@media (prefers-reduced-motion: reduce){html.lenis{scroll-behavior:auto}}

/* Slider Revolution inside SMCON sections */
.hero-media .rev_slider_wrapper,.hero-media rs-module-wrap,.hero-media sr7-module{position:absolute!important;inset:0;width:100%!important;height:100%!important}
.smcon-revslider{position:relative}

/* Partner logos in tier slots and the marquee */
.slot.has-partner{border-style:solid}
.slot b img{display:block;max-width:100%;max-height:64px;margin:4px auto;object-fit:contain}
.slot-xl b img{max-height:110px}
.lt img{display:block;height:28px;width:auto;max-width:160px;object-fit:contain}
