.elementor-133271 .elementor-element.elementor-element-e074432{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-133271 .elementor-element.elementor-element-9d0b028{--display:flex;--padding-top:21px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-133271 .elementor-element.elementor-element-fdb066c{width:auto;max-width:auto;font-family:"Playfair Display", Sans-serif;font-size:0px;font-weight:500;text-transform:uppercase;letter-spacing:0.5px;}.elementor-133271 .elementor-element.elementor-element-fdb066c > .elementor-widget-container{padding:11px 11px 11px 11px;}.elementor-133271 .elementor-element.elementor-element-fdb066c.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-3c5a923{--display:flex;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-133271 .elementor-element.elementor-element-ff09799{width:var( --container-widget-width, 91% );max-width:91%;--container-widget-width:91%;--container-widget-flex-grow:0;text-align:center;}.elementor-133271 .elementor-element.elementor-element-ff09799.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-ff09799 .elementor-heading-title{font-family:"Playfair Display", Sans-serif;font-size:43px;font-weight:600;line-height:1.2em;letter-spacing:0.5px;color:#1A1A1A;}.elementor-133271 .elementor-element.elementor-element-65bf682{width:var( --container-widget-width, 48% );max-width:48%;--container-widget-width:48%;--container-widget-flex-grow:0;font-family:"Montserrat", Sans-serif;font-size:18px;font-weight:400;}.elementor-133271 .elementor-element.elementor-element-65bf682 > .elementor-widget-container{padding:0px 0px -8px 0px;}.elementor-133271 .elementor-element.elementor-element-65bf682.elementor-element{--align-self:center;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}.elementor-133271 .elementor-element.elementor-element-49f5b97 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:-10px 0px 0px 0px;}.elementor-133271 .elementor-element.elementor-element-49f5b97.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-ff398f4{text-align:center;font-family:"Playfair Display", Sans-serif;font-size:15px;font-weight:400;line-height:10px;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-133271 .elementor-element.elementor-element-b5b8939{--divider-border-style:solid;--divider-color:#0000004F;--divider-border-width:1px;}.elementor-133271 .elementor-element.elementor-element-b5b8939 .elementor-divider-separator{width:79%;margin:0 auto;margin-center:0;}.elementor-133271 .elementor-element.elementor-element-b5b8939 .elementor-divider{text-align:center;padding-block-start:6px;padding-block-end:6px;}.elementor-133271 .elementor-element.elementor-element-5e902d0{--display:flex;}.elementor-133271 .elementor-element.elementor-element-a74324a.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-a74324a{font-family:"Lora", Sans-serif;font-size:15px;font-weight:400;font-style:normal;line-height:32px;letter-spacing:0.2px;}.elementor-133271 .elementor-element.elementor-element-27ce53a{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-133271 .elementor-element.elementor-element-27ce53a.e-con{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-c4f09f6{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-c4f09f6.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-c4f09f6 img{width:100%;max-width:100%;height:401px;object-fit:contain;object-position:center center;}.elementor-133271 .elementor-element.elementor-element-bd0a388{--display:flex;}.elementor-133271 .elementor-element.elementor-element-87cc04c.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-87cc04c{font-family:"Lora", Sans-serif;font-size:15px;font-weight:400;font-style:normal;line-height:32px;letter-spacing:0.2px;}.elementor-133271 .elementor-element.elementor-element-40cbdd6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--overlay-opacity:0.21;--overlay-mix-blend-mode:multiply;--margin-top:20px;--margin-bottom:20px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:30px;--padding-left:30px;--padding-right:30px;}.elementor-133271 .elementor-element.elementor-element-40cbdd6:not(.elementor-motion-effects-element-type-background), .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://dtmms.org/wp-content/uploads/2025/10/circle-of-the-serpent-wise-emptyjpg.jpg");background-position:center center;background-size:cover;}.elementor-133271 .elementor-element.elementor-element-40cbdd6::before, .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .elementor-background-video-container::before, .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .e-con-inner > .elementor-background-video-container::before, .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .elementor-background-slideshow::before, .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .e-con-inner > .elementor-background-slideshow::before, .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#041224;--background-overlay:'';}.elementor-133271 .elementor-element.elementor-element-46d408b > .elementor-widget-container{margin:54px 0px 0px 0px;padding:4px 4px 4px 4px;}.elementor-133271 .elementor-element.elementor-element-46d408b .elementor-heading-title{font-family:"Amita", Sans-serif;font-size:41px;font-weight:700;color:#FFFFFF;}.elementor-133271 .elementor-element.elementor-element-d9c26bb{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;font-family:"Montserrat", Sans-serif;font-size:16px;font-weight:700;text-shadow:0px 0px 100px #000000;color:#FFFFFF;}.elementor-133271 .elementor-element.elementor-element-8e51322{width:var( --container-widget-width, 60% );max-width:60%;--container-widget-width:60%;--container-widget-flex-grow:0;font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:500;text-shadow:0px 0px 23px #000000;color:#FFFFFF;}.elementor-133271 .elementor-element.elementor-element-8e51322 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-133271 .elementor-element.elementor-element-5a5d6a1 .elementor-button{background-color:#062E2E;fill:#FFFFFF;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#FFFAFA;}.elementor-133271 .elementor-element.elementor-element-f97eabd{--display:flex;}.elementor-133271 .elementor-element.elementor-element-7250c2c.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-7250c2c{font-family:"Lora", Sans-serif;font-size:15px;font-weight:400;font-style:normal;line-height:32px;letter-spacing:0.2px;}.elementor-133271 .elementor-element.elementor-element-69aaa5c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-133271 .elementor-element.elementor-element-69aaa5c.e-con{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-b92a54d{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-b92a54d.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-b04bf43{--display:flex;}.elementor-133271 .elementor-element.elementor-element-366a83c.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-366a83c{font-family:"Lora", Sans-serif;font-size:15px;font-weight:400;font-style:normal;line-height:32px;letter-spacing:0.2px;}.elementor-133271 .elementor-element.elementor-element-e7933c9{--display:flex;}.elementor-133271 .elementor-element.elementor-element-e7933c9:not(.elementor-motion-effects-element-type-background), .elementor-133271 .elementor-element.elementor-element-e7933c9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#DFECEC36;}.elementor-133271 .elementor-element.elementor-element-f76bcea.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-f76bcea{font-family:"Lora", Sans-serif;font-size:15px;font-weight:400;font-style:normal;line-height:32px;letter-spacing:0.2px;}.elementor-133271 .elementor-element.elementor-element-a14af7c{--display:flex;}.elementor-133271 .elementor-element.elementor-element-2b6df3c.elementor-element{--align-self:center;}.elementor-133271 .elementor-element.elementor-element-8a956e2{--display:flex;}.elementor-133271 .elementor-element.elementor-element-b91e736{--alignment:center;--grid-side-margin:29px;--grid-column-gap:29px;--grid-row-gap:10px;--grid-bottom-margin:10px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-133271 .elementor-element.elementor-element-9d0b028{--width:727px;}}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );} .elementor-133271 .elementor-element.elementor-element-b91e736{--grid-side-margin:29px;--grid-column-gap:29px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-133271 .elementor-element.elementor-element-ff09799 .elementor-heading-title{font-size:30px;letter-spacing:0.02em;}.elementor-133271 .elementor-element.elementor-element-65bf682{width:100%;max-width:100%;font-size:14px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}.elementor-133271 .elementor-element.elementor-element-ff398f4{line-height:0.4em;}.elementor-133271 .elementor-element.elementor-element-5e902d0{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-133271 .elementor-element.elementor-element-a74324a{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-c4f09f6{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-87cc04c{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-40cbdd6:not(.elementor-motion-effects-element-type-background), .elementor-133271 .elementor-element.elementor-element-40cbdd6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-repeat:no-repeat;background-size:cover;}.elementor-133271 .elementor-element.elementor-element-40cbdd6{--border-radius:20px 20px 20px 20px;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-133271 .elementor-element.elementor-element-46d408b > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-133271 .elementor-element.elementor-element-46d408b{text-align:center;}.elementor-133271 .elementor-element.elementor-element-46d408b .elementor-heading-title{font-size:27px;}.elementor-133271 .elementor-element.elementor-element-d9c26bb{width:100%;max-width:100%;text-align:center;}.elementor-133271 .elementor-element.elementor-element-8e51322{width:100%;max-width:100%;text-align:center;}.elementor-133271 .elementor-element.elementor-element-5a5d6a1 .elementor-button{border-radius:30px 30px 30px 30px;}.elementor-133271 .elementor-element.elementor-element-7250c2c{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-b92a54d{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-366a83c{width:100%;max-width:100%;}.elementor-133271 .elementor-element.elementor-element-f76bcea{width:100%;max-width:100%;} .elementor-133271 .elementor-element.elementor-element-b91e736{--grid-side-margin:29px;--grid-column-gap:29px;--grid-row-gap:10px;--grid-bottom-margin:10px;}}/* Start custom CSS for text-editor, class: .elementor-element-fdb066c *//* ================================
   GOLD LABEL / CATEGORY BANNER
   ================================ */

/* Banner wrapper */
.elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner{
  position: relative;
  display: inline-block;
  height: 24px;
  line-height: 24px;

  /* Lighten the base gold bar a bit */
  background: #CBB98A;
  
  padding: 0 56px;
  isolation: isolate;
}

/* Remove any side triangles */
.elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner::before,
.elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner::after{
  content: none !important;
}

/* Inner ribbon */
.elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner__inner{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -8px;
  display: inline-block;

  /* Lighter parchment gold gradient */
  background: linear-gradient(to bottom, #E7D8B1, #D2C39A);

  color: #2B2B2B;
  padding: 10px 22px;

  border-radius: 3px;

  /* Slightly brighter gilded edge */
  border: 1px solid rgba(255, 255, 255, 0.45);

  /* Softer, natural layered shadow */
  box-shadow:
    0 8px 18px rgba(0,0,0,0.18),
    0 2px 3px rgba(0,0,0,0.12);

  font: 600 14px/1 Georgia, "Times New Roman", serif;
  letter-spacing: .06em;
  font-variant: small-caps;
  white-space: nowrap;

  /* Gentle text embossing */
  text-shadow: 0 1px 1px rgba(255,255,255,0.4);

  z-index: 2;
}

/* Remove the (old) little top black tails */
.elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner__inner::before,
.elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner__inner::after{
  content: none !important;
}

/* Mobile tweak: tighten padding and shadow slightly */
@media (max-width: 480px){
  .elementor-133271 .elementor-element.elementor-element-fdb066c .o-banner__inner{
    padding: 8px 16px;
    box-shadow:
      0 6px 12px rgba(0,0,0,0.18),
      0 1px 2px rgba(0,0,0,0.12);
  }
}


/* ================================
   AUTHOR BLOCK POLISH
   ================================ */

.author-photo img{
  border: none !important;
  border-radius: 50%;
  box-shadow:
    0 0 0 3px #F7EFD4,
    0 4px 10px rgba(0,0,0,0.25);
}

.author-name,
.author-date{
  text-shadow: 0 1px 1px rgba(255,255,255,0.35);
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9d0b028 */.elementor-133271 .elementor-element.elementor-element-9d0b028{overflow:visible !important;position:relative;z-index:2;}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-e074432 *//* =================================
   ARTICLE LAYOUT & TYPE
   ================================= */
.elementor-133271 .elementor-element.elementor-element-e074432 {
  --article-max: 720px;        /* desktop text column cap */
  --article-pad-m: 18px;       /* mobile side padding */
  --body-color: #1a1a1a;
  --caption-color: #6b6b6b;
  --img-wide-cap: 960px;       /* semi-bleed image cap on desktop */
}

/* ---------- Text column widths ---------- */
@media (min-width: 768px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content {
    max-width: var(--article-max);
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content {
    width: min(96vw, 50ch);
    margin: 0 auto;
    padding-inline: var(--article-pad-m);
  }
}

/* ---------- Typography (body copy) ---------- */
@media (min-width: 1025px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content,
  .elementor-133271 .elementor-element.elementor-element-e074432 .content p {
    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
    font-size: 17px;
    line-height: 1.68;
    letter-spacing: 0.08px;
    color: var(--body-color);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content,
  .elementor-133271 .elementor-element.elementor-element-e074432 .content p {
    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.72;
    letter-spacing: 0.06px;
    color: var(--body-color);
  }
}

@media (max-width: 767px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content,
  .elementor-133271 .elementor-element.elementor-element-e074432 .content :where(p, li, span, em, strong) {
    font-family: "Libre Baskerville", Georgia, serif;
    font-weight: 400;
    font-size: clamp(15.2px, 4.1vw, 16.2px);
    line-height: 1.9;
    letter-spacing: 0.1px;
    color: var(--body-color);
    -webkit-text-size-adjust: 100%;
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content p { margin: 0 0 1.05em; }
}

.elementor-133271 .elementor-element.elementor-element-e074432 .content p { margin: 0 0 0.9em; }

/* =================================
   HERO IMAGE (full-bleed, restrained height)
   Add class "hero" to the HERO container
   ================================= */
.elementor-133271 .elementor-element.elementor-element-e074432 .hero {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  padding: 0;
  overflow: hidden;
  height: clamp(45vh, 50vw, 60vh);
}
.elementor-133271 .elementor-element.elementor-element-e074432 .hero img {
  display: block;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

/* =================================
   INLINE / SECTION IMAGES (own containers)
   Add class "figure" to any non-hero image container
   ================================= */

/* Desktop/Tablet: semi-bleed (wider than text, not edge-to-edge) */
.elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image {
  width: min(92vw, var(--img-wide-cap));
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}

/* Spacing around figures */
.elementor-133271 .elementor-element.elementor-element-e074432 .figure { margin: 24px 0 28px; }
.elementor-133271 .elementor-element.elementor-element-e074432 .caption {
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--caption-color);
  text-align: center;
  margin-top: 6px;
  margin-bottom: 18px;
}

/* Mobile: make non-hero figures full-bleed */
@media (max-width: 767px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure,
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image,
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image .elementor-widget-container,
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image figure {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(-50vw + 50%) !important;
    margin-right: calc(-50vw + 50%) !important;
    padding: 0 !important;
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image img {
    width: 100vw !important;
    max-width: 100vw !important;
    height: auto;
    display: block;
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure { margin: 18px 0 22px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .caption { margin-top: 4px; margin-bottom: 14px; }
}

/* =================================
   TWO-UP IMAGE ROW
   Add class "img-row" to the container that holds two Image widgets
   ================================= */
.elementor-133271 .elementor-element.elementor-element-e074432 .img-row {
  display: flex;
  gap: 16px;
  align-items: stretch;
  justify-content: center;
  width: min(95vw, 1000px);
  margin-inline: auto;
  margin-block: 20px;
}
.elementor-133271 .elementor-element.elementor-element-e074432 .img-row .elementor-widget-image { flex: 1; }
.elementor-133271 .elementor-element.elementor-element-e074432 .img-row img { width: 100%; height: auto; display: block; }

@media (max-width: 767px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .img-row { flex-direction: column; gap: 12px; }
}

/* =================================
   HEADINGS (Galerie-style)
   ================================= */
.elementor-133271 .elementor-element.elementor-element-e074432 .content h1,
.elementor-133271 .elementor-element.elementor-element-e074432 .content h2,
.elementor-133271 .elementor-element.elementor-element-e074432 .content h3 {
  font-family: "Playfair Display", serif;
  font-weight: 600;
  color: #111;
  margin: 0;
}

/* Desktop */
@media (min-width: 1025px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h1 { font-size: 64px; line-height: 1.1; letter-spacing: -0.2px; margin: 18px 0 16px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h2 { font-size: 28px; line-height: 1.25; letter-spacing: -0.1px; margin: 32px 0 12px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h3 { font-size: 22px; line-height: 1.35; margin: 24px 0 10px; }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h1 { font-size: 44px; line-height: 1.12; letter-spacing: -0.15px; margin: 16px 0 14px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h2 { font-size: 24px; line-height: 1.28; margin: 28px 0 10px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h3 { font-size: 20px; line-height: 1.35; margin: 20px 0 8px; }
}

/* Mobile */
@media (max-width: 767px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h1 { font-size: 32px; line-height: 1.15; letter-spacing: -0.1px; margin: 14px 0 10px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h2 { font-size: 23.5px; line-height: 1.28; margin: 22px 0 10px; }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content h3 { font-size: 19px; line-height: 1.33; margin: 16px 0 8px; }
}

/* Housekeeping: remove surprise side padding on key blocks */
.elementor-133271 .elementor-element.elementor-element-e074432 .content,
.elementor-133271 .elementor-element.elementor-element-e074432 .img-row,
.elementor-133271 .elementor-element.elementor-element-e074432 .hero { padding-left: 0; padding-right: 0; }

/* If the theme leaves a top gap when the native title is hidden */
.elementor-133271 .elementor-element.elementor-element-e074432:first-child { margin-top: 0 !important; padding-top: 0 !important; }
/* ====== Tighter figure spacing (desktop + mobile) ====== */

/* kill any container padding and widget margin */
.elementor-133271 .elementor-element.elementor-element-e074432 .figure { 
  padding: 0 !important;
  margin-block: 16px;          /* overall spacing around images on desktop */
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image { 
  margin: 0 !important;        /* Elementor adds margin by default */
}

/* captions sit close to the image */
.elementor-133271 .elementor-element.elementor-element-e074432 .caption {
  margin-top: 6px;
  margin-bottom: 12px;
}

/* reduce the space where text meets a figure */
.elementor-133271 .elementor-element.elementor-element-e074432 .content + .figure {        /* text → image */
  margin-top: 10px;                  /* tighten the gap above the figure */
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure + .content {        /* image → text */
  margin-top: 8px;                   /* tighten the gap below the figure */
}

/* also trim the last/first paragraph around a figure */
.elementor-133271 .elementor-element.elementor-element-e074432 .content + .figure .elementor-widget-image,
.elementor-133271 .elementor-element.elementor-element-e074432 .content p:last-child { 
  margin-bottom: 0.4em;              /* smaller bottom margin on the para before the image */
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure + .content p:first-child {
  margin-top: 0.35em;                /* smaller top margin on the first para after the image */
}
/* ====== Tighter figure spacing (desktop + mobile) ====== */

/* kill any container padding and widget margin */
.elementor-133271 .elementor-element.elementor-element-e074432 .figure { 
  padding: 0 !important;
  margin-block: 16px;          /* overall spacing around images on desktop */
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure .elementor-widget-image { 
  margin: 0 !important;        /* Elementor adds margin by default */
}

/* captions sit close to the image */
.elementor-133271 .elementor-element.elementor-element-e074432 .caption {
  margin-top: 6px;
  margin-bottom: 12px;
}

/* reduce the space where text meets a figure */
.elementor-133271 .elementor-element.elementor-element-e074432 .content + .figure {        /* text → image */
  margin-top: 10px;                  /* tighten the gap above the figure */
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure + .content {        /* image → text */
  margin-top: 8px;                   /* tighten the gap below the figure */
}

/* also trim the last/first paragraph around a figure */
.elementor-133271 .elementor-element.elementor-element-e074432 .content + .figure .elementor-widget-image,
.elementor-133271 .elementor-element.elementor-element-e074432 .content p:last-child { 
  margin-bottom: 0.4em;              /* smaller bottom margin on the para before the image */
}
.elementor-133271 .elementor-element.elementor-element-e074432 .figure + .content p:first-child {
  margin-top: 0.35em;                /* smaller top margin on the first para after the image */
}

/* ----- Mobile: even tighter ----- */
@media (max-width: 767px) {
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure { 
    margin-block: 12px;              /* overall space around images on phones */
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .caption { 
    margin-top: 4px; 
    margin-bottom: 8px; 
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content + .figure { 
    margin-top: 8px; 
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure + .content { 
    margin-top: 6px; 
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .content p:last-child { 
    margin-bottom: 0.3em; 
  }
  .elementor-133271 .elementor-element.elementor-element-e074432 .figure + .content p:first-child { 
    margin-top: 0.3em; 
  }
}
/* === DESKTOP HERO: full-bleed width, height ≤ 50vh === */
@media (min-width:1025px){

  /* 1) Remove Elementor's boxed max-width on THIS hero container */
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero.e-con-boxed{
    --container-max-width: 100vw !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }

  /* 2) Make the hero container full-bleed */
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero{
    position: relative;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;

    /* cap visual height to ~half the screen */
    height: 50vh !important;         /* hard cap */
    min-height: 420px;               /* optional floor so it doesn’t get too short */
    overflow: hidden;
    padding: 0 !important;
  }

  /* 3) Make all inner wrappers fill the container */
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero > .e-con-inner,
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero .elementor-widget-image,
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero .elementor-widget-container,
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero figure{
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 4) Make the image cover the area */
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero img{
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center center;
  }
}

/* Tablet: keep it full-bleed, a touch shorter */
@media (min-width:768px) and (max-width:1024px){
  .elementor-133271 .elementor-element.elementor-element-e074432 .hero{
    width: 100vw !important;
    max-width: 100vw !important;
    left: 50%; margin-left: -50vw; right: 50%; margin-right: -50vw;
    height: min(56vw, 50vh) !important;
  }
}

}/* End custom CSS */