/* Argon on Elementor (2.0.0): rules that apply only inside the Elementor shell. Loaded after style.css and
   Elementor's frontend.css. Every rule answers a measured difference from the v1.11 templates.

   As built (full-width container, zero padding, zero gap, Overflow left at Default) the two Argon widgets
   need NONE of this: every measurement matched the theme template with this file empty.
   These rules are guards for what an editor can do in the panel afterwards. Each one answers a measured
   failure (verify/data/variants.json):

   1. A default Elementor container is boxed (1140px) with 10px padding, so a widget dragged onto a blank
      page rendered 1140px wide, 150px in from the edge at 1440 and 10px down. The Argon sections are
      full-bleed, so any container that directly holds one is made full width with no padding or gap.
   2. A container with Overflow set to Hidden becomes the scroll container for position:sticky, and the
      hero stopped pinning (it scrolled away while the frames kept scrubbing). Every container above the
      hero is held at overflow:visible. */
.e-con:has(> .elementor-widget-argon-hero, > .e-con-inner > .elementor-widget-argon-hero, > .elementor-widget-argon-delivery-slider, > .e-con-inner > .elementor-widget-argon-delivery-slider){
  padding:0 !important;gap:0 !important;max-width:none !important;width:100% !important;
}
.e-con:has(> .e-con-inner > .elementor-widget-argon-hero, > .e-con-inner > .elementor-widget-argon-delivery-slider) > .e-con-inner{
  max-width:none !important;width:100% !important;padding:0 !important;gap:0 !important;
}
.e-con:has(.elementor-widget-argon-hero){overflow:visible !important}
.elementor-widget-argon-hero,.elementor-widget-argon-delivery-slider{width:100%;max-width:none}

/* 3. Elementor's frontend.css resets every image inside an Elementor page:
        .elementor img{border:none;border-radius:0;box-shadow:none;height:auto;max-width:100%}
      That selector (0,1,1) beats a single-class theme rule such as .rise-still{height:100%} outright, and
      ties with .deliver-media img, where it wins because frontend.css loads after style.css. Measured
      effect before this fix: the hero stills were 1440x810 in a 900px hero at 1440 and 390x219 in an 844px
      hero at 390 (reduced motion, no JS, and the start still before the frames load); the Delivery plate
      was 292px tall in an 1168px section at 390. The theme's own heights are restated here. */
.elementor .rise-still{height:100%}
.elementor .deliver-media img{height:100%}

/* 4. Elementor Pro can put Sticky or Motion Effects on any widget or container. Both work by transforming
      or re-positioning the element, and a transformed ancestor re-roots position:sticky, which would stop
      the hero from pinning the same way Overflow: Hidden did. Transforms and filters are held off the hero
      widget and every container above it. NOT TESTED WITH PRO (it cannot be licensed locally): the rule for
      editors is, do not turn on Sticky or Motion Effects for the Argon Hero or the container it sits in. */
.elementor-widget-argon-hero,.e-con:has(.elementor-widget-argon-hero){transform:none !important;filter:none !important;perspective:none !important;contain:none !important}

/* 5. A page built in Elementor that is not one of the designed pages (anything new): the nav is solid from
      the top, as on the v1.11 fallback page, and the content starts below it. */
.argon-shell--page .nav,.argon-shell--page .nav.solid{background:rgba(21,24,26,.96);border-bottom-color:var(--line-dark-soft)}
.argon-shell--page .nav::before,.argon-shell--page .nav.solid::before{opacity:0}
.argon-shell--page #main{padding-top:var(--navh)}

/* 6. Elementor also resets every link inside an Elementor page:
        .elementor a{box-shadow:none;text-decoration:none}
      The theme draws two underlines as inset box-shadows on single-class selectors, which that rule beats
      on source order: the email link in the contact details and the privacy link in the consent line.
      Measured: both rendered with no underline. Restated here, with their hover states. */
.elementor .aside dd a{box-shadow:inset 0 -1px 0 var(--line)}
.elementor .aside dd a:hover{box-shadow:inset 0 -2px 0 currentColor}
.elementor .consent a{box-shadow:inset 0 -1px 0 currentColor}
.elementor .form-error a{text-decoration:underline}

/* 7. Leadership and Blog run on css/lite.css, which has no rule for the skip link the shell prints. */
.argon-shell .skip{position:absolute;left:-9999px;top:0;z-index:100;background:#161719;color:#F6F4EF;padding:14px 20px;font-weight:600;font-size:14px;text-decoration:none}
.argon-shell .skip:focus{left:0}

/* 8. Editor only: the note shown in place of a second copy of a once-per-page Argon section. */
.argon-dup-notice{margin:24px;padding:20px 24px;border:2px dashed #b3261e;background:#fff4f2;color:#5c1410;font:500 15px/1.5 -apple-system,'Helvetica Neue',Arial,sans-serif}

/* 9. A blog card whose post has body text is a link: the whole card is the target, the title keeps its look. */
.blog-card:has(.blog-card-link){position:relative}
.blog-card .blog-card-link{color:inherit;text-decoration:none}
.blog-card .blog-card-link::after{content:"";position:absolute;inset:0}
.blog-card .blog-card-link:focus-visible{outline:none}
.blog-card:has(.blog-card-link:focus-visible){outline:2.5px solid #161719;outline-offset:3px}

/* 10. Native Elementor sections (plain heading and text, edited in the normal editor). A container with the
       class "argon-sec" takes the theme's section rhythm and page gutter: the same top and bottom space as
       .sec and the same content width as .wrap. The container carries NO padding setting of its own, because
       a container setting would beat this stylesheet. A Text Editor widget with the class "legal" inside it
       is the Privacy copy block. */
.e-con.argon-sec{--padding-top:clamp(96px,9.5vw,140px);--padding-bottom:clamp(96px,9.5vw,140px);--padding-left:var(--pad);--padding-right:var(--pad);--content-width:calc(var(--max) - 2 * var(--pad));--gap:0px;--row-gap:0px;--column-gap:0px}
.e-con.argon-sec>.e-con-inner{align-items:flex-start}
.elementor .legal a{text-decoration:underline}

/* 11. The page stylesheets tighten the section that directly follows a banner with sibling selectors:
         section.phead + section.sec{padding-top:clamp(40px,4vw,60px)}     .hwd-hero + #queue{...}
       In Elementor each section sits inside its own widget and container, so the two are no longer siblings
       and the rule stopped matching (measured: 136.8px of top padding instead of 57.6px at 1440). The same
       rule is restated for a section in the container, or the widget, that follows the banner's. */
.e-con:has(> .elementor-element > section.phead) + .e-con > .elementor-element > section.sec,
.elementor-element:has(> section.phead) + .elementor-element > section.sec,
.e-con:has(> .elementor-element > .hwd-hero) + .e-con > .elementor-element > #queue,
.elementor-element:has(> .hwd-hero) + .elementor-element > #queue{padding-top:clamp(40px,4vw,60px)}
.e-con:has(> .elementor-element > section.phead) + .e-con.argon-sec{--padding-top:clamp(40px,4vw,60px)}

/* 12. More of Elementor's image reset (see note 3): the How We Deliver video thumbnail fills its frame. */
.elementor .reel-still{height:100%}
/* (note 10, continued) Elementor caps every widget at max-width:100% with a three-class selector, which beat
   .legal{max-width:72ch}: the Privacy copy ran 1310px wide instead of 722px at 1440. */
.elementor.elementor .e-con>.e-con-inner>.elementor-widget.legal,.elementor.elementor .e-con>.elementor-widget.legal{max-width:72ch}
/* (note 10, continued) The container also carries the class "sec" so the theme's ".sec h2" style rules reach
   the copy. Its vertical space is already on Elementor's inner box (the variables above), so the .sec padding
   on the outer box is cancelled, or the section would be padded twice. */
.e-con.sec.argon-sec{padding-top:0;padding-bottom:0}
