/* ---------- buttons ---------- */
.sr-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:var(--sr-brand);color:var(--sr-btn-text,#fff);text-decoration:none;
  font-family:inherit;
  font-weight:var(--sr-btn-weight,600);
  font-size:var(--sr-btn-size,15px);
  text-transform:var(--sr-btn-case,none);
  padding:var(--sr-btn-pad-y,13px) var(--sr-btn-pad-x,22px);
  border-radius:var(--sr-btn-radius,var(--sr-radius));
  border:1px solid var(--sr-brand);
  box-shadow:var(--sr-btn-shadow,none);
  transition:background .25s var(--sr-ease),border-color .25s,color .25s,transform .25s var(--sr-ease),box-shadow .25s}
.sr-btn:hover,.sr-btn:focus{background:var(--sr-brand-dark);border-color:var(--sr-brand-dark);color:var(--sr-btn-text,#fff)}
.sr-btn--ghost{background:transparent;color:var(--sr-ink);border-color:var(--sr-silver-strong)}
.sr-btn--ghost:hover,.sr-btn--ghost:focus{background:var(--sr-surface-alt);color:var(--sr-ink);border-color:var(--sr-silver-strong)}
.sr-btn--light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.sr-btn--light:hover{background:rgba(255,255,255,.1);color:#fff}

/* ---------- button depth and animation ----------
   Site-wide from GlassiO Theme > Buttons (body classes), or per widget (classes Elementor
   adds to the widget wrapper, which outrank the site-wide ones). Trust strip items take the
   same effects from their own settings. Individual transform properties (translate, scale)
   are used so a press, a lift and a grow never overwrite each other. */
.sr-btn{--sr-bfx-edge:color-mix(in srgb,var(--sr-brand-dark) 72%,#000);--sr-bfx-glow:color-mix(in srgb,var(--sr-brand) 60%,transparent);
  transition:background .25s var(--sr-ease),border-color .25s,color .25s,transform .25s var(--sr-ease),translate .2s var(--sr-ease),scale .25s var(--sr-ease),box-shadow .25s}
.sr-btn--ghost{--sr-bfx-edge:var(--sr-silver-strong);--sr-bfx-glow:color-mix(in srgb,var(--sr-ink) 22%,transparent)}
.sr-btn--light{--sr-bfx-edge:rgba(255,255,255,.35);--sr-bfx-glow:rgba(255,255,255,.35)}
.sr-trust__item{--sr-bfx-edge:var(--sr-silver-strong);--sr-bfx-glow:color-mix(in srgb,var(--sr-ink) 18%,transparent);
  transition:background .28s var(--sr-ease),color .28s var(--sr-ease),border-color .28s var(--sr-ease),transform .28s var(--sr-ease),translate .2s var(--sr-ease),scale .25s var(--sr-ease),box-shadow .28s var(--sr-ease)}
.sr-trust--solid .sr-trust__item{--sr-bfx-edge:color-mix(in srgb,var(--sr-brand-dark) 72%,#000);--sr-bfx-glow:color-mix(in srgb,var(--sr-brand) 60%,transparent)}
body.sr-btnfx-flat .sr-btn,
.elementor-element.sr-btnfx-flat .sr-btn,
.elementor-element.sr-tfx-flat .sr-trust__item{background-image:none;box-shadow:var(--sr-btn-shadow,none)}
body.sr-btnfx-raised .sr-btn,
.elementor-element.sr-btnfx-raised .sr-btn,
.elementor-element.sr-tfx-raised .sr-trust__item{background-image:linear-gradient(180deg,rgba(255,255,255,.22),rgba(255,255,255,0) 55%,rgba(0,0,0,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 1px 2px rgba(16,24,40,.12),0 4px 10px -2px rgba(16,24,40,.18)}
body.sr-btnfx-raised .sr-btn:hover,
.elementor-element.sr-btnfx-raised .sr-btn:hover,
.elementor-element.sr-tfx-raised .sr-trust__item:hover{translate:0 -1px;box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 2px 4px rgba(16,24,40,.12),0 10px 18px -6px rgba(16,24,40,.28)}
body.sr-btnfx-3d .sr-btn,
.elementor-element.sr-btnfx-3d .sr-btn,
.elementor-element.sr-tfx-3d .sr-trust__item{background-image:linear-gradient(180deg,rgba(255,255,255,.14),rgba(255,255,255,0));box-shadow:0 4px 0 var(--sr-bfx-edge),0 6px 14px -4px rgba(16,24,40,.32)}
body.sr-btnfx-3d .sr-btn:hover,
.elementor-element.sr-btnfx-3d .sr-btn:hover,
.elementor-element.sr-tfx-3d .sr-trust__item:hover{translate:0 -1px;box-shadow:0 5px 0 var(--sr-bfx-edge),0 9px 18px -5px rgba(16,24,40,.34)}
body.sr-btnfx-glow .sr-btn,
.elementor-element.sr-btnfx-glow .sr-btn,
.elementor-element.sr-tfx-glow .sr-trust__item{background-image:none;box-shadow:0 8px 22px -8px var(--sr-bfx-glow)}
body.sr-btnfx-glow .sr-btn:hover,
.elementor-element.sr-btnfx-glow .sr-btn:hover,
.elementor-element.sr-tfx-glow .sr-trust__item:hover{translate:0 -1px;box-shadow:0 14px 30px -8px var(--sr-bfx-glow)}
body.sr-btnfx-gloss .sr-btn,
.elementor-element.sr-btnfx-gloss .sr-btn,
.elementor-element.sr-tfx-gloss .sr-trust__item{background-image:linear-gradient(180deg,rgba(255,255,255,.34) 0,rgba(255,255,255,.1) 48%,rgba(255,255,255,0) 50%,rgba(255,255,255,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(0,0,0,.12),0 2px 6px -1px rgba(16,24,40,.22)}
body.sr-btnfx-gloss .sr-btn:hover,
.elementor-element.sr-btnfx-gloss .sr-btn:hover,
.elementor-element.sr-tfx-gloss .sr-trust__item:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(0,0,0,.12),0 6px 14px -4px rgba(16,24,40,.28)}
body.sr-btnanim-lift .sr-btn:hover,
.elementor-element.sr-btnanim-lift .sr-btn:hover,
.elementor-element.sr-tanim-lift .sr-trust__item:hover{translate:0 -3px}
body.sr-btnanim-grow .sr-btn:hover,
.elementor-element.sr-btnanim-grow .sr-btn:hover,
.elementor-element.sr-tanim-grow .sr-trust__item:hover{scale:1.045}
body.sr-btnanim-shine .sr-btn,
.elementor-element.sr-btnanim-shine .sr-btn,
.elementor-element.sr-tanim-shine .sr-trust__item{position:relative;overflow:hidden;isolation:isolate}
body.sr-btnanim-shine .sr-btn::after,
.elementor-element.sr-btnanim-shine .sr-btn::after,
.elementor-element.sr-tanim-shine .sr-trust__item::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;pointer-events:none;z-index:1;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:skewX(-20deg);opacity:0}
body.sr-btnanim-shine-loop .sr-btn,
.elementor-element.sr-btnanim-shine-loop .sr-btn,
.elementor-element.sr-tanim-shine-loop .sr-trust__item{position:relative;overflow:hidden;isolation:isolate}
body.sr-btnanim-shine-loop .sr-btn::after,
.elementor-element.sr-btnanim-shine-loop .sr-btn::after,
.elementor-element.sr-tanim-shine-loop .sr-trust__item::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;pointer-events:none;z-index:1;background:linear-gradient(100deg,rgba(255,255,255,0),rgba(255,255,255,.45),rgba(255,255,255,0));transform:skewX(-20deg);animation:sr-btn-shine 4.5s var(--sr-ease) 1.2s infinite}
body.sr-btnanim-shine .sr-btn:hover::after,
.elementor-element.sr-btnanim-shine .sr-btn:hover::after,
.elementor-element.sr-tanim-shine .sr-trust__item:hover::after{opacity:1;animation:sr-btn-shine-once .75s var(--sr-ease) forwards}
@keyframes sr-btn-shine-once{from{left:-60%}to{left:130%}}
@keyframes sr-btn-shine{0%{left:-60%}22%,100%{left:130%}}
body.sr-btnanim-pulse .sr-btn,
.elementor-element.sr-btnanim-pulse .sr-btn,
.elementor-element.sr-tanim-pulse .sr-trust__item{animation:sr-btn-pulse 2.4s ease-out infinite}
body.sr-btnanim-pulse .sr-btn:hover,
.elementor-element.sr-btnanim-pulse .sr-btn:hover,
.elementor-element.sr-tanim-pulse .sr-trust__item:hover,body.sr-btnanim-pulse .sr-btn:focus-visible,
.elementor-element.sr-btnanim-pulse .sr-btn:focus-visible,
.elementor-element.sr-tanim-pulse .sr-trust__item:focus-visible{animation:none}
@keyframes sr-btn-pulse{0%{outline:2px solid color-mix(in srgb,var(--sr-brand) 55%,transparent);outline-offset:0}70%,100%{outline:2px solid transparent;outline-offset:10px}}
body.sr-btnanim-nudge .sr-btn,
.elementor-element.sr-btnanim-nudge .sr-btn,
.elementor-element.sr-tanim-nudge .sr-trust__item{animation:sr-btn-nudge 5s var(--sr-ease) 2s infinite}
body.sr-btnanim-nudge .sr-btn:hover,
.elementor-element.sr-btnanim-nudge .sr-btn:hover,
.elementor-element.sr-tanim-nudge .sr-trust__item:hover{animation:none}
@keyframes sr-btn-nudge{0%,86%,100%{rotate:0deg}89%{rotate:-3deg}92%{rotate:3deg}95%{rotate:-2deg}98%{rotate:1deg}}
body.sr-btnfx-raised .sr-btn:active,
.elementor-element.sr-btnfx-raised .sr-btn:active,
.elementor-element.sr-tfx-raised .sr-trust__item:active{translate:0 1px;box-shadow:inset 0 2px 4px rgba(0,0,0,.18),0 1px 1px rgba(16,24,40,.1)}
body.sr-btnfx-3d .sr-btn:active,
.elementor-element.sr-btnfx-3d .sr-btn:active,
.elementor-element.sr-tfx-3d .sr-trust__item:active{translate:0 4px;box-shadow:0 0 0 var(--sr-bfx-edge),0 2px 4px -2px rgba(16,24,40,.3)}
body.sr-btnfx-glow .sr-btn:active,
.elementor-element.sr-btnfx-glow .sr-btn:active,
.elementor-element.sr-tfx-glow .sr-trust__item:active{translate:0 1px;box-shadow:0 4px 12px -6px var(--sr-bfx-glow)}
body.sr-btnfx-gloss .sr-btn:active,
.elementor-element.sr-btnfx-gloss .sr-btn:active,
.elementor-element.sr-tfx-gloss .sr-trust__item:active{translate:0 1px;box-shadow:inset 0 2px 5px rgba(0,0,0,.2)}
@media (prefers-reduced-motion:reduce){
  .sr-btn,.sr-trust__item{animation:none!important;translate:none!important;scale:none!important;rotate:none!important}
  .sr-btn::after,.sr-trust__item::after{animation:none!important;opacity:0!important}
}

/* ---------- header ---------- */
.sr-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--sr-silver-strong)}
body.sr-header-static .sr-header{position:relative}
.sr-header__inner{display:flex;align-items:center;justify-content:space-between;gap:20px;
  height:var(--sr-header-h);max-width:var(--sr-header-w,1400px)}
.sr-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--sr-ink);font-family:var(--sr-font-head,var(--sr-font));font-weight:800;font-size:22px;letter-spacing:-.4px}
/* WordPress prints its own markup for the site logo, so both are matched here. */
.sr-brand img,
.sr-header .custom-logo-link img,
.sr-header img.custom-logo{max-height:var(--sr-logo-h,52px);width:auto;height:auto;display:block}
.sr-header .custom-logo-link{display:flex;align-items:center;line-height:0;flex:none}
.sr-nav{display:flex;align-items:center;gap:var(--sr-menu-gap,26px)}
.sr-nav ul{display:flex;align-items:center;gap:var(--sr-menu-gap,26px);list-style:none;margin:0;padding:0}
.sr-nav a{color:var(--sr-ink);text-decoration:none;font-family:var(--sr-menu-font,var(--sr-font));
  font-size:var(--sr-menu-fs,15px);font-weight:var(--sr-menu-weight,500);
  text-transform:var(--sr-menu-case,none);white-space:nowrap}
.sr-nav a:hover{color:var(--sr-brand)}
.sr-nav li{position:relative}
.sr-nav .sub-menu{position:absolute;left:0;top:100%;min-width:230px;display:none;flex-direction:column;gap:0;background:#fff;border:1px solid var(--sr-silver-strong);border-radius:var(--sr-radius);box-shadow:var(--sr-shadow);padding:8px 0}
.sr-nav li:hover>.sub-menu,.sr-nav li:focus-within>.sub-menu{display:flex}
.sr-nav .sub-menu a{display:block;padding:8px 18px}
.sr-header__actions{display:flex;align-items:center;gap:14px}
.sr-header .sr-btn{white-space:nowrap;font-size:var(--sr-menu-fs,15px);font-family:var(--sr-menu-font,var(--sr-font))}
.sr-nav__portal-mobile{display:none}
.sr-header__portal{font-family:var(--sr-menu-font,var(--sr-font));font-size:calc(var(--sr-menu-fs,15px) - 1px);
  font-weight:var(--sr-menu-weight,500);text-transform:var(--sr-menu-case,none);
  color:var(--sr-ink);text-decoration:none;white-space:nowrap}
.sr-header__portal:hover{color:var(--sr-brand)}
.sr-burger{display:none;background:none;border:1px solid var(--sr-silver-strong);border-radius:var(--sr-radius);width:42px;height:42px;align-items:center;justify-content:center;cursor:pointer}
.sr-burger span{display:block;width:18px;height:2px;background:var(--sr-ink);position:relative}
.sr-burger span::before,.sr-burger span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:var(--sr-ink)}
.sr-burger span::before{top:-6px}.sr-burger span::after{top:6px}
@media (max-width:860px){
  .sr-brand img,
  .sr-header .custom-logo-link img,
  .sr-header img.custom-logo{max-height:var(--sr-logo-h-m,42px)}
}
@media (max-width:1040px){
  .sr-nav{position:fixed;inset:var(--sr-header-h) 0 auto 0;background:#fff;border-bottom:1px solid var(--sr-silver-strong);padding:12px 24px 22px;display:none}
  .sr-nav.is-open{display:block}
  .sr-nav ul{flex-direction:column;align-items:flex-start;gap:2px;width:100%}
  .sr-nav li{width:100%}
  .sr-nav a{display:block;padding:11px 0;font-size:calc(var(--sr-menu-fs,15px) + 1px)}
  .sr-nav .sub-menu{position:static;display:flex;border:0;box-shadow:none;padding:0 0 6px 14px;min-width:0}
  .sr-burger{display:inline-flex}
  .sr-header__actions .sr-header__portal{display:none}
  .sr-nav__portal-mobile{display:block;padding:11px 0;font-size:16px;border-top:1px solid var(--sr-silver);margin-top:6px}
}

/* ---------- mobile call bar ---------- */
.sr-mobilebar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;border-top:1px solid var(--sr-silver-strong);padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:10px}
.sr-mobilebar a{flex:1;justify-content:center;padding:12px 10px;font-size:15px}
@media (max-width:860px){ .sr-mobilebar{display:flex} body{padding-bottom:74px} }

/* ---------- footer ---------- */
.sr-footer{background:var(--sr-footer-bg);color:var(--sr-footer-text);font-size:15px;margin-top:0}
.sr-footer a{color:var(--sr-footer-text);text-decoration:none}
.sr-footer a:hover{color:#fff}
.sr-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding:72px 0 56px}
.sr-footer h2{color:#fff;font-size:14px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px;font-weight:700;font-family:var(--sr-font-head,var(--sr-font))}
.sr-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.sr-footer__brand{font-weight:800;font-size:22px;color:#fff;margin-bottom:12px;display:inline-block;text-decoration:none}
.sr-footer__brand img{max-height:52px;width:auto}
.sr-footer__contact li{display:flex;gap:10px;align-items:flex-start}
.sr-footer__bottom{border-top:1px solid #343A42;padding:20px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;font-size:13px;color:#8A939D}
.sr-footer__bottom a{color:#8A939D}
@media (max-width:860px){ .sr-footer__top{grid-template-columns:1fr 1fr;gap:32px;padding:52px 0 40px} }
@media (max-width:560px){ .sr-footer__top{grid-template-columns:1fr} }

/* ---------- shared bits ---------- */
.sr-lane{--sr-lane-c:var(--sr-brand);position:relative;display:block;height:4px;width:72px;
  margin:18px var(--sr-lane-mr,auto) 0 var(--sr-lane-ml,auto);
  border-radius:999px;background:var(--sr-lane-c)}

/* One solid stroke, rounded ends. */
.sr-lane--solid{}

/* Solid stroke that tapers away at the right. */
.sr-lane--taper{width:110px;border-radius:999px;overflow:hidden}
.sr-lane--taper::after{content:"";position:absolute;inset:0;background:var(--sr-lane-c);
  -webkit-mask:linear-gradient(90deg,#000 0,#000 45%,rgba(0,0,0,.15) 100%);
  mask:linear-gradient(90deg,#000 0,#000 45%,rgba(0,0,0,.15) 100%)}

/* Thick stroke with a thinner one beneath it. */
.sr-lane--double{height:5px;width:64px}
.sr-lane--double::after{content:"";position:absolute;left:0;top:9px;height:2px;width:34px;
  border-radius:999px;background:var(--sr-lane-c);opacity:.45}

/* Solid bar with a light tail beside it. */
.sr-lane--bar{height:4px;width:64px}
.sr-lane--bar::after{content:"";position:absolute;left:100%;top:0;height:4px;width:26px;margin-left:8px;
  border-radius:999px;background:var(--sr-lane-c);opacity:.3}

/* Hairline rule that fades out at both ends. */
.sr-lane--fade{height:2px;width:220px;border-radius:0;
  background:linear-gradient(90deg,transparent,var(--sr-lane-c) 22%,var(--sr-lane-c) 78%,transparent)}

/* Hairline rule with a diamond sitting in the middle. */
.sr-lane--diamond{height:1px;width:180px;background:var(--sr-silver-strong);border-radius:0}
.sr-lane--diamond::after{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;
  transform:translate(-50%,-50%) rotate(45deg);background:var(--sr-lane-c);border-radius:1px}

/* Short thick stroke, angled like the glass edge. */
.sr-lane--slash{height:5px;width:52px;border-radius:2px;transform:skewX(-24deg)}

/* No divider at all. */
.sr-lane--none{display:none!important}

.sr-eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--sr-brand);font-weight:600;margin:0 0 10px}
.sr-breadcrumbs{font-size:13px;color:var(--sr-muted);padding:14px 0 0}
.sr-breadcrumbs a{color:var(--sr-muted)}
.sr-content{padding:48px 0 var(--sr-section-y)}
.sr-app-page .sr-content{padding:28px 0 48px}
.sr-app-wrap{max-width:1280px;margin:0 auto;padding:0 20px}

/* ---------------- icons ---------------- */
/* Colour is applied here, not on the SVG elements: CSS custom properties are not
   resolved inside SVG presentation attributes. */
.sr-icon{color:inherit;display:block}
.sr-icon .sr-i-line{
  fill:none;
  stroke:var(--sr-ic-line,currentColor);
  stroke-width:var(--sr-ic-sw,1.9);
  stroke-linecap:round;stroke-linejoin:round}
.sr-icon .sr-i-acc{
  fill:none;
  stroke:var(--sr-ic-acc,var(--sr-brand,#1A63B8));
  stroke-width:var(--sr-ic-sw,1.9);
  stroke-linecap:round;stroke-linejoin:round}
.sr-icon .sr-i-fill{fill:var(--sr-ic-fill,rgba(26,99,184,.14))}
.sr-icon .sr-i-accfill{fill:var(--sr-ic-acc,var(--sr-brand,#1A63B8))}
.sr-icon .sr-i-inkfill{fill:var(--sr-ic-line,currentColor)}


/* Draw-in animation.
   Scoped to .sr-js, the class the reveal script adds once it is running, so a
   script that never runs cannot leave the icons invisible. */
@media (prefers-reduced-motion:no-preference){
  .sr-js body.sr-icdraw .sr-reveal .sr-icon .sr-i-line,
  .sr-js body.sr-icdraw .sr-reveal .sr-icon .sr-i-acc{
    stroke-dasharray:120;stroke-dashoffset:120;transition:stroke-dashoffset .7s var(--sr-ease) .15s}
  .sr-js body.sr-icdraw .sr-reveal .sr-icon .sr-i-fill{opacity:0;transition:opacity .5s var(--sr-ease) .45s}
  .sr-js body.sr-icdraw .sr-reveal.is-in .sr-icon .sr-i-line,
  .sr-js body.sr-icdraw .sr-reveal.is-in .sr-icon .sr-i-acc{stroke-dashoffset:0}
  .sr-js body.sr-icdraw .sr-reveal.is-in .sr-icon .sr-i-fill{opacity:1}

/* Editor and preview: never hide an icon, whatever the settings say. Scroll
   reveals deliberately do not run there, so a drawn-in icon would never appear. */
.elementor-editor-active .sr-icon .sr-i-line,
.elementor-editor-active .sr-icon .sr-i-acc,
.elementor-editor-preview .sr-icon .sr-i-line,
.elementor-editor-preview .sr-icon .sr-i-acc{stroke-dashoffset:0!important;stroke-dasharray:none!important}
.elementor-editor-active .sr-icon .sr-i-fill,
.elementor-editor-preview .sr-icon .sr-i-fill{opacity:1!important}
