.elementor-1286 .elementor-element.elementor-element-46cf492b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1286 .elementor-element.elementor-element-46cf492b:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-46cf492b > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-text ) 0%, var( --e-global-color-secondary ) 61%);}.elementor-1286 .elementor-element.elementor-element-274ced9c{--display:flex;--justify-content:center;--gap:13px 0px;--row-gap:13px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:80px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-63db83e0 > .elementor-widget-container{padding:68px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-63db83e0 .elementor-heading-title{font-family:"Sorts Mill Goudy";font-size:45px;font-weight:500;color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-5d386f7a{font-family:"josefin-slab";font-size:18px;color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-757e465a .elementor-button{background-color:#3D5B9100;font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );fill:var( --e-global-color-accent );color:var( --e-global-color-accent );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-accent );border-radius:23px 23px 23px 23px;padding:10px 45px 10px 45px;}.elementor-1286 .elementor-element.elementor-element-757e465a .elementor-button:hover, .elementor-1286 .elementor-element.elementor-element-757e465a .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-secondary );}.elementor-1286 .elementor-element.elementor-element-757e465a{width:var( --container-widget-width, 63% );max-width:63%;--container-widget-width:63%;--container-widget-flex-grow:0;}.elementor-1286 .elementor-element.elementor-element-757e465a > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 10px 10px 0px;}.elementor-1286 .elementor-element.elementor-element-757e465a .elementor-button:hover svg, .elementor-1286 .elementor-element.elementor-element-757e465a .elementor-button:focus svg{fill:var( --e-global-color-secondary );}.elementor-1286 .elementor-element.elementor-element-3b82d3c1{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:80px;}.elementor-1286 .elementor-element.elementor-element-22fe315 > .elementor-widget-container{padding:0px 0px 0px 0px;border-style:solid;border-width:6px 6px 6px 6px;border-color:var( --e-global-color-accent );border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-1286 .elementor-element.elementor-element-22fe315 img{width:100%;box-shadow:0px 0px 5px 2px rgba(0, 0, 0, 0.29);}.elementor-1286 .elementor-element.elementor-element-1fd99b45{--display:flex;}.elementor-1286 .elementor-element.elementor-element-1fd99b45:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-1fd99b45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-a2d47c4 > .elementor-widget-container{margin:15px 0px 0px 0px;padding:8px 0px 8px 0px;border-style:solid;border-width:2px 0px 2px 0px;border-color:var( --e-global-color-text );border-radius:0px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-a2d47c4{text-align:center;}.elementor-1286 .elementor-element.elementor-element-a2d47c4 .elementor-heading-title{font-family:"josefin-slab";font-size:28px;font-weight:800;color:var( --e-global-color-text );}.elementor-1286 .elementor-element.elementor-element-2af0ae38{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-2af0ae38:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-2af0ae38 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-24158f3b{width:var( --container-widget-width, 42% );max-width:42%;--container-widget-width:42%;--container-widget-flex-grow:0;text-align:center;}.elementor-1286 .elementor-element.elementor-element-24158f3b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:40px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-24158f3b.elementor-element{--align-self:center;}.elementor-1286 .elementor-element.elementor-element-24158f3b img{width:100%;}.elementor-1286 .elementor-element.elementor-element-1ff611a5{--display:flex;}.elementor-1286 .elementor-element.elementor-element-25245671 > .elementor-widget-container{background-color:transparent;padding:40px 40px 40px 40px;background-image:radial-gradient(at center center, var( --e-global-color-text ) 75%, var( --e-global-color-secondary ) 100%);border-style:solid;border-width:2px 2px 2px 2px;border-color:#000000;border-radius:45px 45px 45px 45px;}.elementor-1286 .elementor-element.elementor-element-25245671{text-align:center;font-family:"josefin-slab";color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-39fb2290{--n-accordion-title-font-size:15px;width:var( --container-widget-width, 53% );max-width:53%;--container-widget-width:53%;--container-widget-flex-grow:0;--n-accordion-title-justify-content:center;--n-accordion-title-flex-grow:initial;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-border-radius:10px 10px 10px 10px;--n-accordion-title-normal-color:var( --e-global-color-secondary );--n-accordion-title-hover-color:var( --e-global-color-secondary );--n-accordion-title-active-color:var( --e-global-color-secondary );--n-accordion-icon-size:15px;}.elementor-1286 .elementor-element.elementor-element-39fb2290 > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title{background-color:#FFFDF400;border-style:none;}.elementor-1286 .elementor-element.elementor-element-39fb2290 > .elementor-widget-container{padding:20px 0px 20px 0px;}.elementor-1286 .elementor-element.elementor-element-39fb2290.elementor-element{--align-self:center;}:where( .elementor-1286 .elementor-element.elementor-element-39fb2290 > .elementor-widget-container > .e-n-accordion > .e-n-accordion-item > .e-n-accordion-item-title > .e-n-accordion-item-title-header ) > .e-n-accordion-item-title-text{font-family:"josefin-slab";font-weight:500;}.elementor-1286 .elementor-element.elementor-element-7efcc84d{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-1286 .elementor-element.elementor-element-7efcc84d:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-7efcc84d > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:transparent;background-image:linear-gradient(180deg, var( --e-global-color-text ) 0%, var( --e-global-color-secondary ) 61%);}.elementor-1286 .elementor-element.elementor-element-3bfd1a8c{--display:flex;--padding-top:60px;--padding-bottom:60px;--padding-left:60px;--padding-right:80px;}.elementor-1286 .elementor-element.elementor-element-5c6e28ea > .elementor-widget-container{padding:0px 0px 0px 0px;border-style:solid;border-width:6px 6px 6px 6px;border-color:var( --e-global-color-accent );border-radius:10px 10px 10px 10px;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-1286 .elementor-element.elementor-element-5c6e28ea img{width:100%;box-shadow:0px 0px 5px 2px rgba(0, 0, 0, 0.29);}.elementor-1286 .elementor-element.elementor-element-30995ec5{--display:flex;--justify-content:center;--gap:13px 0px;--row-gap:13px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:80px;}.elementor-1286 .elementor-element.elementor-element-407f6a80{font-family:"adobe-handwriting-ernie";font-size:25px;color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-a38063f > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-a38063f .elementor-heading-title{font-family:"Sorts Mill Goudy";font-size:45px;font-weight:500;color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-3d7a5268{font-family:"josefin-slab";font-size:18px;color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-2774d0e6{--display:flex;--padding-top:32px;--padding-bottom:32px;--padding-left:32px;--padding-right:32px;}.elementor-1286 .elementor-element.elementor-element-2774d0e6:not(.elementor-motion-effects-element-type-background), .elementor-1286 .elementor-element.elementor-element-2774d0e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-1286 .elementor-element.elementor-element-1dce3c42 > .elementor-widget-container{padding:0px 0px 15px 0px;}.elementor-1286 .elementor-element.elementor-element-1dce3c42{text-align:center;}.elementor-1286 .elementor-element.elementor-element-1dce3c42 .elementor-heading-title{font-family:"Sorts Mill Goudy";font-size:39px;font-weight:500;color:var( --e-global-color-secondary );}.elementor-1286 .elementor-element.elementor-element-6aaea71e .elementor-button{background-color:#3D5B9100;font-family:var( --e-global-typography-text-font-family );font-weight:var( --e-global-typography-text-font-weight );fill:var( --e-global-color-secondary );color:var( --e-global-color-secondary );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-secondary );border-radius:23px 23px 23px 23px;padding:10px 45px 10px 45px;}.elementor-1286 .elementor-element.elementor-element-6aaea71e .elementor-button:hover, .elementor-1286 .elementor-element.elementor-element-6aaea71e .elementor-button:focus{background-color:var( --e-global-color-accent );color:var( --e-global-color-secondary );}.elementor-1286 .elementor-element.elementor-element-6aaea71e{width:var( --container-widget-width, 100% );max-width:100%;--container-widget-width:100%;--container-widget-flex-grow:0;}.elementor-1286 .elementor-element.elementor-element-6aaea71e > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 10px 0px;}.elementor-1286 .elementor-element.elementor-element-6aaea71e .elementor-button:hover svg, .elementor-1286 .elementor-element.elementor-element-6aaea71e .elementor-button:focus svg{fill:var( --e-global-color-secondary );}:root{--page-title-display:none;}@media(min-width:768px){.elementor-1286 .elementor-element.elementor-element-3b82d3c1{--width:74%;}.elementor-1286 .elementor-element.elementor-element-3bfd1a8c{--width:74%;}}@media(max-width:767px){.elementor-1286 .elementor-element.elementor-element-274ced9c{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-63db83e0 > .elementor-widget-container{padding:30px 025px 0px 025px;}.elementor-1286 .elementor-element.elementor-element-63db83e0{text-align:center;}.elementor-1286 .elementor-element.elementor-element-5d386f7a > .elementor-widget-container{padding:0px 25px 0px 25px;}.elementor-1286 .elementor-element.elementor-element-5d386f7a{text-align:center;}.elementor-1286 .elementor-element.elementor-element-757e465a > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-757e465a{--container-widget-width:224px;--container-widget-flex-grow:0;width:var( --container-widget-width, 224px );max-width:224px;}.elementor-1286 .elementor-element.elementor-element-757e465a.elementor-element{--align-self:center;}.elementor-1286 .elementor-element.elementor-element-3b82d3c1{--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-1286 .elementor-element.elementor-element-22fe315 > .elementor-widget-container{padding:0px 0px 110px 0px;}.elementor-1286 .elementor-element.elementor-element-2af0ae38{--min-height:234px;--padding-top:21px;--padding-bottom:21px;--padding-left:21px;--padding-right:21px;}.elementor-1286 .elementor-element.elementor-element-24158f3b > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-24158f3b{--container-widget-width:261px;--container-widget-flex-grow:0;width:var( --container-widget-width, 261px );max-width:261px;}.elementor-1286 .elementor-element.elementor-element-24158f3b img{max-width:100%;}.elementor-1286 .elementor-element.elementor-element-25245671 > .elementor-widget-container{padding:10px 10px 10px 10px;}.elementor-1286 .elementor-element.elementor-element-39fb2290{--container-widget-width:1000px;--container-widget-flex-grow:0;width:var( --container-widget-width, 1000px );max-width:1000px;}.elementor-1286 .elementor-element.elementor-element-3bfd1a8c{--padding-top:25px;--padding-bottom:25px;--padding-left:25px;--padding-right:25px;}.elementor-1286 .elementor-element.elementor-element-5c6e28ea > .elementor-widget-container{padding:0px 0px 80px 0px;}.elementor-1286 .elementor-element.elementor-element-30995ec5{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1286 .elementor-element.elementor-element-407f6a80 > .elementor-widget-container{padding:20px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-407f6a80{text-align:center;}.elementor-1286 .elementor-element.elementor-element-a38063f > .elementor-widget-container{padding:0px 025px 0px 025px;}.elementor-1286 .elementor-element.elementor-element-a38063f{text-align:center;}.elementor-1286 .elementor-element.elementor-element-3d7a5268 > .elementor-widget-container{padding:15px 25px 15px 25px;}.elementor-1286 .elementor-element.elementor-element-3d7a5268{text-align:center;}.elementor-1286 .elementor-element.elementor-element-1dce3c42 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-1dce3c42{text-align:center;}.elementor-1286 .elementor-element.elementor-element-6aaea71e > .elementor-widget-container{padding:10px 0px 0px 0px;}.elementor-1286 .elementor-element.elementor-element-6aaea71e{--container-widget-width:224px;--container-widget-flex-grow:0;width:var( --container-widget-width, 224px );max-width:224px;}.elementor-1286 .elementor-element.elementor-element-6aaea71e.elementor-element{--align-self:center;}}/* Start custom CSS for container, class: .elementor-element-1fd99b45 *//*
Elementor Pro Custom CSS (paste into the container's Custom CSS)
Goal: Paper/grain background WITHOUT altering any inner elements.
Key fix: DO NOT style .elementor-1286 .elementor-element.elementor-element-1fd99b45 > * (that can change Elementor widget positioning).

How this works:
- The container becomes a stacking context (isolation + z-index:0)
- Two pseudo-layers sit BEHIND content (negative z-index), but ABOVE the container's background
- No changes to children, so nested containers/widgets won't reflow/warp
*/

.elementor-1286 .elementor-element.elementor-element-1fd99b45{
  /* ===== Tunables ===== */
  --paper-base: #fffdf4;                 /* your exact base */

  /* lighting (cool-but-still-warm) */
  --paper-warm: rgba(255, 244, 225, 0.55);
  --paper-cool: rgba(235, 244, 255, 0.18);
  --paper-shade: rgba(0, 0, 0, 0.045);

  /* grain */
  --grain-opacity: 0.30;                /* more grain */
  --grain-size: 560px;                  /* bigger = coarser */

  /* subtle fibers */
  --fiber-opacity: 0.16;
  /* ==================== */

  background-color: var(--paper-base);

  /* CRITICAL: create a local stacking context so negative z-index layers
     stay behind content but don't escape and interfere with surrounding containers */
  position: relative;
  z-index: 0;
  isolation: isolate;
}

/* Lighting wash (behind content) */
.elementor-1286 .elementor-element.elementor-element-1fd99b45::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* Behind content, above background */
  z-index: -2;

  background-image:
    radial-gradient(1200px circle at 22% 18%, var(--paper-warm), rgba(255,255,255,0) 62%),
    radial-gradient(900px circle at 78% 88%, var(--paper-shade), rgba(0,0,0,0) 58%),
    radial-gradient(800px circle at 80% 22%, var(--paper-cool), rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(0,0,0,0.02), rgba(255,255,255,0) 45%, rgba(255,255,255,0.18));

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* Grain + paper tooth (behind content) */
.elementor-1286 .elementor-element.elementor-element-1fd99b45::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* Above the lighting wash, still behind content */
  z-index: -1;

  /* Primary: SVG fractal noise grain (works in modern browsers) */
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27600%27%20height%3D%27600%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20.50%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27600%27%20height%3D%27600%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E"),

    /* Fibers (very subtle) */
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.012) 0px,
      rgba(0,0,0,0.012) 1px,
      rgba(255,255,255,0) 7px,
      rgba(255,255,255,0) 14px
    ),

    /* Soft vignette to match paper falloff */
    radial-gradient(1400px circle at 50% 50%, rgba(0,0,0,0) 58%, rgba(0,0,0,0.06) 100%);

  background-repeat: repeat, repeat, no-repeat;
  background-size:
    var(--grain-size) var(--grain-size),
    100% 100%,
    cover;
  background-position: 0 0, 0 0, center;

  /* Blend only within this pseudo-layer; does NOT affect content */
  mix-blend-mode: multiply;

  /* Control overall strength */
  opacity: var(--grain-opacity);
}

/*
Optional (only if you need the texture clipped to rounded corners):
WARNING: overflow:hidden can clip dropdowns/shadows.

.elementor-1286 .elementor-element.elementor-element-1fd99b45{ overflow: hidden; }
*/

/*
If you ever see the pseudo-layers not appearing:
- Ensure the container has no background image overriding this
- Ensure Elementor isn't applying a higher z-index background overlay
- Try adding: .elementor-1286 .elementor-element.elementor-element-1fd99b45{ background-image:none; }
*//* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-25245671 */.elementor-1286 .elementor-element.elementor-element-25245671 img {
  border-radius: 25px;
  transform: rotate(3deg);

}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-25245671 */.elementor-1286 .elementor-element.elementor-element-25245671 img {
  border-radius: 25px;
  transform: rotate(3deg);

}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2af0ae38 *//*
Elementor Pro Custom CSS (paste into the container's Custom CSS)
Goal: Paper/grain background WITHOUT altering any inner elements.
Key fix: DO NOT style .elementor-1286 .elementor-element.elementor-element-2af0ae38 > * (that can change Elementor widget positioning).

How this works:
- The container becomes a stacking context (isolation + z-index:0)
- Two pseudo-layers sit BEHIND content (negative z-index), but ABOVE the container's background
- No changes to children, so nested containers/widgets won't reflow/warp
*/

.elementor-1286 .elementor-element.elementor-element-2af0ae38{
  /* ===== Tunables ===== */
  --paper-base: #fffdf4;                 /* your exact base */

  /* lighting (cool-but-still-warm) */
  --paper-warm: rgba(255, 244, 225, 0.55);
  --paper-cool: rgba(235, 244, 255, 0.18);
  --paper-shade: rgba(0, 0, 0, 0.045);

  /* grain */
  --grain-opacity: 0.30;                /* more grain */
  --grain-size: 560px;                  /* bigger = coarser */

  /* subtle fibers */
  --fiber-opacity: 0.16;
  /* ==================== */

  background-color: var(--paper-base);

  /* CRITICAL: create a local stacking context so negative z-index layers
     stay behind content but don't escape and interfere with surrounding containers */
  position: relative;
  z-index: 0;
  isolation: isolate;
}

/* Lighting wash (behind content) */
.elementor-1286 .elementor-element.elementor-element-2af0ae38::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* Behind content, above background */
  z-index: -2;

  background-image:
    radial-gradient(1200px circle at 22% 18%, var(--paper-warm), rgba(255,255,255,0) 62%),
    radial-gradient(900px circle at 78% 88%, var(--paper-shade), rgba(0,0,0,0) 58%),
    radial-gradient(800px circle at 80% 22%, var(--paper-cool), rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(0,0,0,0.02), rgba(255,255,255,0) 45%, rgba(255,255,255,0.18));

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* Grain + paper tooth (behind content) */
.elementor-1286 .elementor-element.elementor-element-2af0ae38::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* Above the lighting wash, still behind content */
  z-index: -1;

  /* Primary: SVG fractal noise grain (works in modern browsers) */
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27600%27%20height%3D%27600%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20.50%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27600%27%20height%3D%27600%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E"),

    /* Fibers (very subtle) */
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.012) 0px,
      rgba(0,0,0,0.012) 1px,
      rgba(255,255,255,0) 7px,
      rgba(255,255,255,0) 14px
    ),

    /* Soft vignette to match paper falloff */
    radial-gradient(1400px circle at 50% 50%, rgba(0,0,0,0) 58%, rgba(0,0,0,0.06) 100%);

  background-repeat: repeat, repeat, no-repeat;
  background-size:
    var(--grain-size) var(--grain-size),
    100% 100%,
    cover;
  background-position: 0 0, 0 0, center;

  /* Blend only within this pseudo-layer; does NOT affect content */
  mix-blend-mode: multiply;

  /* Control overall strength */
  opacity: var(--grain-opacity);
}

/*
Optional (only if you need the texture clipped to rounded corners):
WARNING: overflow:hidden can clip dropdowns/shadows.

.elementor-1286 .elementor-element.elementor-element-2af0ae38{ overflow: hidden; }
*/

/*
If you ever see the pseudo-layers not appearing:
- Ensure the container has no background image overriding this
- Ensure Elementor isn't applying a higher z-index background overlay
- Try adding: .elementor-1286 .elementor-element.elementor-element-2af0ae38{ background-image:none; }
*//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-2774d0e6 *//*
Elementor Pro Custom CSS (paste into the container's Custom CSS)
Goal: Paper/grain background WITHOUT altering any inner elements.
Key fix: DO NOT style .elementor-1286 .elementor-element.elementor-element-2774d0e6 > * (that can change Elementor widget positioning).

How this works:
- The container becomes a stacking context (isolation + z-index:0)
- Two pseudo-layers sit BEHIND content (negative z-index), but ABOVE the container's background
- No changes to children, so nested containers/widgets won't reflow/warp
*/

.elementor-1286 .elementor-element.elementor-element-2774d0e6{
  /* ===== Tunables ===== */
  --paper-base: #fffdf4;                 /* your exact base */

  /* lighting (cool-but-still-warm) */
  --paper-warm: rgba(255, 244, 225, 0.55);
  --paper-cool: rgba(235, 244, 255, 0.18);
  --paper-shade: rgba(0, 0, 0, 0.045);

  /* grain */
  --grain-opacity: 0.30;                /* more grain */
  --grain-size: 560px;                  /* bigger = coarser */

  /* subtle fibers */
  --fiber-opacity: 0.16;
  /* ==================== */

  background-color: var(--paper-base);

  /* CRITICAL: create a local stacking context so negative z-index layers
     stay behind content but don't escape and interfere with surrounding containers */
  position: relative;
  z-index: 0;
  isolation: isolate;
}

/* Lighting wash (behind content) */
.elementor-1286 .elementor-element.elementor-element-2774d0e6::before{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* Behind content, above background */
  z-index: -2;

  background-image:
    radial-gradient(1200px circle at 22% 18%, var(--paper-warm), rgba(255,255,255,0) 62%),
    radial-gradient(900px circle at 78% 88%, var(--paper-shade), rgba(0,0,0,0) 58%),
    radial-gradient(800px circle at 80% 22%, var(--paper-cool), rgba(255,255,255,0) 60%),
    linear-gradient(135deg, rgba(0,0,0,0.02), rgba(255,255,255,0) 45%, rgba(255,255,255,0.18));

  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

/* Grain + paper tooth (behind content) */
.elementor-1286 .elementor-element.elementor-element-2774d0e6::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;

  /* Above the lighting wash, still behind content */
  z-index: -1;

  /* Primary: SVG fractal noise grain (works in modern browsers) */
  background-image:
    url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20width%3D%27600%27%20height%3D%27600%27%3E%3Cfilter%20id%3D%27n%27%3E%3CfeTurbulence%20type%3D%27fractalNoise%27%20baseFrequency%3D%27.58%27%20numOctaves%3D%273%27%20stitchTiles%3D%27stitch%27%2F%3E%3CfeColorMatrix%20type%3D%27matrix%27%20values%3D%270%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20.50%200%27%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%27600%27%20height%3D%27600%27%20filter%3D%27url%28%23n%29%27%2F%3E%3C%2Fsvg%3E"),

    /* Fibers (very subtle) */
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,0.012) 0px,
      rgba(0,0,0,0.012) 1px,
      rgba(255,255,255,0) 7px,
      rgba(255,255,255,0) 14px
    ),

    /* Soft vignette to match paper falloff */
    radial-gradient(1400px circle at 50% 50%, rgba(0,0,0,0) 58%, rgba(0,0,0,0.06) 100%);

  background-repeat: repeat, repeat, no-repeat;
  background-size:
    var(--grain-size) var(--grain-size),
    100% 100%,
    cover;
  background-position: 0 0, 0 0, center;

  /* Blend only within this pseudo-layer; does NOT affect content */
  mix-blend-mode: multiply;

  /* Control overall strength */
  opacity: var(--grain-opacity);
}

/*
Optional (only if you need the texture clipped to rounded corners):
WARNING: overflow:hidden can clip dropdowns/shadows.

.elementor-1286 .elementor-element.elementor-element-2774d0e6{ overflow: hidden; }
*/

/*
If you ever see the pseudo-layers not appearing:
- Ensure the container has no background image overriding this
- Ensure Elementor isn't applying a higher z-index background overlay
- Try adding: .elementor-1286 .elementor-element.elementor-element-2774d0e6{ background-image:none; }
*//* End custom CSS */