.elementor-6421 .elementor-element.elementor-element-ac829ff{--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:flex-start;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6421 .elementor-element.elementor-element-25abe06{--display:flex;}.elementor-6421 .elementor-element.elementor-element-eb2d255{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6421 .elementor-element.elementor-element-aabe967{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-between;--align-items:center;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--flex-wrap:nowrap;}.elementor-6421 .elementor-element.elementor-element-0e31c05{--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;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-6421 .elementor-element.elementor-element-27eba69{--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;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--flex-wrap:wrap;}.elementor-6421 .elementor-element.elementor-element-b9bd0ba{--display:flex;}.elementor-6421 .elementor-element.elementor-element-c85e3a3{--display:flex;}.elementor-6421 .elementor-element.elementor-element-00a2f45{--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;--gap:18px 18px;--row-gap:18px;--column-gap:18px;}.elementor-6421 .elementor-element.elementor-element-ced674f{--grid-columns:3;}.elementor-6421 .elementor-element.elementor-element-e5164cd{--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;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6421 .elementor-element.elementor-element-4160262{--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;--gap:10px 10px;--row-gap:10px;--column-gap:10px;}.elementor-6421 .elementor-element.elementor-element-93e02ae{--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-6421 .elementor-element.elementor-element-1bd6dc7{--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;--align-items:stretch;--gap:14px 14px;--row-gap:14px;--column-gap:14px;}.elementor-6421 .elementor-element.elementor-element-9707c3f{--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;--align-items:stretch;--gap:12px 12px;--row-gap:12px;--column-gap:12px;}.elementor-6421 .elementor-element.elementor-element-2e09ddc{text-align:start;}.elementor-6421 .elementor-element.elementor-element-f7b8047{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--flex-wrap:wrap;--align-content:center;}.elementor-6421 .elementor-element.elementor-element-a845d01{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:12px 12px;--row-gap:12px;--column-gap:12px;--flex-wrap:wrap;}.elementor-6421 .elementor-element.elementor-element-a6864b3{--display:flex;}@media(max-width:1024px){.elementor-6421 .elementor-element.elementor-element-aabe967{--flex-wrap:wrap;--align-content:space-between;}.elementor-6421 .elementor-element.elementor-element-ced674f{--grid-columns:2;}}@media(max-width:767px){.elementor-6421 .elementor-element.elementor-element-ced674f{--grid-columns:1;}}/* Start custom CSS for container, class: .elementor-element-ac829ff *//* =========================================================
   Sanna Styles — HUB TEMPLATE CSS (Elementor Custom CSS)
   Paste into: OUTER WRAPPER container with class "ss-hub"
   Scope: .elementor-6421 .elementor-element.elementor-element-ac829ff = that wrapper only
   ========================================================= */

/* ---------- Base + Variables ---------- */
.elementor-6421 .elementor-element.elementor-element-ac829ff{
  --ss-pink: #EC3458;
  --ss-charcoal: #121212;
  --ss-cream: #FFFDFB;
  --ss-white: #FFFFFF;

  --ss-text: rgba(18,18,18,.92);
  --ss-muted: rgba(18,18,18,.70);
  --ss-micro: rgba(18,18,18,.62);
  --ss-border: rgba(18,18,18,.12);

  --ss-radius-lg: 22px;
  --ss-radius-md: 16px;

  --ss-shadow: 0 10px 30px rgba(18,18,18,.10);
  --ss-shadow-soft: 0 8px 24px rgba(18,18,18,.08);

  --ss-max: 1160px;
  --ss-pad: 22px;

  background: var(--ss-cream) !important;
  color: var(--ss-text) !important;
}

/* Prevent theme styles from shrinking/altering Elementor containers */
.elementor-6421 .elementor-element.elementor-element-ac829ff .e-con,
.elementor-6421 .elementor-element.elementor-element-ac829ff .elementor-element{
  box-sizing: border-box !important;
}

/* ---------- Standard section + wrapper spacing ---------- */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-section{
  padding: 56px 0 !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-wrapper{
  max-width: var(--ss-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--ss-pad) !important;
  padding-right: var(--ss-pad) !important;
}

/* ---------- Typography tokens (works across hub template + post content widgets) ---------- */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-h1 .elementor-heading-title{
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.06 !important;
  color: var(--ss-text) !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-h2 .elementor-heading-title{
  font-weight: 720 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.14 !important;
  color: var(--ss-text) !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-h3 .elementor-heading-title{
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.18 !important;
  color: var(--ss-text) !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-body,
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-body p{
  color: var(--ss-muted) !important;
  line-height: 1.65 !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-micro,
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-micro p{
  color: var(--ss-micro) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin: 0 !important;
}

/* Remove weird theme margins on Elementor text widgets */
.elementor-6421 .elementor-element.elementor-element-ac829ff .elementor-widget-text-editor p{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ---------- HERO (Section 1) ---------- */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hub-hero{
  background:
    radial-gradient(900px 500px at 10% 0%, rgba(236,52,88,.10), transparent 55%),
    radial-gradient(900px 500px at 90% 10%, rgba(18,18,18,.06), transparent 55%) !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hero-grid{ gap: 26px !important; }
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hero-copy{ gap: 16px !important; }

.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hero-cta-row{
  gap: 12px !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hero-image img{
  width: 100% !important;
  height: auto !important;
  border-radius: var(--ss-radius-lg) !important;
  border: 1px solid var(--ss-border) !important;
  box-shadow: var(--ss-shadow-soft) !important;
  display: block !important;
}

/* Ensure hero columns behave */
@media (max-width: 1024px){
  .elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hero-grid{ flex-wrap: wrap !important; }
}

/* ---------- BUTTON SYSTEM ---------- */
/* Force Elementor button resets so theme doesn’t override */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn .elementor-button,
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn .elementor-button:visited{
  border-radius: 999px !important;
  padding: 12px 18px !important;
  font-weight: 700 !important;
  letter-spacing: .01em !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: transform .12s ease, box-shadow .12s ease, background-color .12s ease, color .12s ease, border-color .12s ease !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn .elementor-button:hover{
  transform: translateY(-1px) !important;
  box-shadow: var(--ss-shadow-soft) !important;
}

/* Primary */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn--primary .elementor-button{
  background: var(--ss-pink) !important;
  color: #fff !important;
  border: 1px solid rgba(236,52,88,.35) !important;
}
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn--primary .elementor-button:hover{
  background: #d92f50 !important;
}

/* Ghost */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn--ghost .elementor-button{
  background: transparent !important;
  color: var(--ss-text) !important;
  border: 1px solid var(--ss-border) !important;
}
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn--ghost .elementor-button:hover{
  background: rgba(18,18,18,.04) !important;
  border-color: rgba(18,18,18,.18) !important;
}

/* Small */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-btn--sm .elementor-button{
  padding: 10px 14px !important;
  font-size: 14px !important;
}

/* ---------- CHOOSER (Section 2) ---------- */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hub-chooser .ss-card-grid{
  margin-top: 10px !important;
}

/* Loop Grid items (covers most loop outputs) */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-card-grid .e-loop-item,
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-card-grid .elementor-loop-container .e-loop-item{
  background: var(--ss-white) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: var(--ss-radius-md) !important;
  box-shadow: var(--ss-shadow-soft) !important;
  overflow: hidden !important;
}

/* If your loop template uses .ss-card (optional safety) */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-card-grid .ss-card{
  background: var(--ss-white) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: var(--ss-radius-md) !important;
  box-shadow: var(--ss-shadow-soft) !important;
  overflow: hidden !important;
}

/* Remove “nothing found” spacing if query fails */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-card-grid .e-loop-nothing-found-message{
  padding: 0 !important;
  margin: 0 !important;
}

/* ---------- LONGFORM WRAPPER (Section 3) ---------- */
/* Keep this light; unique longform CSS belongs on #ss-svc-longform container */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hub-longform .ss-hub-longform{
  gap: 0 !important;
}

/* ---------- CTA PANEL (Section 4) ---------- */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-hub-cta{
  padding-top: 40px !important;
  padding-bottom: 70px !important;
}

/* Premium panel utility used by CTA panel */
.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-proof-frame{
  background: var(--ss-white) !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: var(--ss-radius-lg) !important;
  padding: 22px !important;
  box-shadow: var(--ss-shadow) !important;
}

/* CTA internal layout hardening */
.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-cta-panel{ gap: 12px !important; }

.elementor-6421 .elementor-element.elementor-element-ac829ff #ss-cta-row{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-cta-buttons{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  align-items: center !important;
}

.elementor-6421 .elementor-element.elementor-element-ac829ff .ss-cta-micro-wrap{
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
}

@media (max-width: 640px){
  .elementor-6421 .elementor-element.elementor-element-ac829ff .ss-cta-micro-wrap{
    align-items: flex-start !important;
  }
}

/* Safety: avoid theme styling headings with extra margins */
.elementor-6421 .elementor-element.elementor-element-ac829ff .elementor-widget-heading .elementor-heading-title{
  margin: 0 !important;
}/* End custom CSS */