/*! Eleven By Louise - Elementor companion stylesheet.
 *  Generated by elementor.py. Enqueue AFTER ebl-brand.css.
 *
 *  Elementor ships opinionated defaults on its own containers and widget
 *  wrappers: 10px container padding, a 20px gap, a 20px bottom margin on every
 *  widget, position:relative everywhere, flex-direction:column, width:100%.
 *  Left alone they move the design. This file does three things:
 *
 *   0. resets   - neutralise those defaults at specificity (0,2,0), low enough
 *                 that the design's own rules (emitted at (0,3,0)) always win.
 *   1. hoists   - Elementor wraps each widget in .elementor-element, so THAT
 *                 wrapper, not the original tag, is the grid or flex item.
 *                 .ebl-wNN puts the child's layout participation (flex, margin,
 *                 grid-column, align-self …) on the wrapper; .ebl-xNN cancels
 *                 the same properties on the inner element so nothing doubles.
 *   2. inner    - re-applies each widget's own typography and box styling to
 *                 the tag Elementor renders inside its wrapper.
 *
 *  Do not hand-edit: re-run the build. */

/* ------------------------------------------------------------- 0. resets */
/* Containers: strip Elementor's default padding, gap, width and min-height, and
   default them to plain block flow. The design's own display:grid / display:flex
   rules are emitted at (0,3,0) and therefore still win here. */
.ebl .e-con,.ebl .e-con-inner{
  /* Direction stays COLUMN, which is Elementor's own default. An earlier build
     set it to row so that a flex container with no explicit direction would lay
     out sideways, and that quietly turned every stacked section into a two-up
     row: on the Home page it put the four figures beside the copy instead of
     under it. Anything that genuinely wants a row says so in its own class. */
  --flex-direction:column;
  --gap:0px;--row-gap:0px;--column-gap:0px;
  --width:auto;--content-width:none;--min-height:0px;--border-radius:0;
  /* Only Elementor's SOURCE padding variables are zeroed. Elementor's own
     .e-con maps them through --padding-block-start: var(--padding-top, 10px),
     so zeroing the block/inline variables as well would break the chain and a
     padding set in the panel would have nowhere to land. That is exactly what
     flattened the header to 45px: Elementor wrote --padding-top:16px and this
     file had already pinned --padding-block-start to 0. */
  --padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;
  --margin-top:0px;--margin-right:0px;--margin-bottom:0px;--margin-left:0px}
/* position:relative on every container would re-parent the design's absolutely
   positioned pieces (the hero cloth, the est-2026 stamp, the sewn labels). */
.ebl .e-con{position:static}
/* The header and footer are stock Elementor containers, not design sections, and
   they need a positioned box: the header for its z-index and for Elementor Pro's
   own sticky effect, the footer so nothing in the page can sit over it. */
.ebl .e-con.ebl-site-header,.ebl .e-con.ebl-site-footer,
.ebl .e-con.elementor-sticky{position:relative}
.ebl .e-con > .e-con-inner{display:contents;max-width:none;margin:0;padding:0}
/* The chrome is stock Elementor, and a boxed container there keeps its inner
   box. display:contents above hands a boxed container's children to the outer
   .e-con, and Elementor only puts flex-direction on the inner for a boxed
   container (.e-con.e-flex > .e-con-inner), so the footer's four columns fell
   back to the outer container's column and stacked. Restored here at (0,4,0)
   from Elementor's own variables, so every control in the panel still drives
   it: change Content Width or Direction and this rule follows. */
.ebl .e-con.ebl-site-header > .e-con-inner,
.ebl .e-con.ebl-site-footer > .e-con-inner,
.ebl .ebl-site-header .e-con > .e-con-inner,
.ebl .ebl-site-footer .e-con > .e-con-inner{
  /* The reset above declares these variables on .e-con-inner itself, which
     beats inheriting them from the container the panel actually writes to.
     Handing them back to inheritance is what lets Direction, Gap and Content
     Width on a boxed chrome container reach its inner box. */
  --flex-direction:inherit;--gap:inherit;--row-gap:inherit;--column-gap:inherit;
  --content-width:inherit;--min-height:inherit;
  display:var(--display,flex);max-width:var(--content-width,1140px);margin:0 auto;
  /* A BOXED container puts its padding on the inner box, not the outer one, so
     the reset's padding:0 above was swallowing every padding set in the panel on
     a boxed chrome container. That is why the footer's legal lines sat hard
     against the columns: the panel said 40px above them and nothing applied it.
     Read back from Elementor's own variables so the control still drives it. */
  padding:var(--padding-block-start,0) var(--padding-inline-end,0)
          var(--padding-block-end,0) var(--padding-inline-start,0)}

/* Widget wrappers: no 20px bottom margin, no positioning, no padding. */
.ebl .elementor-element{min-width:0}
.ebl .elementor-widget{position:static}
/* One widget has to keep Elementor's own position:relative. The nav menu's
   dropdown is absolutely positioned and its left is written by Elementor's
   stretch script, which measures how far the burger sits from the edge of the
   page and puts that back as a negative left: on a 419px phone it wrote
   left:-350px. That only lands on the left edge of the screen if the widget
   itself is the containing block. Static, the -350px resolved against the
   header instead and the whole menu sat off the left of the phone with a 54px
   sliver showing, which is exactly what the client saw. Nothing else needs the
   exemption, and keeping it to one widget keeps the design's absolutely
   positioned pieces (the hero cloth, the est-2026 stamp, the sewn labels)
   measuring from the section they belong to. */
.ebl .elementor-widget-nav-menu{position:relative}
.ebl .elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}
.ebl .elementor-widget-container{margin:0;padding:0}
.ebl .elementor,.ebl .elementor-inner,.ebl .elementor-section-wrap{margin:0;padding:0}

/* A passthrough widget introduces no box of its own. */
.ebl .elementor-widget-html.ebl-passthrough,
.ebl .elementor-widget-html.ebl-passthrough > .elementor-widget-container{display:contents}

/* Only the specific defaults Elementor puts on the tags it renders. Note the
   heading tag is left to inherit from .ebl h1..h4 - Fraunces, the WONK axis and
   the 1.12 line-height all come from there. */
.ebl .elementor-heading-title{padding:0}
.ebl .elementor-widget-text-editor{line-height:inherit;font-size:inherit;color:inherit}
.ebl .elementor-widget-image figure{margin:0}
.ebl .elementor-widget-image img{border-radius:0;box-shadow:none}
/* An image widget passes its wrapper through, so the <img> stays a direct child
   of whatever box framed it (an aspect-ratio crop, an arch, an overflow clip). */
.ebl .elementor-widget-image.ebl-img-passthrough,
.ebl .elementor-widget-image.ebl-img-passthrough > .elementor-widget-container{display:contents}

/* ------------------------------------------------------------- 1. hoists */
.ebl.ebl .ebl-w1{margin-top:22px}
.ebl.ebl .ebl-x1{margin-top:0}
.ebl.ebl .ebl-w2{margin-top:12px}
.ebl.ebl .ebl-x2{margin-top:0}
.ebl.ebl .ebl-w3{margin-top:20px}
.ebl.ebl .ebl-x3{margin-top:0}
.ebl.ebl .ebl-w4{margin-top:12px;flex:1}
.ebl.ebl .ebl-x4{flex:0 1 auto;margin-top:0}
.ebl.ebl .ebl-w5{margin-top:16px}
.ebl.ebl .ebl-x5{margin-top:0}
.ebl.ebl .ebl-w6{margin-top:10px}
.ebl.ebl .ebl-x6{margin-top:0}
.ebl.ebl .ebl-w7{margin-top:14px}
.ebl.ebl .ebl-x7{margin-top:0}
.ebl.ebl .ebl-w8{margin-top:24px}
.ebl.ebl .ebl-x8{margin-top:0}
.ebl.ebl .ebl-w9{margin-top:18px}
.ebl.ebl .ebl-x9{margin-top:0}
.ebl.ebl .ebl-w10{margin-top:26px}
.ebl.ebl .ebl-x10{margin-top:0}
.ebl.ebl .ebl-w11{margin-top:32px}
.ebl.ebl .ebl-x11{margin-top:0}
.ebl.ebl .ebl-w12{margin-top:28px}
.ebl.ebl .ebl-x12{margin-top:0}

/* -------------------------------------------------------------- 2. inner */
.ebl.ebl .elementor-widget-text-editor.ebl-i1 > .elementor-widget-container > :is(p,div,ul,ol){font-family:'Fraunces',Georgia,serif;font-size:clamp(1.4rem, 1rem + 2.2vw, 2.95rem);font-weight:600;line-height:1.25;letter-spacing:-.015em;text-wrap:balance;font-variation-settings:'SOFT' 40,'WONK' 1;max-width:38ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i2 > .elementor-widget-container > :is(p,div,ul,ol){color:#B4D3E0;font-size:.8rem}
.ebl.ebl .elementor-widget-heading.ebl-i3 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);max-width:26ch}
.ebl.ebl .elementor-widget-heading.ebl-i4 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:1.35rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i5 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.9rem;color:#5F7889}
.ebl.ebl .elementor-widget-heading.ebl-i6 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.8rem,1.3rem + 1.6vw,2.6rem);max-width:22ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i7 > .elementor-widget-container > :is(p,div,ul,ol){color:#5F7889;max-width:56ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i8 > .elementor-widget-container > :is(p,div,ul,ol){color:#5F7889;font-size:.78rem}
.ebl.ebl .elementor-widget-heading.ebl-i9 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:1.7rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i10 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.95rem;color:#4F6740;max-width:52ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i11 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.95rem}
.ebl.ebl .elementor-widget-heading.ebl-i12 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:1.6rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i13 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.95rem;color:#5F7889;max-width:48ch}
.ebl.ebl .elementor-widget-heading.ebl-i14 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);max-width:20ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i15 > .elementor-widget-container > :is(p,div,ul,ol){font-size:1rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i16 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.95rem;color:#5F7889}
.ebl.ebl .elementor-widget-heading.ebl-i17 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.7rem,1.3rem + 1.4vw,2.4rem);max-width:22ch;color:#fff}
.ebl.ebl .elementor-widget-text-editor.ebl-i18 > .elementor-widget-container > :is(p,div,ul,ol){max-width:58ch;color:#C2DAE5}
.ebl.ebl .elementor-widget-heading.ebl-i19 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:1.25rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i20 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.92rem;color:#5F7889}
.ebl.ebl .elementor-widget-text-editor.ebl-i21 > .elementor-widget-container > :is(p,div,ul,ol){color:#C2DAE5;max-width:60ch;font-size:1rem}
.ebl.ebl .elementor-widget-heading.ebl-i22 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.7rem,1.3rem + 1.4vw,2.3rem);max-width:20ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i23 > .elementor-widget-container > :is(p,div,ul,ol){max-width:56ch;color:#5F7889}
.ebl.ebl .elementor-widget-heading.ebl-i24 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.8rem,1.3rem + 1.6vw,2.5rem);max-width:20ch}
.ebl.ebl .elementor-widget-heading.ebl-i25 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:1.3rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i26 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.8rem;color:#104C65;font-weight:600}
.ebl.ebl .elementor-widget-text-editor.ebl-i27 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.8rem;color:#4F6740;font-weight:600}
.ebl.ebl .elementor-widget-text-editor.ebl-i28 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.8rem;color:#96632D;font-weight:600}
.ebl.ebl .elementor-widget-heading.ebl-i29 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.7rem,1.3rem + 1.4vw,2.3rem);max-width:20ch;color:#fff}
.ebl.ebl .elementor-widget-image.ebl-i30 > .elementor-widget-container :is(img){display:block;width:100%;max-width:460px;aspect-ratio:5/4;object-fit:cover;border-radius:10px}
.ebl.ebl .elementor-widget-text-editor.ebl-i31 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.8rem;color:#5F7889;max-width:60ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i32 > .elementor-widget-container > :is(p,div,ul,ol){color:#C2DAE5;font-size:.95rem}
.ebl.ebl .elementor-widget-heading.ebl-i33 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.8rem,1.3rem + 1.6vw,2.5rem);max-width:22ch}
.ebl.ebl .elementor-widget-heading.ebl-i34 > .elementor-widget-container > :is(h1,h2,h3,h4,h5,h6){font-size:clamp(1.7rem,1.3rem + 1.4vw,2.3rem);max-width:18ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i35 > .elementor-widget-container > :is(p,div,ul,ol){max-width:44ch;color:#5F7889}
.ebl.ebl .elementor-widget-text-editor.ebl-i36 > .elementor-widget-container > :is(p,div,ul,ol){max-width:44ch;color:#5F7889;font-size:.9rem}
.ebl.ebl .elementor-widget-text-editor.ebl-i37 > .elementor-widget-container > :is(p,div,ul,ol){font-size:.85rem;color:#5F7889;max-width:44ch}
.ebl.ebl .elementor-widget-text-editor.ebl-i38 > .elementor-widget-container > :is(p,div,ul,ol){font-family:'Fraunces',Georgia,serif;font-size:clamp(1.3rem,1rem + 1.4vw,2rem);font-weight:600;line-height:1.25;font-variation-settings:'SOFT' 40,'WONK' 1;max-width:26ch}
