.elementor-kit-6{--e-global-color-primary:#97191D;--e-global-color-secondary:#080808;--e-global-color-text:#FFFFFF;--e-global-color-accent:#FF6E6E;--e-global-color-492cd49:#E74B46;--e-global-color-d9aa27a:#333333;--e-global-color-95f3864:#ADADAD;--e-global-typography-primary-font-family:"Raleway";--e-global-typography-primary-font-size:30px;--e-global-typography-primary-font-weight:800;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:40px;--e-global-typography-secondary-font-family:"Raleway";--e-global-typography-secondary-font-size:28px;--e-global-typography-secondary-font-weight:800;--e-global-typography-secondary-text-transform:none;--e-global-typography-secondary-line-height:38px;--e-global-typography-text-font-family:"Lato";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-text-line-height:26px;--e-global-typography-accent-font-family:"Raleway";--e-global-typography-accent-font-size:26px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-text-transform:none;--e-global-typography-accent-line-height:36px;--e-global-typography-c691680-font-family:"Raleway";--e-global-typography-c691680-font-size:24px;--e-global-typography-c691680-font-weight:700;--e-global-typography-c691680-text-transform:none;--e-global-typography-c691680-line-height:34px;--e-global-typography-3c902bf-font-family:"Raleway";--e-global-typography-3c902bf-font-size:14px;--e-global-typography-3c902bf-font-weight:700;--e-global-typography-3c902bf-text-transform:none;--e-global-typography-3c902bf-line-height:24px;--e-global-typography-aae18d7-font-family:"Lato";--e-global-typography-aae18d7-font-size:18px;--e-global-typography-aae18d7-font-weight:400;--e-global-typography-aae18d7-text-transform:none;--e-global-typography-aae18d7-line-height:28px;--e-global-typography-ea20484-font-family:"Raleway";--e-global-typography-ea20484-font-size:20px;--e-global-typography-ea20484-font-weight:800;--e-global-typography-ea20484-text-transform:none;--e-global-typography-ea20484-line-height:30px;--e-global-typography-cbf0d07-font-family:"Inter";--e-global-typography-cbf0d07-font-size:17px;--e-global-typography-cbf0d07-font-weight:800;--e-global-typography-cbf0d07-text-transform:none;--e-global-typography-cbf0d07-line-height:27px;--e-global-typography-5be3b71-font-family:"Lato";--e-global-typography-5be3b71-font-size:21px;--e-global-typography-5be3b71-font-weight:700;--e-global-typography-5be3b71-text-transform:none;--e-global-typography-5be3b71-line-height:16px;color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-5be3b71-font-family ), Sans-serif;font-size:var( --e-global-typography-5be3b71-font-size );font-weight:var( --e-global-typography-5be3b71-font-weight );text-transform:var( --e-global-typography-5be3b71-text-transform );line-height:var( --e-global-typography-5be3b71-line-height );color:var( --e-global-color-text );border-style:none;border-radius:50px 50px 50px 50px;padding:13px 17px 13px 17px;}.elementor-kit-6 button:hover,.elementor-kit-6 button:focus,.elementor-kit-6 input[type="button"]:hover,.elementor-kit-6 input[type="button"]:focus,.elementor-kit-6 input[type="submit"]:hover,.elementor-kit-6 input[type="submit"]:focus,.elementor-kit-6 .elementor-button:hover,.elementor-kit-6 .elementor-button:focus{background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );border-style:none;border-radius:50px 50px 50px 50px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 p{margin-block-end:0px;}.elementor-kit-6 a{color:var( --e-global-color-primary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a:hover{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );text-transform:var( --e-global-typography-primary-text-transform );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{color:var( --e-global-color-primary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );text-transform:var( --e-global-typography-secondary-text-transform );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h3{color:var( --e-global-color-primary );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );text-transform:var( --e-global-typography-accent-text-transform );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-6 h4{color:var( --e-global-color-primary );font-family:var( --e-global-typography-c691680-font-family ), Sans-serif;font-size:var( --e-global-typography-c691680-font-size );font-weight:var( --e-global-typography-c691680-font-weight );text-transform:var( --e-global-typography-c691680-text-transform );line-height:var( --e-global-typography-c691680-line-height );}.elementor-kit-6 h5{color:var( --e-global-color-primary );font-family:var( --e-global-typography-ea20484-font-family ), Sans-serif;font-size:var( --e-global-typography-ea20484-font-size );font-weight:var( --e-global-typography-ea20484-font-weight );text-transform:var( --e-global-typography-ea20484-text-transform );line-height:var( --e-global-typography-ea20484-line-height );}.elementor-kit-6 h6{color:var( --e-global-color-primary );font-family:var( --e-global-typography-5be3b71-font-family ), Sans-serif;font-size:var( --e-global-typography-5be3b71-font-size );font-weight:var( --e-global-typography-5be3b71-font-weight );text-transform:var( --e-global-typography-5be3b71-text-transform );line-height:var( --e-global-typography-5be3b71-line-height );}.elementor-kit-6 label{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );text-transform:var( --e-global-typography-text-text-transform );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 input:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea,.elementor-kit-6 .elementor-field-textual{font-family:"Lato", Sans-serif;font-size:14px;font-weight:600;text-transform:none;line-height:24px;color:#6F6F6F;accent-color:#6F6F6F;background-color:#F0F0F0;border-style:none;border-radius:16px 16px 16px 16px;padding:17px 15px 17px 025px;}.elementor-kit-6 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-6 textarea:focus,.elementor-kit-6 .elementor-field-textual:focus{color:#6F6F6F;accent-color:#6F6F6F;background-color:#F0F0F0;border-style:none;border-radius:16px 16px 16px 16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;}.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);}@media(max-width:1500px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-c691680-font-size );line-height:var( --e-global-typography-c691680-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-ea20484-font-size );line-height:var( --e-global-typography-ea20484-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-5be3b71-font-size );line-height:var( --e-global-typography-5be3b71-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-5be3b71-font-size );line-height:var( --e-global-typography-5be3b71-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1075px;}.e-con{--container-max-width:1075px;}}@media(max-width:1024px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-c691680-font-size );line-height:var( --e-global-typography-c691680-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-ea20484-font-size );line-height:var( --e-global-typography-ea20484-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-5be3b71-font-size );line-height:var( --e-global-typography-5be3b71-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-5be3b71-font-size );line-height:var( --e-global-typography-5be3b71-line-height );}.elementor-kit-6 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-5be3b71-font-size:16px;--e-global-typography-5be3b71-line-height:20px;font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 a:hover{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );}.elementor-kit-6 h3{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );}.elementor-kit-6 h4{font-size:var( --e-global-typography-c691680-font-size );line-height:var( --e-global-typography-c691680-line-height );}.elementor-kit-6 h5{font-size:var( --e-global-typography-ea20484-font-size );line-height:var( --e-global-typography-ea20484-line-height );}.elementor-kit-6 h6{font-size:var( --e-global-typography-5be3b71-font-size );line-height:var( --e-global-typography-5be3b71-line-height );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-5be3b71-font-size );line-height:var( --e-global-typography-5be3b71-line-height );padding:8px 15px 8px 15px;}.elementor-kit-6 label{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* =====================================================================
   B-SOCIALL INTERACTIONS - global styles (Site Settings, Custom CSS)
   Works together with the "B-Sociall Interactions" HTML widget in the
   Footer template, which adds .bs-js to the page and .bs-in to elements
   as they scroll into view. Without that script everything shows
   normally, just without motion.
   ---------------------------------------------------------------------
   Classes you can add yourself (Advanced, CSS Classes):
     line-large left-line | line-large right-line   long heading lines
     line-small left-line | line-small right-line   short heading lines
       + line-soft (40% white)  + line-low (right line at 75% height)
     bs-border-draw   border draws in from top-left and bottom-right
     bs-flow-border   gradient strip with scroll parallax + shimmer
     bs-stagger       fades up in sequence with its siblings
     bs-no-anim       opt a heading or divider out of the auto motion
   Automatic: every section heading (h2), every divider widget,
   What We Do slider, brand frames, footer columns, back-to-top.
   ===================================================================== */

:root {
	--bs-red: #97191D;
	--bs-red-2: #E74B46;
	--bs-red-3: #FF6E6E;
	--bs-violet: #7B3FE4;
	--bs-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--bs-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);

	/* heading lines */
	--line-color: #ffffff;
	--line-soft-color: rgba(255, 255, 255, 0.4);
	--line-thickness: 1px;
	--line-duration: 0.8s;
	--line-delay: 0.4s;
	--line-ease: cubic-bezier(0.22, 1, 0.36, 1);
	--line-small-width: 80px;

	/* title underlines (centered dividers) */
	--underline-duration: 1.6s;
}

/* ---------------------------------------------------------------------
   1. HEADING LINES  (line-large / line-small + left-line / right-line)
   --------------------------------------------------------------------- */
.line-soft { --line-color: var(--line-soft-color); }
.line-low  { --line-top: 75%; }

@keyframes bs-line-grow {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}

.line-large .elementor-heading-title,
.line-small .elementor-heading-title {
	display: flex;
	align-items: center;
	gap: 18px;
}
.line-small .elementor-heading-title { gap: 15px; }

.line-large.left-line  .elementor-heading-title::before,
.line-large.right-line .elementor-heading-title::after,
.line-small.left-line  .elementor-heading-title::before,
.line-small.right-line .elementor-heading-title::after {
	content: "";
	display: block;
	flex-shrink: 0;
	height: var(--line-thickness);
	background-color: var(--line-color);
	transform: scaleX(0);
}

.line-large.left-line .elementor-heading-title::before {
	position: absolute;
	right: 101%;
	width: 100%;
	transform-origin: left center;
}
.line-large.right-line .elementor-heading-title::after {
	position: absolute;
	left: 107%;
	top: var(--line-top, 50%);
	width: 100vw;
	transform-origin: left center;
}
.line-small.left-line .elementor-heading-title::before {
	width: var(--line-small-width);
	order: -1;
	transform-origin: right center;
}
.line-small.right-line .elementor-heading-title::after {
	width: var(--line-small-width);
	transform-origin: left center;
}

.line-large.left-line:not(.elementor-invisible)  .elementor-heading-title::before,
.line-large.right-line:not(.elementor-invisible) .elementor-heading-title::after,
.line-small.left-line:not(.elementor-invisible)  .elementor-heading-title::before,
.line-small.right-line:not(.elementor-invisible) .elementor-heading-title::after {
	animation: bs-line-grow var(--line-duration) var(--line-ease) var(--line-delay) forwards;
}

@media (max-width: 1200px) {
	.line-large.left-line .elementor-heading-title::before { display: none; }
	.line-large.left-line .elementor-heading-title { display: block; }
}
@media (max-width: 767px) {
	.line-large.right-line .elementor-heading-title::after { display: none; }
	.line-large.right-line .elementor-heading-title { display: block; }
}

/* ---------------------------------------------------------------------
   2. SECTION HEADINGS - words rise in and sharpen, one after another
   --------------------------------------------------------------------- */
.bs-heading .bs-hw { display: inline; }
.bs-heading .bs-w  { display: inline-block; }

.bs-js .bs-heading .bs-w {
	opacity: 0;
	transform: translateY(0.55em) rotate(2deg);
	filter: blur(6px);
	transition:
		opacity 0.7s ease,
		transform 0.9s var(--bs-ease),
		filter 0.7s ease;
	transition-delay: calc(var(--wi, 0) * 55ms + 120ms);
}
.bs-js .bs-heading.bs-in .bs-w {
	opacity: 1;
	transform: none;
	filter: none;
}
/* wait for any parent section that is still hidden by Elementor, so every
   heading plays the same word reveal when it actually appears */
.bs-js .elementor-invisible .bs-heading.bs-in .bs-w,
.bs-js .bs-heading.bs-in.elementor-invisible .bs-w {
	opacity: 0;
	transform: translateY(0.55em) rotate(2deg);
	filter: blur(6px);
}
/* headings skip Elementor's own entrance effect so they all match */
.bs-js .bs-heading.elementor-invisible { visibility: visible !important; }
.bs-js .bs-heading.animated { animation-name: none !important; }

/* ---------------------------------------------------------------------
   2b. ONE-BY-ONE REVEAL - sections no longer slide up as one block.
       When a section comes into view (Elementor's entrance trigger), its
       elements rise in one after another; side-by-side columns follow a
       moment later. Headings keep their word reveal, dividers their line.
   --------------------------------------------------------------------- */
.bs-js .e-con.elementor-invisible { visibility: visible !important; }
.bs-js .e-con.animated { animation-name: none !important; }

.bs-js .e-con.elementor-invisible .elementor-widget:not(.elementor-widget .elementor-widget):not(.bs-heading):not(.bs-divider),
.bs-js .elementor-widget.elementor-invisible:not(.elementor-widget .elementor-widget):not(.bs-heading):not(.bs-divider) {
	opacity: 0;
}
.bs-js .elementor-widget.elementor-invisible { visibility: visible !important; }

.bs-js .e-con.animated .elementor-widget:not(.elementor-widget .elementor-widget):not(.bs-heading):not(.bs-divider),
.bs-js .elementor-widget.animated:not(.elementor-widget .elementor-widget):not(.bs-heading):not(.bs-divider) {
	animation: bs-rise 0.8s var(--bs-ease) both;
	animation-delay: calc(var(--bs-col, 0s) + var(--bs-i, 0) * 0.12s + 0.15s);
}
.elementor-widget:nth-child(2) { --bs-i: 1; }
.elementor-widget:nth-child(3) { --bs-i: 2; }
.elementor-widget:nth-child(4) { --bs-i: 3; }
.elementor-widget:nth-child(5) { --bs-i: 4; }
.elementor-widget:nth-child(6) { --bs-i: 5; }
.elementor-widget:nth-child(7) { --bs-i: 6; }
.elementor-widget:nth-child(8) { --bs-i: 7; }
.elementor-widget:nth-child(9) { --bs-i: 8; }
.elementor-widget:nth-child(10) { --bs-i: 9; }
.elementor-widget:nth-child(11) { --bs-i: 10; }
.elementor-widget:nth-child(12) { --bs-i: 11; }
.e-con .e-con:nth-child(2) { --bs-col: 0.2s; }
.e-con .e-con:nth-child(3) { --bs-col: 0.4s; }
.e-con .e-con:nth-child(4) { --bs-col: 0.6s; }
@keyframes bs-rise {
	from { opacity: 0; transform: translateY(32px); }
	to   { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------------
   3. DIVIDERS
   Short (title underlines) grow slowly from their alignment point.
   Section dividers (wide divider widgets, and the top/bottom borders of
   the About sections) become one full line in the hero-border colours
   that grows out from the centre to both sides as you scroll (parallax).
   --------------------------------------------------------------------- */
.bs-js .bs-divider--short .elementor-divider-separator {
	transform: scaleX(0);
	transform-origin: var(--bs-origin, center) center;
}
.bs-js .bs-divider--short.bs-in .elementor-divider-separator {
	transform: scaleX(1);
	transition: transform var(--underline-duration) var(--bs-ease) 0.25s;
}

.bs-divider--wide .elementor-divider {
	position: relative;
	overflow: visible;
	padding-block: 2px !important;
}
.bs-divider--wide .elementor-divider-separator { opacity: 0 !important; }

.e-con.elementor-element-b25c071,
.e-con.elementor-element-30b1bb0 { border-color: transparent !important; }
/* these sections had Overflow: Hidden, which stops the scroll-linked
   growth; clip looks identical but lets the page scroll drive it */
.e-con.elementor-element-f299b7c,
.e-con.elementor-element-f3defc3 { overflow: clip !important; }

.bs-divider--wide .elementor-divider::after,
.e-con.elementor-element-b25c071::before,
.e-con.elementor-element-b25c071::after,
.e-con.elementor-element-30b1bb0::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	width: auto;
	height: 2px;
	border: 0;
	border-radius: 2px;
	background: url(/wp-content/uploads/2026/08/border-bg.webp) center / 100% 100% no-repeat;
	filter: drop-shadow(0 0 6px rgba(231, 75, 70, 0.55));
	mix-blend-mode: normal;
	opacity: 1;
	transform-origin: center;
	pointer-events: none;
	z-index: 1;
}
.bs-divider--wide .elementor-divider::after { top: 50%; margin-top: -1px; }
.e-con.elementor-element-b25c071::before,
.e-con.elementor-element-30b1bb0::before { top: -1px; bottom: auto; }
.e-con.elementor-element-b25c071::after { bottom: -1px; top: auto; }

@keyframes bs-rule-grow {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}
/* tied to scroll position where the browser supports it; elsewhere the
   line is simply shown full width */
@supports (animation-timeline: view()) {
	.bs-divider--wide .elementor-divider::after,
	.e-con.elementor-element-b25c071::before,
	.e-con.elementor-element-b25c071::after,
	.e-con.elementor-element-30b1bb0::before {
		animation: bs-rule-grow linear both;
		animation-timeline: view();
		animation-range: cover 0% cover 28%;
	}
}

/* ---------------------------------------------------------------------
   4. HERO BOTTOM BORDERS (Home + About) - draw-in, scroll parallax,
      glow and a travelling shimmer
   --------------------------------------------------------------------- */
.elementor-element-d35ad39,
.elementor-element-12434f8,
.bs-flow-border {
	position: relative;
	overflow: visible !important;
	background-size: 125% 100% !important;
	background-repeat: no-repeat !important;
	background-position: calc(50% + var(--bs-p, 0) * 30%) center !important;
	z-index: 2;
}
.bs-js .bs-flow-border {
	clip-path: inset(-80px 50% -80px 50%);
	transition: clip-path 1.8s var(--bs-ease) 0.2s;
}
.bs-js .bs-flow-border.bs-in { clip-path: inset(-80px 0 -80px 0); }

/* soft colour glow under the strip */
.bs-flow-border::after {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	top: -10px;
	height: 26px;
	background: inherit;
	background-size: 100% 100% !important;
	background-position: center !important;
	filter: blur(18px) saturate(1.4);
	opacity: 0.55;
	animation: bs-glow-breathe 4.5s ease-in-out infinite;
	pointer-events: none;
	z-index: -1;
}
/* bright shimmer that sweeps along the strip */
.bs-flow-border::before {
	content: "" !important;
	position: absolute !important;
	inset: 0 !important;
	width: 18% !important;
	height: 100% !important;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent) !important;
	mix-blend-mode: overlay;
	opacity: 1 !important;
	animation: bs-shimmer 5s var(--bs-ease) infinite;
	pointer-events: none;
}
@keyframes bs-shimmer {
	0%   { transform: translateX(-120%); }
	60%  { transform: translateX(700%); }
	100% { transform: translateX(700%); }
}
@keyframes bs-glow-breathe {
	0%, 100% { opacity: 0.35; transform: scaleY(0.8); }
	50%      { opacity: 0.75; transform: scaleY(1.25); }
}

/* ---------------------------------------------------------------------
   5. WHAT WE DO - pagination colour fades, active image fades in
   --------------------------------------------------------------------- */
.bs-progress-nav { transition: height 0.6s var(--bs-ease) !important; }
.bs-progress-nav .bs-nav-circle {
	transition:
		background-color 0.6s ease,
		box-shadow 0.6s ease,
		transform 0.6s var(--bs-bounce) !important;
}
.bs-progress-nav .bs-nav-circle::before { transition: opacity 0.6s ease !important; }
.bs-progress-nav .bs-nav-number        { transition: color 0.5s ease !important; }
.bs-progress-nav .bs-nav-connector {
	transition:
		height 0.6s var(--bs-ease),
		margin 0.6s var(--bs-ease),
		background-color 0.6s ease !important;
}
.bs-progress-nav:hover .bs-nav-circle { transform: scale(1.12); }
.bs-progress-nav.active .bs-nav-circle {
	animation: bs-nav-pulse 2.4s ease-in-out infinite;
}
@keyframes bs-nav-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(231, 75, 70, 0.45); }
	50%      { box-shadow: 0 0 0 8px rgba(231, 75, 70, 0); }
}

.bs-progress-image-slide {
	transition: opacity 0.8s ease, visibility 0.8s ease !important;
	overflow: hidden;
}
.bs-progress-image-slide.active img {
	animation: bs-img-in 1.2s var(--bs-ease) both;
}
.bs-progress-image-slide.active .bs-progress-image-bar {
	animation: bs-bar-in 0.8s var(--bs-ease) 0.25s both;
}
@keyframes bs-img-in {
	from { opacity: 0; transform: scale(1.08); filter: blur(6px) brightness(0.7); }
	to   { opacity: 1; transform: scale(1);    filter: none; }
}
@keyframes bs-bar-in {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}

/* ---------------------------------------------------------------------
   6. BRANDS WE'VE PARTNERED WITH - hover: red lines draw around the
      speech-bubble outline from 2 points, both directions, once (1s),
      then the outline stays red until the mouse leaves.
      The SVG outline is added by the "bs-brand-outline" script
      (Footer template, HTML widget). Replaces the old shake.
   --------------------------------------------------------------------- */
.bs-brand-frame { position: relative; }
.bs-brand-frame .bs-outline {
	position: absolute; inset: 0; width: 100%; height: 100%;
	pointer-events: none; overflow: visible; z-index: 2;
}
.bs-brand-frame .bs-outline path {
	fill: none; stroke: #e74b46; stroke-width: 2.2; stroke-linecap: round;
	stroke-dasharray: 0 50; stroke-dashoffset: 0; opacity: 0;
	filter: drop-shadow(0 0 4px rgba(231, 75, 70, .75));
}
.bs-brand-frame:hover .bs-outline path {
	opacity: 1;
	animation: bs-outline-grow 1s ease-in-out 1 forwards;
}
@keyframes bs-outline-grow {
	from { stroke-dasharray: 0 50; stroke-dashoffset: 0; }
	to   { stroke-dasharray: 50 0; stroke-dashoffset: 25; }
}
@media (prefers-reduced-motion: reduce) {
	.bs-brand-frame:hover .bs-outline path { animation: none; stroke-dasharray: none; }
}

/* ---------------------------------------------------------------------
   7. CTA "Ready to Strengthen..." - border draws from top-left and
      bottom-right, joins, then glows
   --------------------------------------------------------------------- */
.bs-border-draw {
	position: relative;
	border-color: transparent !important;
	transition: box-shadow 1.2s ease;
}
.bs-border-draw .bs-bd {
	position: absolute;
	width: 0;
	height: 0;
	box-sizing: border-box;
	border: 1.5px solid transparent;
	border-radius: 10px;
	pointer-events: none;
	z-index: 0;
}
.bs-border-draw .bs-bd-a { top: 0;    left: 0; }
.bs-border-draw .bs-bd-b { bottom: 0; right: 0; }
.bs-border-draw.bs-in .bs-bd-a {
	border-top-color: var(--bs-red-2);
	border-right-color: var(--bs-red-2);
	animation: bs-draw 1.6s var(--bs-ease) 0.2s forwards, bs-bd-close 0.5s ease 1.8s forwards;
}
.bs-border-draw.bs-in .bs-bd-b {
	border-bottom-color: var(--bs-red-3);
	border-left-color: var(--bs-red-3);
	animation: bs-draw 1.6s var(--bs-ease) 0.2s forwards, bs-bd-close 0.5s ease 1.8s forwards;
}
/* once both halves meet, each becomes a full outline, so the two
   rounded corners where the halves join have no thin or faded gap */
@keyframes bs-bd-close {
	to { border-color: var(--bs-red-2) var(--bs-red-2) var(--bs-red-3) var(--bs-red-3); }
}
.bs-border-draw.bs-in {
	animation: bs-cta-glow 3.2s ease-in-out 1.8s infinite;
}
/* running light: two short glowing streaks start together at the top-left
   corner. One runs along the top and down the right side, the other down
   the left side and along the bottom; they meet at the bottom-right and
   fade out. Plays once, right after the border has drawn. They are SVG lines (added by the script), so
   they bend exactly round the rounded corners.
   --bs-run-speed = time for one trip, --bs-run-color = streak colour */
.bs-border-draw { --bs-run-speed: 3.2s; --bs-run-color: #ff8a7a; }
.e-con.bs-border-draw { overflow: hidden; }
.bs-border-draw .bs-run {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
	opacity: 0;
	filter: drop-shadow(0 0 3px var(--bs-red-2)) drop-shadow(0 0 6px rgba(231, 75, 70, 0.6));
	z-index: 2;
}
.bs-border-draw.bs-in .bs-run { animation: bs-run-show var(--bs-run-speed) linear 1.8s forwards; }
@keyframes bs-run-show {
	0%   { opacity: 0; }
	8%   { opacity: 1; }
	80%  { opacity: 1; }
	100% { opacity: 0; }
}
.bs-border-draw .bs-run rect {
	x: 0.75px;
	y: 0.75px;
	width: calc(100% - 1.5px);
	height: calc(100% - 1.5px);
	rx: 9.25px;
	ry: 9.25px;
	fill: none;
	stroke: var(--bs-run-color);
	stroke-width: 2px;
	stroke-linecap: round;
	stroke-dasharray: 14 86;
	stroke-dashoffset: 7;
}
.bs-border-draw.bs-in .bs-run-a { animation: bs-run-a var(--bs-run-speed) ease-in-out 1.8s forwards; }
.bs-border-draw.bs-in .bs-run-b { animation: bs-run-b var(--bs-run-speed) ease-in-out 1.8s forwards; }
@keyframes bs-run-a {
	from { stroke-dashoffset: 7; }
	to   { stroke-dashoffset: -43; }
}
@keyframes bs-run-b {
	from { stroke-dashoffset: 7; }
	to   { stroke-dashoffset: 57; }
}
/* black inner layer with a warm tint and a diagonal light sweep.
   border: 0 stops Elementor drawing the box's own white border on this
   layer (that was the thin white inner line). width/height auto lets the
   1.5px inset decide the size, so the red line shows on all four sides. */
.e-con.bs-border-draw::before {
	content: "";
	display: block;
	position: absolute;
	inset: 1.5px;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	border-radius: 8.5px;
	background:
		linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.07) 48%, rgba(255, 210, 194, 0.12) 50%, transparent 62%) no-repeat,
		radial-gradient(120% 140% at 0% 0%, rgba(231, 75, 70, 0.16), transparent 55%),
		radial-gradient(120% 140% at 100% 100%, rgba(123, 63, 228, 0.12), transparent 55%),
		#000;
	background-size: 250% 100%, 100% 100%, 100% 100%, auto;
	background-position: 150% 0, 0 0, 0 0, 0 0;
	mix-blend-mode: normal;
	opacity: 1;
	pointer-events: none;
	z-index: 2;
}
.e-con.bs-border-draw.bs-in::before {
	animation: bs-sweep 6s ease-in-out 2.4s infinite;
}
.elementor-element-0ea18c9 .elementor-element-b47e342 { position: relative; z-index: 3; }
.elementor-element-0ea18c9 b {
	animation: bs-text-glow 3.2s ease-in-out infinite;
}
.elementor-element-0ea18c9 .elementor-button {
	animation: bs-btn-pulse 2.6s ease-out 2.2s infinite;
}
.elementor-element-0ea18c9:hover { transform: translateY(-3px); }
.bs-border-draw { transition: box-shadow 1.2s ease, transform 0.5s var(--bs-ease); }
@keyframes bs-fade-in { to { opacity: 1; } }
@keyframes bs-sweep {
	0%, 15%  { background-position: 150% 0, 0 0, 0 0, 0 0; }
	55%, 100% { background-position: -60% 0, 0 0, 0 0, 0 0; }
}
@keyframes bs-text-glow {
	0%, 100% { text-shadow: 0 0 0 rgba(231, 75, 70, 0); }
	50%      { text-shadow: 0 0 18px rgba(231, 75, 70, 0.75); }
}
@keyframes bs-btn-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(231, 75, 70, 0.6); }
	70%  { box-shadow: 0 0 0 14px rgba(231, 75, 70, 0); }
	100% { box-shadow: 0 0 0 0 rgba(231, 75, 70, 0); }
}
@keyframes bs-draw {
	0%   { width: 0;                 height: 0; }
	50%  { width: 100%;  height: 0; }
	100% { width: 100%;  height: 100%; }
}
@keyframes bs-cta-glow {
	0%, 100% { box-shadow: 0 0 0 0 rgba(231, 75, 70, 0),   0 0 30px rgba(231, 75, 70, 0.12); }
	50%      { box-shadow: 0 0 0 4px rgba(231, 75, 70, 0.08), 0 0 50px rgba(231, 75, 70, 0.30); }
}

/* ---------------------------------------------------------------------
   7b. TYPING TEXT - the bold part of the "Ready to Strengthen..." heading
       (or the bold part of any heading given the class bs-typing) types
       itself out letter by letter (no cursor).
       --type-speed = time per letter, --type-start = wait before typing
   --------------------------------------------------------------------- */
.bs-type { --type-speed: 75ms; --type-start: 0.9s; }
.bs-js .bs-type .bs-ch { opacity: 0; position: relative; }
.bs-js .bs-type.bs-in .bs-ch {
	animation: bs-ch-show 0.01s linear forwards;
	animation-delay: calc(var(--ci, 0) * var(--type-speed) + var(--type-start));
}
@keyframes bs-ch-show { to { opacity: 1; } }

/* ---------------------------------------------------------------------
   8. WHAT CLIENTS SAY - arrows centred on the cards (script sets --bs-arrow-top)
   --------------------------------------------------------------------- */
.bs-carousel-centered .elementor-swiper-button {
	top: var(--bs-arrow-top, 50%) !important;
	inset-block-start: var(--bs-arrow-top, 50%) !important;
	transform: translateY(-50%) !important;
	transition: color 0.3s ease, scale 0.3s var(--bs-bounce);
}
.bs-carousel-centered .elementor-swiper-button:hover { scale: 1.2; }

/* ---------------------------------------------------------------------
   9. FOOTER COLUMNS / any .bs-stagger - fade up one by one
   --------------------------------------------------------------------- */
.bs-js .bs-stagger {
	opacity: 0;
	translate: 0 40px;
	transition:
		opacity 0.9s ease calc(var(--i, 0) * 180ms),
		translate 1s var(--bs-ease) calc(var(--i, 0) * 180ms);
}
.bs-js .bs-stagger.bs-in { opacity: 1; translate: 0 0; }

/* ---------------------------------------------------------------------
   10. ABOUT - "Our Work. Our Perspective. Our Journey."
       sticky (fixed) background + gentle logo shrink on hover only
   --------------------------------------------------------------------- */
@media (min-width: 1025px) {
	.elementor-element-b2fde2e { background-attachment: fixed !important; }
}
.elementor-element-140e8b0 .elementor-animation-shrink {
	transition-duration: 0.45s !important;
	transition-timing-function: var(--bs-ease) !important;
}
.elementor-element-140e8b0 .elementor-animation-shrink:hover,
.elementor-element-140e8b0 .elementor-animation-shrink:focus,
.elementor-element-140e8b0 .elementor-animation-shrink:active { transform: scale(0.95) !important; }

/* Award placeholder line removed */
.elementor-element-ad2aa62 { display: none !important; }

/* ---------------------------------------------------------------------
   10b. IMAGE HOVER - images zoom in gently inside their own frame
        (the picture grows, the rounded frame stays the same size).
        The Journey logos above keep their own shrink.
        --bs-r = the image's corner radius
   --------------------------------------------------------------------- */
.elementor-animation-shrink,
.elementor-widget-image-carousel .swiper-slide-image {
	--bs-r: 16px;
	clip-path: inset(0 round var(--bs-r));
	transition: transform 0.7s var(--bs-ease), clip-path 0.7s var(--bs-ease) !important;
}
.elementor-element-28655d8 img { --bs-r: 0px; }

.elementor-animation-shrink:hover,
.elementor-animation-shrink:focus,
.elementor-animation-shrink:active,
.elementor-widget-image-carousel .swiper-slide:hover .swiper-slide-image {
	transform: scale(1.06) !important;
	clip-path: inset(2.83% round calc(var(--bs-r) / 1.06));
}
.elementor-element-140e8b0 .elementor-animation-shrink,
.elementor-element-140e8b0 .elementor-animation-shrink:hover { clip-path: none !important; }

/* image carousel dots match "Brands We've Partnered With" */
.elementor-widget-image-carousel .swiper-pagination-bullet {
	width: 10px !important;
	height: 10px !important;
	margin: 0 2px !important;
	border-radius: 58px !important;
	background-color: rgba(255, 255, 255, 0.8) !important;
	opacity: 1 !important;
	transition: width 0.4s var(--bs-ease), background-color 0.4s ease;
}
.elementor-widget-image-carousel .swiper-pagination-bullet-active {
	width: 28px !important;
	background-color: #ffffff !important;
}

/* only the current photo is ever visible, so the edges of neighbouring
   photos can't flash in while the slider re-measures (e.g. after a tab
   switch). An outgoing photo stays visible until its slide-out finishes. */
.elementor-widget-image-carousel .swiper-slide { transition: visibility 0s linear 0.6s; }
.elementor-widget-image-carousel .swiper-slide:not(.swiper-slide-active) { visibility: hidden; }
.elementor-widget-image-carousel .swiper-slide.swiper-slide-active { visibility: visible; transition-delay: 0s; }

/* ---------------------------------------------------------------------
   10c. ABOUT TABS - every time a tab is opened: the active pill pops,
        the photo wipes in from the left, the heading's words rise one by
        one and the text lines follow. The photo stays hidden for the first
        moment so the slider can re-measure unseen (no jump).
   --------------------------------------------------------------------- */
.elementor-widget-n-tabs .e-n-tab-title {
	transition: background-color 0.4s ease, color 0.4s ease, transform 0.4s var(--bs-ease) !important;
}
.elementor-widget-n-tabs .e-n-tab-title:hover { transform: translateY(-2px); }
.elementor-widget-n-tabs .e-n-tab-title[aria-selected="true"] {
	animation: bs-pill-pop 0.5s var(--bs-bounce);
}

.elementor-widget-n-tabs .e-n-tabs-content .e-active {
	animation: bs-tab-in 0.5s ease both;
}
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget-image-carousel {
	animation: bs-tab-wipe 0.9s var(--bs-ease) 0.25s both !important;
}
.elementor-widget-n-tabs .e-n-tabs-content .e-active .bs-heading .bs-w {
	animation: bs-word-in 0.8s var(--bs-ease) both;
	animation-delay: calc(var(--wi, 0) * 70ms + 0.15s);
}
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget-divider,
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget-text-editor {
	animation: bs-tab-up 0.8s var(--bs-ease) both;
}
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(2) { animation-delay: 0.30s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(3) { animation-delay: 0.42s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(4) { animation-delay: 0.54s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(5) { animation-delay: 0.66s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(6) { animation-delay: 0.78s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(7) { animation-delay: 0.90s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(8) { animation-delay: 1.02s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(9) { animation-delay: 1.14s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(10) { animation-delay: 1.26s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(11) { animation-delay: 1.38s; }
.elementor-widget-n-tabs .e-n-tabs-content .e-active .elementor-widget:nth-child(12) { animation-delay: 1.50s; }
@keyframes bs-tab-in {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes bs-tab-wipe {
	from { clip-path: inset(0 100% 0 0 round 16px); transform: translateX(-24px); }
	to   { clip-path: inset(-40px -60px -40px -60px round 0); transform: none; }
}
@keyframes bs-word-in {
	from { opacity: 0; transform: translateY(0.6em) rotate(2deg); filter: blur(6px); }
	to   { opacity: 1; transform: none; filter: none; }
}
@keyframes bs-tab-up {
	from { opacity: 0; transform: translateY(28px); filter: blur(4px); }
	to   { opacity: 1; transform: none; filter: none; }
}
@keyframes bs-pill-pop {
	0%   { transform: scale(0.88); }
	60%  { transform: scale(1.06); }
	100% { transform: scale(1); }
}

/* ---------------------------------------------------------------------
   11. BACK TO TOP - B Social icon instead of the arrow
   --------------------------------------------------------------------- */
#ast-scroll-top {
	width: 48px !important;
	height: 48px !important;
	padding: 0 !important;
	background: transparent url(/wp-content/uploads/2026/08/site-icon.svg) center / contain no-repeat !important;
	border-radius: 50% !important;
	transition: transform 0.35s var(--bs-bounce), filter 0.35s ease;
	animation: bs-btt-bob 2.6s ease-in-out infinite;
}
#ast-scroll-top .ast-icon,
#ast-scroll-top svg { display: none !important; }
#ast-scroll-top:hover {
	transform: translateY(-6px) scale(1.08);
	filter: drop-shadow(0 6px 14px rgba(231, 75, 70, 0.55));
	animation-play-state: paused;
}
@keyframes bs-btt-bob {
	0%, 100% { translate: 0 0; }
	50%      { translate: 0 -4px; }
}

/* ---------------------------------------------------------------------
   12. NO DOTTED OUTLINE ON CLICK
   Mouse and touch clicks never show an outline. Keyboard users get a
   red ring on links and buttons so the site stays navigable by Tab.
   --------------------------------------------------------------------- */
a:focus,
button:focus,
[tabindex]:focus,
[role="button"]:focus,
.elementor-icon:focus,
#ast-scroll-top:focus,
#ast-scroll-top:focus-visible {
	outline: none !important;
}
a:focus-visible,
button:focus-visible {
	outline: 2px solid var(--bs-red-2) !important;
	outline-offset: 3px;
}

/* ---------------------------------------------------------------------
   13. BUTTONS - one look for every button on the site (Elementor buttons,
       the contact form button and the What We Do "Learn More" buttons).
       Text and icon are centred vertically. On hover a lighter red fills
       in from the left; the text stays white.
       --bs-btn-bg = normal colour, --bs-btn-hover = hover fill colour
   --------------------------------------------------------------------- */
:root {
	--bs-btn-bg: #97191D;
	--bs-btn-hover: #E74B46;
	--bs-btn-text: #FFFFFF;
}
.elementor-button,
.bs-progress-button {
	position: relative;
	overflow: hidden;
	z-index: 1;
	background-color: var(--bs-btn-bg) !important;
	color: var(--bs-btn-text) !important;
}
.elementor-button:hover,
.elementor-button:focus,
.bs-progress-button:hover,
.bs-progress-button:focus {
	background-color: var(--bs-btn-bg) !important;
	color: var(--bs-btn-text) !important;
}
.elementor-button .elementor-button-content-wrapper {
	position: relative;
	z-index: 2;
	align-items: center;
}
.elementor-button .elementor-button-text,
.bs-progress-button span {
	position: relative;
	z-index: 2;
	color: inherit !important;
}
.elementor-button::after,
.bs-progress-button::after {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 0;
	height: 100% !important;
	background: var(--bs-btn-hover) !important;
	z-index: 0 !important;
	pointer-events: none;
	transition: width 0.35s ease !important;
}
.elementor-button:hover::after,
.elementor-button:focus-visible::after,
.bs-progress-button:hover::after,
.bs-progress-button:focus-visible::after { width: 100%; }

/* ---------------------------------------------------------------------
   Respect reduced-motion: show everything, skip the movement
   --------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.bs-js *,
	.bs-js *::before,
	.bs-js *::after {
		animation: none !important;
		transition: none !important;
	}
	.bs-js .elementor-widget,
	.bs-js .bs-type .bs-ch,
	.bs-js .bs-heading .bs-w,
	.bs-js .bs-stagger,
	.bs-js .bs-brand-frame { opacity: 1 !important; transform: none !important; translate: none !important; scale: none !important; rotate: none !important; filter: none !important; }
	.bs-js .bs-divider--short .elementor-divider-separator,
	.line-large .elementor-heading-title::before,
	.line-large .elementor-heading-title::after,
	.line-small .elementor-heading-title::before,
	.line-small .elementor-heading-title::after { transform: none !important; }
	.bs-js .bs-flow-border { clip-path: none !important; }
}


/* Stop sideways scrolling on phones: decorative heading lines (.line-large / .line-small) extend 100vw past the screen edge. Clip horizontal overflow without breaking sticky elements. */
html, body { overflow-x: clip; }
@supports not (overflow: clip) { html, body { overflow-x: hidden; } }/* End custom CSS */