.elementor-kit-8{--e-global-color-primary:#8E2B2F;--e-global-color-secondary:#5A3626;--e-global-color-text:#241416;--e-global-color-accent:#F1C170;--e-global-color-guajillo:#8E2B2F;--e-global-color-chipotle:#5A3626;--e-global-color-pasilla:#33212A;--e-global-color-ancho:#6B2C24;--e-global-color-beige:#E7DFC8;--e-global-color-gold:#F1C170;--e-global-color-goldbright:#F6DE97;--e-global-color-bronze:#8A4A10;--e-global-color-inkcream:#F4EDE0;--e-global-color-inkdark:#241416;--e-global-color-footerbrown:#3F1B0F;--e-global-color-ground:#1E1416;--e-global-typography-primary-font-family:"IM Fell English";--e-global-typography-primary-font-weight:400;--e-global-typography-primary-line-height:1.06em;--e-global-typography-secondary-font-family:"IM Fell English";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-font-style:italic;--e-global-typography-text-font-family:"EB Garamond";--e-global-typography-text-font-size:18.5px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.6em;--e-global-typography-accent-font-family:"Cinzel";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:2px;background-color:#E7DFC8;color:#241416;font-family:"EB Garamond", Sans-serif;font-size:18.5px;line-height:1.6em;}.elementor-kit-8 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1560px;}.e-con{--container-max-width:1560px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --brand-guajillo:#8E2B2F; --brand-chipotle:#5A3626; --brand-pasilla:#33212A; --brand-ancho:#6B2C24; --brand-beige:#E7DFC8; --brand-gold:#F1C170; --brand-gold-bright:#F6DE97; --brand-bronze:#8A4A10; --brand-ink-cream:#F4EDE0; --brand-ink-dark:#241416; --brand-footer-brown:#3F1B0F; --brand-ground-dark:#1E1416; --font-display:IM Fell English; --font-body:EB Garamond; --font-label:Cinzel; }
/* Start custom CSS *//* ============================================================
   BARRERA IMPORTS BROKERS - brand skin (global)
   Ports only the parts of v3.css that Elementor's controls
   cannot express. Colour, type, spacing, flex sizing and sticky
   are set on the elements themselves in the Elementor panel.
   Section-specific rules live on each section's own Custom CSS;
   this file is tokens, header, footer and shared parts.
   !important appears only where Elementor writes the same
   property per element, because its per-post stylesheet loads
   after this one.
   ============================================================ */
:root{
  --bi-foil:linear-gradient(135deg,#F6E3A1 0%,#E9B447 24%,#C07A1E 50%,#8A4A10 66%,#D9A24A 84%,#F3DC97 100%);
  --bi-foil-v:linear-gradient(180deg,#F7E6A8 0%,#EDBA50 34%,#D08F2C 70%,#A8621A 100%);
  --bi-foil-text:linear-gradient(180deg,#F8E6A6 0%,#F1C170 40%,#D99A3C 74%,#B9772A 100%);
  --bi-gold:#F1C170;
  --bi-keyline:rgba(241,193,112,.46);
  --bi-ease:cubic-bezier(.2,.7,.3,1);
  /* distance from the 1560 measure out to the viewport edge, so
     feature photos can run off the page as the static ones do */
  --bi-bleed:calc((100vw - min(100vw, 1560px))/2 + 52px);
}

/* paper grain over the whole page - the old-school skin rests on
   it, so it sits above everything and ignores pointers */
body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;
  background:url("/wp-content/uploads/2026/10/paper-grain.png") repeat}

/* ============ ASTRA INTEGRATION =============================
   Astra boxes page content at 1240px. Every page here is built
   in Elementor and caps its own content at 1560, so the theme
   wrapper has to let full-bleed sections reach the edge. */
.elementor-page .ast-container{max-width:none;padding-left:0;padding-right:0}
.elementor-page #content,.elementor-page .site-content{padding:0}

/* ============ HEADER ======================================== */

.bi-announce{background:var(--bi-foil-v);border-bottom:1px solid #6E3F10;
  box-shadow:inset 0 1px 0 rgba(255,248,220,.6)}
.bi-announce p{margin:0}
.bi-announce a{color:#2A160C;text-decoration:underline;text-underline-offset:3px}

/* the pill: foil rim + double inset keyline */
.bi-pill{position:relative;border:1.5px solid transparent;
  background:linear-gradient(#22150F,#22150F) padding-box,var(--bi-foil) border-box;
  box-shadow:inset 0 0 0 4px #22150F,inset 0 0 0 5px rgba(241,193,112,.26),
             0 12px 30px rgba(0,0,0,.35);
  transition:min-height .3s var(--bi-ease),padding .3s var(--bi-ease)}
/* the strip's own items shrink-wrap; only the nav is centred.
   the burger stays unpositioned so its drawer anchors to the
   strip and spans it, the way the static drawer does */
.bi-pill > .bi-brand,.bi-pill > .bi-cta,.bi-pill > .bi-burger{
  width:auto!important;max-width:none!important;flex:0 0 auto!important}
.bi-pill > .bi-burger{position:static!important}

.bi-brand .elementor-heading-title{white-space:nowrap}
.bi-brand a{color:inherit}
.bi-brand small{display:block;margin-top:3px;
  font-family:"Cinzel",Georgia,serif;font-weight:700;font-size:9px;
  letter-spacing:.26em;text-transform:uppercase;color:var(--bi-gold)}

.bi-navwrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
  width:max-content;white-space:nowrap}
.bi-nav{width:auto!important;flex:0 0 auto}
.bi-nav .elementor-item{position:relative}
/* active marker: a hairline rule plus a rotated gold lozenge */
.bi-nav .elementor-item.elementor-item-active::after{content:"";position:absolute;
  left:0;right:0;bottom:3px;height:1px;width:auto;background:var(--bi-gold);
  transform:none;opacity:1}
.bi-nav .elementor-item.elementor-item-active::before{content:"";position:absolute;
  left:50%;bottom:0;width:7px;height:7px;background:var(--bi-gold);
  transform:translateX(-50%) rotate(45deg);opacity:1}

.bi-crest{position:relative;width:172px;min-width:172px;height:52px;
  margin-inline:24px;flex:0 0 172px}
.bi-crest .elementor-widget-image{position:absolute;left:50%;top:50%;
  width:164px!important;max-width:none!important;
  transform:translate(-50%,-30%);
  transition:width .3s var(--bi-ease),transform .3s var(--bi-ease)}
.bi-crest .elementor-widget-image img{width:100%!important;height:auto;
  max-width:none!important;filter:drop-shadow(0 10px 16px rgba(0,0,0,.55))}

.bi-head.elementor-sticky--effects .bi-pill{min-height:62px!important;
  padding-top:8px!important;padding-bottom:8px!important}
.bi-head.elementor-sticky--effects .bi-crest .elementor-widget-image{
  width:104px!important;transform:translate(-50%,-38%)}

.bi-burger .elementor-menu-toggle{width:46px;height:46px;border-radius:50%;
  border:1px solid var(--bi-keyline);justify-content:center;background:transparent}
.bi-burger .elementor-nav-menu--dropdown{position:absolute;left:0!important;
  right:0!important;top:calc(100% + 10px)!important;width:auto!important;
  max-width:none!important;
  border-radius:22px;border:1.5px solid transparent;
  background:radial-gradient(ellipse 120% 90% at 50% 40%,#F1EAD6 0%,#E7DFC8 55%,#D8C9A6 100%) padding-box,
             var(--bi-foil) border-box;
  outline:1px solid rgba(123,26,30,.22);outline-offset:-8px;
  box-shadow:0 18px 40px rgba(0,0,0,.42);padding:24px 32px 32px}
.bi-burger .elementor-nav-menu--dropdown a.elementor-item{display:flex;
  justify-content:space-between;align-items:center;line-height:1.2;
  border-bottom:1px solid rgba(36,20,22,.14)}
.bi-burger .elementor-nav-menu--dropdown li:last-child a.elementor-item{border-bottom:0}
/* Elementor reserves ::after for its hover pointer and positions
   it absolutely; put it back in flow so it can be the chevron */
.bi-burger .elementor-nav-menu--dropdown a.elementor-item::after{
  content:"\2192";position:static!important;transform:none!important;
  width:auto!important;height:auto!important;background:none!important;
  border:0!important;opacity:1!important;
  font-family:"EB Garamond",Georgia,serif;font-size:19px;color:#8E2B2F}
.bi-burger .elementor-nav-menu--dropdown a.elementor-item-active{font-style:italic}

/* the 1420px switch: measured on the static build, below this the
   split links stop clearing the name and the button */
@media (min-width:1421px){
  .bi-pill > .bi-burger{display:none!important}
}
@media (max-width:1420px){
  .bi-nav,.bi-pill > .bi-cta{display:none!important}
  .bi-navwrap{width:auto}
  .bi-crest{width:120px;min-width:120px;flex:0 0 120px;margin:0}
  .bi-crest .elementor-widget-image{width:124px!important}
  .bi-head.elementor-sticky--effects .bi-crest .elementor-widget-image{width:88px!important}
  .bi-pill > .bi-burger{margin-left:auto}
}
@media (max-width:600px){
  .bi-pill > .bi-brand{display:none!important}
  .bi-crest .elementor-widget-image{width:100px!important}
  .bi-head.elementor-sticky--effects .bi-crest .elementor-widget-image{width:76px!important}
  .bi-burger .elementor-nav-menu--dropdown{padding:20px 22px 26px}
}

/* ============ SHARED TYPE ===================================
   Foil lettering is for dark grounds only - on beige it would
   lose contrast, so it is scoped to the hero and the wordmark. */
.bi-h1 em,.bi-h2 em{font-style:italic}
.bi-hero .bi-h1 em,
.bi-hcard--dark .bi-hcard-n .elementor-heading-title,
.bi-foot-mark .elementor-heading-title{
  background:var(--bi-foil-text);-webkit-background-clip:text;
  background-clip:text;color:transparent;
  -webkit-box-decoration-break:clone;box-decoration-break:clone}

/* let the browser balance display lines and tidy paragraph rags */
.elementor-widget-heading h1.elementor-heading-title,
.elementor-widget-heading h2.elementor-heading-title,
.elementor-widget-heading h3.elementor-heading-title{text-wrap:balance}
.elementor-widget-text-editor p{text-wrap:pretty}

.bi-lede p{max-width:54ch}
.bi-btn-outline .elementor-button{background:transparent}
/* foil cartouche button, used in the header, heroes and footer */
.bi-cta .elementor-button{background:var(--bi-foil-v);
  box-shadow:inset 0 1px 0 rgba(255,248,220,.75),inset 0 -2px 0 rgba(90,50,12,.3);
  outline:1px solid rgba(241,193,112,.5);outline-offset:3px}
.bi-cta .elementor-button:hover{filter:brightness(1.08);outline-offset:5px}
/* beige primary button: an ink cartouche with a gold inner rule */
.bi-cta--beige .elementor-button{
  box-shadow:inset 0 0 0 3px #2B1810,inset 0 0 0 4px rgba(241,193,112,.55);
  outline:1px solid rgba(43,24,16,.4);outline-offset:3px}
.bi-cta--beige .elementor-button:hover{
  box-shadow:inset 0 0 0 3px #8E2B2F,inset 0 0 0 4px rgba(241,193,112,.6)}

/* ============ INNER PAGES ===================================
   Components every inner page shares. */

.bi-phero{position:relative;min-height:min(64vh,620px);overflow:hidden;
  background-color:#160E10}
.bi-phero::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(ellipse 95% 85% at 62% 50%,rgba(20,10,6,0) 36%,rgba(20,10,6,.6) 100%),
    linear-gradient(96deg,rgba(24,14,12,.94) 0%,rgba(24,14,12,.84) 38%,
                    rgba(24,14,12,.6) 68%,rgba(24,14,12,.48) 100%),
    linear-gradient(180deg,rgba(24,14,12,.6) 0%,rgba(24,14,12,.2) 36%,
                    rgba(24,14,12,.5) 100%)}
.bi-phero > .e-con-inner{position:relative;z-index:2}
.bi-phero-h .elementor-heading-title{max-width:20ch}
.bi-phero-lede p{max-width:60ch}

/* feature band: the photo runs off the page edge */
.bi-feature-media{position:relative;margin-left:calc(-1 * var(--bi-bleed))}
.bi-feature--rev .bi-feature-media{order:2;margin-left:0;
  margin-right:calc(-1 * var(--bi-bleed))}
.bi-feature-img img{display:block;width:100%;aspect-ratio:5/4;object-fit:cover;
  filter:sepia(.24) saturate(.85) contrast(1.02)}
.bi-feature-media::after{content:"";position:absolute;inset:14px;
  pointer-events:none;border:1px solid rgba(255,240,205,.5)}
.bi-feature-cap{position:absolute!important;right:24px;bottom:24px;z-index:2;
  width:auto!important}
.bi-feature-cap .elementor-heading-title{background:#E7DFC8;padding:9px 16px;
  box-shadow:0 6px 18px rgba(0,0,0,.28)}
.bi-feature--rev .bi-feature-cap{right:auto;left:24px}

/* checklist: a gold dot per line, guajillo on the beige ground */
.bi-clist-items .elementor-icon-list-icon{display:none}
.bi-clist-items .elementor-icon-list-item{position:relative;padding-left:32px}
.bi-clist-items .elementor-icon-list-item::before{content:"";position:absolute;
  left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--bi-gold)}
.bi-sec--beige .bi-clist-items .elementor-icon-list-item::before{background:#7B1A1E}

@media (max-width:1000px){
  .bi-feature-media,.bi-feature--rev .bi-feature-media{order:0;margin-inline:-52px}
}
@media (max-width:760px){
  .bi-feature-media,.bi-feature--rev .bi-feature-media{margin-inline:-18px}
}

/* ============ FOOTER ========================================
   Column widths and grow/shrink are set natively on each
   container (Layout > Width + Size), not here. */

.bi-foot{background-image:radial-gradient(ellipse 110% 90% at 50% 30%,
    rgba(255,226,170,.06) 0%,rgba(0,0,0,0) 45%,rgba(10,4,2,.4) 100%);
  box-shadow:inset 0 3px 0 #C98B35,inset 0 6px 0 #3F1B0F,
             inset 0 7px 0 rgba(241,193,112,.45)}

.bi-foot-claim{max-width:700px}
.bi-capture{outline:1px solid rgba(241,193,112,.16);outline-offset:-7px}

.bi-foot-brand a{color:inherit}
.bi-foot-brand small{display:block;margin-top:3px;
  font-family:"Cinzel",Georgia,serif;font-weight:700;font-size:9px;
  letter-spacing:.26em;text-transform:uppercase;color:rgba(244,237,224,.6)}
.bi-foot-crest{width:auto!important;flex:0 0 auto!important}
.bi-foot-crest img{width:60px!important;height:60px!important;
  max-width:none!important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}

.bi-foot-links a{color:inherit;transition:color .3s var(--bi-ease)}
.bi-foot-links a:hover{color:#F4EDE0}
.bi-foot-legal p{margin:0}
.bi-foot-legal a{color:inherit;text-decoration:underline;text-underline-offset:3px}

@media (max-width:760px){
  .bi-foot-end{align-items:flex-start}
}

@media (prefers-reduced-motion:reduce){
  .bi-pill,.bi-crest .elementor-widget-image{transition:none}
}/* End custom CSS */