.elementor-2831 .elementor-element.elementor-element-ap310002{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310014{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310013{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310009{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310008{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310006 .elementor-button{border-radius:30px 30px 30px 30px;padding:15px 15px 15px 15px;}.elementor-2831 .elementor-element.elementor-element-ap310007 .elementor-button{border-radius:30px 30px 30px 30px;padding:15px 15px 15px 15px;}.elementor-2831 .elementor-element.elementor-element-ap310012{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310011{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310028{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310027{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310019{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310016{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310018{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310026{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310025{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310024 .elementor-button{border-radius:30px 30px 30px 30px;padding:15px 15px 15px 15px;}.elementor-2831 .elementor-element.elementor-element-ap310041{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310040{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310038{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310031{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310034{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310037{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310049{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310048{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310044{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310047{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310046{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310066{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310065{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310052{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310051{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310064{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310063{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310056{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310059{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310062{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310079{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310078{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310069{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310068{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310077{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310076{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310075{--display:flex;}.elementor-2831 .elementor-element.elementor-element-ap310073 .elementor-button{border-radius:30px 30px 30px 30px;padding:15px 15px 15px 15px;}.elementor-2831 .elementor-element.elementor-element-ap310074 .elementor-button{border-radius:30px 30px 30px 30px;padding:15px 15px 15px 15px;}.elementor-2831 .elementor-element.elementor-element-ap310081{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-2831 .elementor-element.elementor-element-ap310074 .elementor-button{line-height:1.75em;}}/* Start custom CSS *//* ============================================================
   Soggy Weather Fly Control - page 2831
   Layout + styling for the ARMRA-style block set.
   Content lives in Elementor widgets; this drives all layout.
   ============================================================ */
:root{
  --spl-green:#709C89; --spl-green-dark:#41715F; --spl-green-pale:#C2DBD0;
  --spl-yellow:#FCD607; --spl-yellow-pale:#F8EBB6; --spl-cream:#FDFAF2;
  --spl-ink:#231F20; --spl-body:#2F332F; --spl-soft:#717870; --spl-rule:#D3DAD2;
  --spl-serif:"Minion Variable Concept","Minion Pro",Georgia,"Times New Roman",serif;
  --spl-sans:"Helvetica Neue",Helvetica,-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --spl-maxw:1240px;
  --spl-gutter:clamp(20px,5vw,64px);
  --spl-bleed:max(0px, (100vw - var(--spl-maxw)) / 2 + var(--spl-gutter));
  --spl-sec:clamp(56px,8vw,116px);
}

/* page wash - sections sit transparent on top of it */
body.elementor-page-2831{
  background:linear-gradient(180deg,var(--spl-green-pale) -4%,var(--spl-cream) 38%,
             var(--spl-cream) 62%,var(--spl-yellow-pale) 112%) !important;
  overflow-x:clip;
}
body.elementor-page-2831 .site-main,
body.elementor-page-2831 .site-content,
body.elementor-page-2831 main{background:transparent !important}

/* base typography inside the page */
.elementor-2831{font-family:var(--spl-sans);color:var(--spl-body);
  font-size:clamp(16px,1.05vw,18px);line-height:1.62;-webkit-font-smoothing:antialiased}
.elementor-2831 p{margin:0}
.elementor-2831 a:focus-visible{outline:2px solid var(--spl-ink);outline-offset:3px}

/* ---- structural containers ---- */
.elementor-2831 .wrap{max-width:var(--spl-maxw) !important;margin-inline:auto !important;
  padding-inline:var(--spl-gutter) !important}
.elementor-2831 .sec{padding-block:var(--spl-sec) !important;gap:0 !important}
.elementor-2831 .split{display:grid !important;grid-template-columns:1fr !important;
  gap:clamp(32px,4vw,72px) !important;align-items:center !important;padding:0 !important}
.elementor-2831 .copy{padding:0 !important;gap:0 !important}
.elementor-2831 .stack{display:flex !important;flex-direction:column !important;
  align-items:flex-start !important;gap:clamp(20px,2.2vw,30px) !important}
.elementor-2831 .media{position:relative !important;padding:0 !important;gap:0 !important}
/* The frame is an aspect-ratio box. Elementor containers are flex, and a
   percentage height on a flex item inside an aspect-ratio box collapses to the
   image's intrinsic height - so pin the image widget to the frame with inset
   instead of relying on height:100% cascading down. */
.elementor-2831 .frame{position:relative !important;overflow:hidden !important;
  display:block !important;padding:0 !important;gap:0 !important;aspect-ratio:4/3}
/* NB: no child combinators anywhere in this stylesheet - Elementor
   HTML-escapes the child-combinator character when it writes page Custom CSS
   to disk, which silently breaks the rule. Descendant body.elementor-page-2831s only. */
.elementor-2831 .frame .elementor-widget-image{position:absolute !important;
  inset:0 !important;width:100% !important;height:100% !important;margin:0 !important}
.elementor-2831 .frame .elementor-widget-container,
.elementor-2831 .frame .elementor-image{height:100% !important;width:100% !important}
.elementor-2831 .frame img{width:100% !important;height:100% !important;
  object-fit:cover;display:block}
.elementor-2831 .frame--tall{aspect-ratio:4/5}

/* per-image focal points */
.elementor-2831 .op-hero  img{object-position:52% 30%}
.elementor-2831 .op-wet   img{object-position:50% 45%}
.elementor-2831 .op-flies img{object-position:58% 42%}
.elementor-2831 .op-box   img{object-position:50% 50%}
.elementor-2831 .op-dawn  img{object-position:50% 35%}

/* ---- type roles ---- */
.elementor-2831 .eyebrow,.elementor-2831 .eyebrow .elementor-heading-title{
  font-family:var(--spl-sans);font-size:12px;font-weight:600;letter-spacing:.16em;
  text-transform:uppercase;color:var(--spl-green-dark);line-height:1.1}
.elementor-2831 .h1 .elementor-heading-title{font-family:var(--spl-serif);font-weight:700;
  font-size:clamp(38px,6.1vw,66px);line-height:1.03;letter-spacing:-.01em;
  color:var(--spl-ink);text-wrap:balance}
.elementor-2831 .h2 .elementor-heading-title{font-family:var(--spl-serif);font-weight:700;
  font-size:clamp(30px,4.3vw,50px);line-height:1.08;letter-spacing:-.005em;
  color:var(--spl-ink);text-wrap:balance}
.elementor-2831 .h2 .soft{display:block;color:var(--spl-green-dark)}
.elementor-2831 .lede p{font-size:clamp(17px,1.35vw,20px);line-height:1.55;
  color:var(--spl-body)}
.elementor-2831 .meta p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--spl-soft)}
.elementor-2831 .prose p + p{margin-top:1.05em}
.elementor-2831 .prose a{text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px}

/* ---- buttons ---- */
.elementor-2831 .btns{display:flex !important;flex-direction:row !important;
  flex-wrap:wrap !important;gap:12px !important;padding:0 !important;width:auto}
.elementor-2831 .btn .elementor-button{display:inline-flex;align-items:center;
  justify-content:center;font-family:var(--spl-sans);font-size:13px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;padding:18px 30px;border-radius:2px;
  border:1px solid transparent;line-height:1;min-height:56px;
  transition:background .18s,color .18s,border-color .18s;text-decoration:none}
.elementor-2831 .btn--solid .elementor-button{background:var(--spl-green-dark);color:#fff}
.elementor-2831 .btn--solid .elementor-button:hover{background:var(--spl-ink);color:#fff}
.elementor-2831 .btn--ghost .elementor-button{background:transparent;color:var(--spl-ink);
  border-color:var(--spl-ink)}
.elementor-2831 .btn--ghost .elementor-button:hover{background:var(--spl-ink);color:#fff}

/* ---- yellow circle badge ---- */
.elementor-2831 .split--badge{--spl-badgeW:min(62vw,290px)}
.elementor-2831 .badge{position:absolute !important;z-index:2;border-radius:50%;
  background:var(--spl-yellow);display:grid !important;place-content:center;
  text-align:center;width:var(--spl-badgeW);aspect-ratio:1;padding:8% !important;
  gap:0 !important}
.elementor-2831 .badge ul{list-style:none;padding:0;margin:0;display:grid;gap:.28em}
.elementor-2831 .badge li{font-size:clamp(13px,3.4vw,16px);font-weight:600;
  line-height:1.24;color:var(--spl-ink)}
.elementor-2831 .badge .badge__cap{font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:#7a6702;margin:0 0 .7em;font-weight:700}

/* ---- checklist + callout ---- */
.elementor-2831 .check{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.elementor-2831 .check li{position:relative;padding-left:38px;
  font-size:clamp(16px,1.1vw,17.5px);line-height:1.5}
.elementor-2831 .check li::before{content:"";position:absolute;left:0;top:.05em;
  width:24px;height:24px;border-radius:50%;background:var(--spl-yellow)}
.elementor-2831 .check li::after{content:"";position:absolute;left:7px;top:.44em;
  width:10px;height:5px;border-left:2px solid var(--spl-ink);
  border-bottom:2px solid var(--spl-ink);transform:rotate(-45deg)}
.elementor-2831 .callout .elementor-widget-container{background:rgba(255,255,255,.72);
  border-left:3px solid var(--spl-green);padding:20px 22px}
.elementor-2831 .callout p{font-size:15.5px;line-height:1.55}

/* ---- stat band ---- */
.elementor-2831 .band{background:var(--spl-green-dark);color:#fff;padding:0 !important;
  gap:0 !important}
.elementor-2831 .band .wrap{padding-inline:var(--spl-gutter) !important;gap:0 !important}
.elementor-2831 .stats{display:grid !important;grid-template-columns:1fr !important;
  gap:0 !important;padding:0 !important}
.elementor-2831 .stat{padding:clamp(26px,3vw,40px) 0 !important;gap:0 !important}
.elementor-2831 .stat + .stat{border-top:1px solid rgba(255,255,255,.22)}
.elementor-2831 .stat__n .elementor-heading-title{font-family:var(--spl-serif);
  font-weight:700;font-size:clamp(44px,6vw,72px);line-height:1;letter-spacing:-.02em;
  color:#fff}
.elementor-2831 .stat__n small{font-size:.42em;letter-spacing:0;margin-left:.12em;
  font-weight:700}
.elementor-2831 .stat__l p{margin-top:.7em;font-size:14.5px;line-height:1.45;
  color:rgba(255,255,255,.86);max-width:34ch}
.elementor-2831 .band__foot p{padding-bottom:clamp(28px,3vw,44px);font-size:11.5px;
  letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}

/* ---- numbered steps ---- */
.elementor-2831 .steps{display:grid !important;gap:clamp(26px,3vw,38px) !important;
  padding:0 !important;width:100%}
.elementor-2831 .step{display:grid !important;grid-template-columns:auto 1fr !important;
  gap:18px !important;align-items:start !important;padding:0 !important}
.elementor-2831 .step__n .elementor-heading-title{font-family:var(--spl-serif);
  font-weight:700;font-size:20px;line-height:46px;color:var(--spl-ink);
  width:46px;height:46px;border-radius:50%;background:var(--spl-yellow);
  display:block;text-align:center}
.elementor-2831 .step p{font-size:clamp(15.5px,1.05vw,17px);line-height:1.55}

/* ---- closing CTA card ---- */
.elementor-2831 .cta__card{background:rgba(255,255,255,.66);
  padding:clamp(28px,3.4vw,52px) !important}

/* ---- utility bar ---- */
.elementor-2831 .util-bar{padding:0 !important}
.elementor-2831 .util{background:var(--spl-yellow);color:var(--spl-ink);text-align:center;
  font-size:13px;font-weight:600;letter-spacing:.06em;padding:12px 20px}
.elementor-2831 .util a{text-decoration:none;white-space:nowrap;color:var(--spl-ink)}

/* ---- sticky mobile action bar ---- */
.elementor-2831 .sticky-wrap{padding:0 !important}
.elementor-2831 .sticky{position:sticky;bottom:0;z-index:20;display:grid;
  grid-template-columns:1fr 1fr;gap:1px;background:var(--spl-rule);
  border-top:1px solid var(--spl-rule)}
.elementor-2831 .sticky a{background:#fff;color:var(--spl-ink);text-decoration:none;
  text-align:center;padding:16px 8px;font-size:12.5px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;min-height:56px;display:flex;
  align-items:center;justify-content:center}
.elementor-2831 .sticky a:first-child{background:var(--spl-green-dark);color:#fff}

/* ---- mobile: full-bleed media, circle straddles the bottom edge ---- */
@media (max-width:899px){
  .elementor-2831 .media--bleed{width:calc(100% + var(--spl-gutter) * 2) !important;
    margin-inline:calc(var(--spl-gutter) * -1) !important}
  .elementor-2831 .frame,
  .elementor-2831 .frame--tall{aspect-ratio:16/11}
  .elementor-2831 .frame--portrait{aspect-ratio:4/5}
  .elementor-2831 .badge{left:50%;bottom:0;transform:translate(-50%,45%)}
  .elementor-2831 .split--badge .media{
    margin-bottom:calc(var(--spl-badgeW) * .45 + 20px) !important}
  .elementor-2831 .split{gap:clamp(26px,6vw,40px) !important}
}

/* ---- desktop ---- */
@media (min-width:900px){
  .elementor-2831 .split{grid-template-columns:1fr 1fr !important;
    gap:clamp(40px,5vw,80px) !important}
  .elementor-2831 .split--mediaRight .media{width:calc(100% + var(--spl-bleed))}
  .elementor-2831 .split--mediaLeft .media{width:calc(100% + var(--spl-bleed));
    margin-left:calc(var(--spl-bleed) * -1);grid-column:1}
  .elementor-2831 .split--mediaLeft .copy{grid-column:2}
  .elementor-2831 .frame{aspect-ratio:1}
  .elementor-2831 .frame--tall{aspect-ratio:4/5}
  .elementor-2831 .frame--hero{aspect-ratio:auto;height:clamp(430px,64vh,700px)}
  .elementor-2831 .frame--portrait{aspect-ratio:3/4}
  .elementor-2831 .badge{left:auto;right:-44px;top:auto;bottom:7%;transform:none;
    width:min(23vw,280px)}
  .elementor-2831 .stats{grid-template-columns:repeat(3,1fr) !important;
    gap:clamp(28px,3vw,48px) !important}
  .elementor-2831 .stat{padding:clamp(34px,4vw,56px) 0 clamp(28px,3vw,40px) !important}
  .elementor-2831 .stat + .stat{border-top:0}
  .elementor-2831 .steps{gap:clamp(22px,2.4vw,32px) !important}
  .elementor-2831 .sticky{display:none}
  .elementor-2831 .cta__card{background:transparent;padding:0 !important}
}

@media (prefers-reduced-motion:reduce){
  .elementor-2831 *{transition:none !important;animation:none !important}
}/* End custom CSS */