.elementor-kit-7{--e-global-color-primary:#FEC700;--e-global-color-secondary:#2C2A29;--e-global-color-text:#717171;--e-global-color-accent:#7AC7C9;--e-global-color-dd5b909:#A4B4B1;--e-global-color-b6875a2:#E4E5E1;--e-global-color-ab82398:#FF7E66;--e-global-color-7b0346c:#F86F23;--e-global-color-f106164:#FFE100;--e-global-typography-primary-font-family:"polymath-display";--e-global-typography-primary-font-weight:900;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-secondary-font-family:"polymath";--e-global-typography-secondary-font-weight:300;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"polymath-text";--e-global-typography-text-font-weight:400;--e-global-typography-text-letter-spacing:-0.2px;--e-global-typography-accent-font-family:"polymath-text";--e-global-typography-accent-font-weight:700;--e-global-typography-accent-letter-spacing:-0.2px;--e-global-typography-a738177-font-family:"polymath-display";--e-global-typography-a738177-font-size:75px;--e-global-typography-a738177-font-weight:900;--e-global-typography-a738177-text-transform:uppercase;--e-global-typography-a738177-line-height:70px;--e-global-typography-c0c09e8-font-family:"polymath-display";--e-global-typography-c0c09e8-font-size:75px;--e-global-typography-c0c09e8-font-weight:400;--e-global-typography-c0c09e8-text-transform:uppercase;--e-global-typography-c0c09e8-line-height:70px;--e-global-typography-c61b898-font-family:"polymath-text";--e-global-typography-c61b898-font-size:28px;--e-global-typography-c61b898-font-weight:400;--e-global-typography-c61b898-text-transform:none;--e-global-typography-c61b898-line-height:34px;--e-global-typography-c61b898-letter-spacing:-0.4px;--e-global-typography-5061e7f-font-family:"polymath-text";--e-global-typography-5061e7f-font-size:28px;--e-global-typography-5061e7f-font-weight:400;--e-global-typography-5061e7f-line-height:34px;--e-global-typography-5061e7f-letter-spacing:0px;--e-global-typography-e3fbcd6-font-family:"polymath-display";--e-global-typography-e3fbcd6-font-size:50px;--e-global-typography-e3fbcd6-font-weight:900;--e-global-typography-e3fbcd6-text-transform:uppercase;--e-global-typography-e3fbcd6-line-height:40px;--e-global-typography-e3fbcd6-letter-spacing:1.1px;--e-global-typography-ee55e4c-font-family:"polymath-display";--e-global-typography-ee55e4c-font-size:50px;--e-global-typography-ee55e4c-font-weight:300;--e-global-typography-ee55e4c-text-transform:uppercase;--e-global-typography-ee55e4c-line-height:40px;--e-global-typography-ee55e4c-letter-spacing:1px;--e-global-typography-a4efeb0-font-family:"polymath-text";--e-global-typography-a4efeb0-font-size:26px;--e-global-typography-a4efeb0-font-weight:400;--e-global-typography-a4efeb0-text-transform:none;--e-global-typography-a4efeb0-line-height:34px;--e-global-typography-a4efeb0-letter-spacing:-0.6px;--e-global-typography-58277d0-font-family:"polymath";--e-global-typography-58277d0-font-size:42px;--e-global-typography-58277d0-text-transform:uppercase;--e-global-typography-58277d0-line-height:38px;--e-global-typography-58277d0-letter-spacing:0.2px;--e-global-typography-912e63f-font-family:"polymath-display";--e-global-typography-912e63f-font-size:32px;--e-global-typography-912e63f-font-weight:900;--e-global-typography-912e63f-text-transform:uppercase;--e-global-typography-912e63f-line-height:30px;--e-global-typography-912e63f-letter-spacing:1px;--e-global-typography-5d8c536-font-family:"polymath";--e-global-typography-5d8c536-font-size:24px;--e-global-typography-5d8c536-font-weight:300;--e-global-typography-5d8c536-text-transform:uppercase;--e-global-typography-5d8c536-letter-spacing:3px;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 e-page-transition{background-color:var( --e-global-color-primary );}.elementor-kit-7 a{color:var( --e-global-color-accent );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 h1{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-a738177-font-family ), Sans-serif;font-size:var( --e-global-typography-a738177-font-size );font-weight:var( --e-global-typography-a738177-font-weight );text-transform:var( --e-global-typography-a738177-text-transform );line-height:var( --e-global-typography-a738177-line-height );}.elementor-kit-7 h2{color:var( --e-global-color-secondary );font-family:"polymath-display", Sans-serif;font-size:50px;font-weight:900;text-transform:uppercase;line-height:40px;letter-spacing:1.6px;}.elementor-kit-7 h3{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );}.elementor-kit-7 h4{font-family:"polymath", Sans-serif;}.elementor-kit-7 h5{color:var( --e-global-color-secondary );font-family:"polymath-text", Sans-serif;font-size:22px;font-weight:300;text-transform:uppercase;line-height:24px;letter-spacing:-1px;word-spacing:1px;}.elementor-kit-7 img{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.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);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-7{--e-global-typography-a738177-font-size:75px;--e-global-typography-a738177-line-height:0.85em;--e-global-typography-a738177-letter-spacing:1.8px;--e-global-typography-c0c09e8-font-size:75px;--e-global-typography-c0c09e8-line-height:0.85em;--e-global-typography-c61b898-letter-spacing:-0.8px;--e-global-typography-5061e7f-font-size:24px;--e-global-typography-5061e7f-letter-spacing:-0.2px;--e-global-typography-e3fbcd6-font-size:40px;--e-global-typography-e3fbcd6-line-height:34px;--e-global-typography-e3fbcd6-letter-spacing:1.6px;--e-global-typography-ee55e4c-font-size:40px;--e-global-typography-ee55e4c-line-height:34px;--e-global-typography-ee55e4c-letter-spacing:1px;letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 a{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 h1{font-size:var( --e-global-typography-a738177-font-size );line-height:var( --e-global-typography-a738177-line-height );}.elementor-kit-7 h2{font-size:40px;line-height:34px;letter-spacing:1.6px;}.elementor-kit-7 h4{font-size:40px;line-height:36em;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7{--e-global-typography-text-font-size:20px;--e-global-typography-text-line-height:1.4em;--e-global-typography-text-letter-spacing:-0.6px;--e-global-typography-5061e7f-font-size:18px;--e-global-typography-5061e7f-line-height:1.4em;--e-global-typography-e3fbcd6-font-size:38px;--e-global-typography-e3fbcd6-letter-spacing:0.8px;--e-global-typography-ee55e4c-font-size:38px;--e-global-typography-ee55e4c-line-height:36px;--e-global-typography-ee55e4c-letter-spacing:0.8px;letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 a{letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-7 h1{font-size:var( --e-global-typography-a738177-font-size );line-height:var( --e-global-typography-a738177-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Quick demo fix – hides horizontal overflow */
html, body {
  overflow-x: hidden !important;
}

/* Fix for SVG-bevel button — removes stray hover background */

.svg-bevel{
  position: relative;
  display: inline-block;
  padding: 0;                /* SVG provides padding via .svg-label */
  margin: 0;
  border: 0;
  background: transparent !important;  /* remove theme/button bg */
  color: rgba(254,199,0,1)   ;
  cursor: pointer;
  overflow: hidden;         /* IMPORTANT — clips any corner bleed */
  -webkit-tap-highlight-color: transparent;
  line-height: 1;
}

.svg-bevel:focus,
.svg-bevel:hover,
.svg-bevel:active{
  background: transparent !important;  /* kill theme hover styles */
  outline: none;
}

/* make the SVG fill the button completely */
.svg-bevel .svg-bg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  pointer-events: none;    /* clicks pass through to the button */
}

/* path styling & hover transition (tweak colours as needed) */
.svg-bevel .svg-bg path{
  transition: fill .12s ease, stroke .12s ease, filter .12s ease;
  transform-origin: 50% 50%;
  display: block;
}

/* label must sit above the SVG */
.svg-bevel .svg-label{
  position: relative;
  z-index: 1;
  display: inline-block;
  padding: 18px 30px;     /* controls button size */
  font-weight: 600;
  font-family: polymath, sans-serif; 
  text-transform: uppercase;
  white-space: nowrap;
}

/* optional hover effect that changes the SVG fill/stroke cleanly */
.svg-bevel:hover .svg-bg path{
  filter: brightness(.95); /* subtle hover */
}

/* accessibility — visible focus */
.svg-bevel:focus-visible{
  outline: 3px solid rgba(11,102,255,0.18);
  outline-offset: 4px;
}

/* reduced motion respect */
@media (prefers-reduced-motion: reduce){
  .svg-bevel .svg-bg path { transition: none !important; }
}


/* Esparta octagon block - single reusable template */
.esp-oct{
  --oct-size: 320px; /* change base size here */
  width: min(var(--oct-size), 100%);
  aspect-ratio: 1 / 1;
  position: relative;
  display: inline-block;
  box-shadow: 0 10px 24px rgba(8,24,40,0.07);
  border-radius: 2px; /* tiny fallback */
  overflow: visible;
  margin: 18px auto;
  max-width: 100%;
}

/* SVG fills the container */
.esp-oct-svg{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  display: block;
}

/* Content sits above the SVG and is selectable */
.esp-oct-content{
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  box-sizing: border-box;
  min-height: 0;
  color: var(--oct-fg, #0b1726);
}

/* Typography */
.esp-oct-content h3{
  margin: 0 0 8px 0;
  font-size: clamp(16px, 2.2vw, 20px);
  letter-spacing: 0.6px;
}
.esp-oct-content p{
  margin: 0;
  font-size: clamp(13px, 1.8vw, 14px);
  line-height: 1.35;
  color: var(--oct-fg, #0b1726);
  opacity: 0.95;
}

/* Hover / focus visual */
.esp-oct:hover .esp-oct-svg path,
.esp-oct:focus-within .esp-oct-svg path{
  filter: brightness(.95);
  transition: filter .14s ease;
}

/* Make the block focusable (keyboard users) - visible outline */
.esp-oct-content:focus{
  outline: 3px solid rgba(11,102,255,0.18);
  outline-offset: 6px;
}

/* Responsive size tweak */
@media (max-width:540px){
  .esp-oct{ oct-size: 240px; margin: 12px auto; }
  .esp-oct-content{ padding: 14px; }
}

/* Reduced motion preference */
@media (prefers-reduced-motion: reduce){
  .esp-oct-svg path{ transition: none !important; filter: none !important; }
}

/* Smooth Scrolling */
html { scroll-behaviour: smooth; }


/* Vertical Line */
.v-rule{
  width: 1px;                 /* thickness */
  height: 100%;              /* length */
  background: #717171 ;        /* colour */
  margin: 0 auto;             /* centre inside column */
  border-radius: 1px;
}
@media (max-width:720px){
  .v-rule{ height: 80px; }    /* reduce on mobile */
}


/* EXTRA CODE */



/* Safety: prevent unexpected overflow from images & svgs */
img, picture, svg {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Fix typo: ensure octagon resizes on small screens */
@media (max-width:540px){
  .esp-oct{ --oct-size: 240px; margin: 12px auto; }
  .esp-oct-content{ padding: 14px; }
}

/* Make vertical rule reliable inside flex/grid columns
   - prefer using align-self:stretch within the parent container */
.v-rule{
  width: 1px;
  background: #717171;
  border-radius: 1px;
  align-self: stretch;   /* useful when inside a flex parent */
  margin: 0;
  /* fallback if parent has no height */
  min-height: 48px;
}

/* Small housekeeping — keep overflow-x hidden only if necessary.
   Remove or comment out for final deployment. */
html, body {
  /* overflow-x: hidden !important;  <-- remove when real issue fixed */
}

/* Optional: ensure bevel/button containers are block-level when used as anchors */
.svg-bevel, .esp-oct, .bevel-responsive {
  box-sizing: border-box;
}

/* Optional: make sure any background SVGs used as decorative elements don't capture pointer events */
.bevel-shape svg, .esp-oct-svg, .bevel-svg, .svg-bg { pointer-events: none; }


/* Force uniform icon size across the Join Us list */
.elementor-widget-icon-list .e-font-icon-svg,
.elementor-widget-list .e-font-icon-svg,
.join-us .e-font-icon-svg {   /* add .join-us if you can wrap the section with a class */
  width: 20px !important;
  height: 20px !important;
  display: inline-block;
  vertical-align: middle;
  flex: 0 0 20px;            /* if inside a flex row, keep it fixed */
  max-width: none;
  max-height: none;
  transform: none !important; /* kill accidental scale transforms */
}

.elementor-widget-icon-list .e-font-icon-svg {
  width: 1em !important;
  height: 1em !important;
  display: inline-block;
  vertical-align: middle;
}



/* 1) Prevent global responsive rule from shrinking inline icon SVGs.
   Exclude known Elementor icon SVG class so responsive images still work. */
img, picture, svg:not(.e-font-icon-svg) {
  max-width: 100%;
  height: auto;
  display: block;
}

/* 2) Force consistent hexagon icon sizing & alignment for this specific list.
   Use the elementor element id you gave (elementor-element-74f67a0) to scope safely. */
.elementor-element-74f67a0 ul li svg,
.elementor-element-74f67a0 ul li .e-font-icon-svg {
  display: inline-block !important;
  vertical-align: middle !important;
  width: 30px !important;        /* set the visual size you want */
  height: 30px !important;
  max-width: none !important;
  max-height: none !important;
  transform: none !important;    /* kills accidental scaling */
  line-height: 1 !important;
}

/* 3) If the hexagon is inside a flex/column ensure stable spacing */
.elementor-element-74f67a0 ul li {
  display: flex;
  align-items: center;
  gap: 0.5rem;                    /* space between icon and text */
}

/* 4) Mobile tweak — keep icons a little smaller on narrow screens */
@media (max-width: 768px) {
  .elementor-element-74f67a0 ul li svg,
  .elementor-element-74f67a0 ul li .e-font-icon-svg {
    width: clamp(30px, 4.2vw, 20px) !important;
    height: clamp(30px, 4.2vw, 20px) !important;
  }
}/* End custom CSS */