/* ex-variables */
/**
 *  Variables — design tokens (colors, gradients, shadows).
 *  Split from definitions.css (remaster A2). Band 0. Shared: frontend + block editor.
 */

:root {
   --Black: #101008;
   --Neutrals-Black: #282819;
   --Neutrals-Dark-Grey: #4E4E3E;
   --Neutrals-Grey: #70705F;
   --Neutrals-Medium-Grey: #8A8A7E;
   --Neutrals-Light-Grey: #929283;

   --Neutrals-Dark-Sand: #B4B4A2;
   --Neutrals-Sand: #C6C6B3;
   --Neutrals-Medium-Sand: #DADAC8;
   --Neutrals-Light-Sand: #E6E6D7;
   --Neutrals-White-Sand: #F7F6F2;
   --Neutrals-White: #FFFFFF;

   --Primary-Dark-Green: #003C19;
   --Primary-Green: #006432;
   --Primary-Green-40: rgba(0, 100, 50, 0.4);
   --Primary-Middle-Green: #0F9129;
   --Primary-Light-Green: #19AF23;
   --Primary-Soft-Green: #9ADF9F;
   --Primary-White-Green: #D1EFD3;
   
   --Secondary-Dark-Electro: #00413C;
   --Secondary-Middle-Electro: #00544D;
   --Secondary-Electro: #00786E;
   --Secondary-Light-Electro: #BFDDDB;

   --Primary-Gradient: linear-gradient(290deg, #006432 0%, #267D9E 100%);
   --Gradient-Sand: linear-gradient(135deg, #F7F6F2 5%, #E6E6D7 100%); 
   --Gradient-Green: linear-gradient(139deg, #19AF23 0%, #006432 130%);
   --Gradient-Electro: linear-gradient(320deg, #006432 0%, #3882A6 100%); 
   --Gradient-Black: linear-gradient(123deg, #4E4E3E 0%, #282819 100%); 
   --Gradient-Product-Real: linear-gradient(90deg, #F7F6F2 0%, #E6E6D7 100%);
   --Gradient-Product: linear-gradient(180deg, #F7F6F2 0%, #E6E6D7 100%);

   --Shadow-White: box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.05); 
   --Shadow-Dark: box-shadow: 0px 30px 30px 0px rgba(0, 0, 0, 0.15);
   --Shadow-Up: box-shadow: 0px -15px 30px 0px rgba(0, 0, 0, 0.05);

   --Secondary-Dark-Blue: #206985;
   --Secondary-Blue: #267D9E;
   --Secondary-Light-Blue: #3882A6;
   --Secondary-Red: #B90523;

   --Hover-on-Green: #5AD062;
}


/* ex-elements */
/**
 *  Elements — base typography + common element/utility styles.
 *  Split from definitions.css (remaster A2). Band 1 (after variables, before layout).
 *  NOTE: colors/body/margins/buttons here move to layout.css in a later portion; kept
 *  together now to preserve the exact cascade order (render-identical to definitions.css).
 */

/* Colors */
.color--black { color: var(--Neutrals-Black) }
.color--dark-grey { color: var(--Neutrals-Dark-Grey) }
.color--grey { color: var(--Neutrals-Grey) }
.color--light-grey { color: var(--Neutrals-Light-Grey) }
.color--dark-sand { color: var(--Neutrals-Dark-Sand) }
.color--sand { color: var(--Neutrals-Sand) }
.color--light-sand { color: var(--Neutrals-Light-Sand) }
.color--white-sand { color: var(--Neutrals-White-Sand) }
.color--white { color: var(--Neutrals-White) }
.color--green { color: var(--Primary-Green) }
.color--light-green { color: var(--Primary-Light-Green) }
.color--electronics { color: var(--Secondary-Electronics) }



/* Body styles */
* {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
   margin: 0;
}
html {
   min-height: 100%;
   height: 100%;
}
body {
   position: relative;
   width: 100%;
   min-width: 360px;
   min-height: 100vh;
   padding: 64px 0 0 0;
   margin: 0;
   background-color: var(--Neutrals-White);
   font-family: "open-sans", "Open Sans", sans-serif; 
   font-weight: 400;
   font-size: 16px;
   line-height: 1.5;
   color: var(--Neutrals-Dark-Grey);
   overflow-anchor: none;
   overflow-y: scroll;
   overflow-x: clip;
}
body.no_scroll {
   position: fixed;
   left: 0;
   right: 0;
   width: 100%;
}
.seo--title {
   position: absolute;
   width: 1px;
   height: 1px;
   padding: 0;
   margin: -1px;
   overflow: hidden;
   clip: rect(0, 0, 0, 0);
   white-space: nowrap;
   border: 0;
}

/* Headings */
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
   font-style: normal;
   font-weight: 300;
   color: var(--Neutrals-Black);
}
h1 {
   font-size: 56px;
   line-height: 1.15;
   letter-spacing: -0.05em;
}
h2 {
   font-size: 48px;
   line-height: 1.17;
   letter-spacing: -0.04em; 
}
h3 {
   font-size: 32px;
   line-height: 1.25;
   letter-spacing: -0.03em; 
}
h4 {
   font-size: 24px;
   line-height: 1.33;
   letter-spacing: -0.02em; 
}
h5 {
   font-size: 20px;
   line-height: 1.4;
   letter-spacing: -0.01em; 
}
h6 {
   font-size: 16px;
   line-height: 1.5;
   letter-spacing: 0;
}
.h1 {
   font-size: 56px;
   line-height: 1.15;
   letter-spacing: -0.05em;
}
.h2 {
   font-size: 48px;
   line-height: 1.17;
   letter-spacing: -0.04em; 
}
.h3 {
   font-size: 32px;
   line-height: 1.25;
   letter-spacing: -0.03em; 
}
.h4 {
   font-size: 24px;
   line-height: 1.33;
   letter-spacing: -0.02em; 
}
.h5 {
   font-size: 20px;
   line-height: 1.4;
   letter-spacing: -0.01em; 
}
.h6 {
   font-size: 16px;
   line-height: 1.5;
   letter-spacing: 0;
}

@media (max-width: 768px) {
   h1 { font-size: 52px; }
   h2 { font-size: 44px; }
   h3 { font-size: 32px; }
   h4 { font-size: 24px; }
   h5 { font-size: 20px; }
   h6 { font-size: 16px; }
   .h1 { font-size: 52px; }
   .h2 { font-size: 44px; }
   .h3 { font-size: 32px; }
   .h4 { font-size: 24px; }
   .h5 { font-size: 20px; }
   .h6 { font-size: 16px; }
}
@media (max-width: 450px) {
   h1 { font-size: 48px; }
   h2 { font-size: 40px; }
   h3 { font-size: 32px; }
   h4 { font-size: 24px; }
   h5 { font-size: 20px; }
   h6 { font-size: 16px; }
   .h1 { font-size: 48px; }
   .h2 { font-size: 40px; }
   .h3 { font-size: 32px; }
   .h4 { font-size: 24px; }
   .h5 { font-size: 20px; }
   .h6 { font-size: 16px; }
}


/* Paragraphs */
p {
   font-size: 16px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.5em;
   color: var(--Neutrals-Dark-Grey);
}
p.large, p.has-medium-font-size {
   font-size: 20px;
   font-style: normal;
   font-weight: 300;
   line-height: 1.5em;
   letter-spacing: -0.01em;
   color: var(--Neutrals-Dark-Grey);
}
p.small, p.has-small-font-size {
   font-size: 14px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.5em;
   /* color: var(--Neutrals-Grey); */
   color: var(--Neutrals-Dark-Grey);
}
p.indent {
   padding-left: 36px;
}



/** List/Unordered */
ul {
   padding: 0;
   margin: 0;
   list-style: none;
}
ul li {
   position: relative;
   padding-left: 24px;
   margin-bottom: 0.25em;
}
ul li::before {
   content: "";
   height: 7px;
   width: 7px;
   position: absolute;
   left: 0;
   top: 0.6em;
   border-radius: 4px;
   background-color: var(--Neutrals-Light-Grey);
}


/* Link/Regular */
a {
   outline: none;
   text-decoration: none;
   font-weight: 600;
   color: inherit;
   transition: color 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
   a:hover {
      text-decoration: none;
      color: var(--Primary-Light-Green);
   }
}
a:focus {
   outline: none !important;
   box-shadow: none !important;
}
body.touch_device {
   -webkit-tap-highlight-color: rgba(25, 175, 35, 0.4);
}


/* Subcripts / Supercripts */
sup {
   vertical-align: baseline; 
   position: relative;
   font-size: 0.7em;
   font-weight: 600;
   top: -0.4em;
}
sub {
   vertical-align: baseline; 
   position: relative;
   font-size: 0.7em;
   font-weight: 600;
   bottom: -0.3em;
}
strong sup, strong sub, sup strong, sub strong {
   font-weight: 700;
}
p.large sup, p.has-medium-font-size sup {
   font-weight: 300;
}
:is(h1, h2, h3, .h1, .h2, .h3) sup,
:is(h1, h2, h3, .h1, .h2, .h3) sub {
   font-weight: 300;
}
:is(h4, h5, h6, .h4, .h5, .h6) sup,
:is(h4, h5, h6, .h4, .h5, .h6) sub {
   font-weight: 400;
}



/* Layout helpers */
.clear--float::after {
	content: "";
	clear: both;
	display: table;
}
.flex--fit {
	display: block;
	flex: 10 0 auto;
}
.text--no_break {
   white-space: nowrap;
}


/** Margins */
.top--start {
   padding-top: 60px;
	margin-top: 0;
}
.top--0em {
   margin-top: 0 !important;
}
.top--0p25em {
   margin-top: 0.25em !important;
}
.top--0p5em {
   margin-top: 0.5em !important;
}
.top--0p75em {
   margin-top: 0.75em !important;
}
.top--1em {
   margin-top: 1em !important;
}
.top--1p5em {
   margin-top: 1.5em !important;
}
.top--2em {
   margin-top: 2em !important;
}
.top--2p5em {
   margin-top: 2.5em !important;
}
.top--3em {
   margin-top: 3em !important;
}
.top--4em {
   margin-top: 4em !important;
}
.top--5em {
   margin-top: 5em !important;
}

.bottom--0em {
   margin-bottom: 0 !important;
}
.bottom--0p25em {
   margin-bottom: 0.25em !important;
}
.bottom--0p5em {
   margin-bottom: 0.5em !important;
}
.bottom--0p75em {
   margin-bottom: 0.75em !important;
}
.bottom--1em {
   margin-bottom: 1em !important;
}
.bottom--1p5em {
   margin-bottom: 1.5em !important;
}
.bottom--2em {
   margin-bottom: 2em !important;
}
.bottom--2p5em {
   margin-bottom: 2.5em !important;
}
.bottom--3em {
   margin-bottom: 3em !important;
}
.bottom--4em {
   margin-bottom: 4em !important;
}
.bottom--5em {
   margin-bottom: 5em !important;
}
.bottom--end {
   padding-bottom: 120px;
	margin-bottom: 0;
}

.margin--title {
	margin-top: 52px;
	padding-top: 0;
	margin-bottom: 58px;
	padding-bottom: 0;
}

@media (max-width: 768px) {
   .top--start {
      padding-top: 48px;
   }
   .bottom--end {
      padding-bottom: 80px;
   }
	.margin--title {
		margin-top: 40px;
		margin-bottom: 46px;
	}
}

/** Width utils (U2: single global source; replaced pages.css .ex--document
    .width--small and the never-used wp-blocks p--limited) */
.width--small {
   max-width: 1024px !important;
}


/** Buttons */
.button--text {
   display: inline-block;
   font-size: 12px;
   font-style: normal;
   font-weight: 600;
   line-height: 22px;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   transition: color 0.2s ease;
}
.button--text.button--white {
   color: var(--Neutrals-White);
}
@media (hover: hover) and (pointer: fine) {
   .button--text.button--white:hover {
      color: var(--Hover-on-Green);
   }
}


/**  Button Round. Default color: --Neutrals-White 
 *   button--round button--green button--arrow button--arrow_down
 */

.button--round {
   display: inline-block;
   height: 40px;
   width: 40px;
   border: none;
   border-radius: 20px;
   cursor: pointer;
   outline: none;
   background-color: var(--Neutrals-White);
   background-position: center;
   background-repeat: no-repeat;
}
.button--small {
   height: 32px;
   width: 32px;
   border-radius: 16px;
}
.button--round.button--arrow,
.button--round.button--arrow_down,
.button--round.button--arrow_up {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23282819;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23282819;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.button--round.button--arrow_down {
   transform: rotate(90deg);
}
.button--round.button--arrow_up {
   transform: rotate(-90deg);
}
.button--round.button--arrow_left {
   transform: rotate(180deg);
}
.button--round.button--close {
   background-size: 14px;              
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .line%7Bfill:none;stroke:%23282819;stroke-width:1.1;stroke-linecap:round;stroke-miterlimit:10;%7D %3C/style%3E%3Cline class='line' x1='2.4' y1='9.7' x2='9.6' y2='2.3'/%3E%3Cline class='line' x1='2.4' y1='2.3' x2='9.6' y2='9.7'/%3E%3C/svg%3E");
}

.button--round.button--green {
   background-color: var(--Primary-Light-Green);
}
.button--round.button--green.button--arrow,
.button--round.button--green.button--arrow_down,
.button--round.button--green.button--arrow_up {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;%7D .st1%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.button--round.button--green.button--close {
   background-size: 14px;              
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .line%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-miterlimit:10;%7D %3C/style%3E%3Cline class='line' x1='2.4' y1='9.7' x2='9.6' y2='2.3'/%3E%3Cline class='line' x1='2.4' y1='2.3' x2='9.6' y2='9.7'/%3E%3C/svg%3E");
}




/**  Buttons. Default color: --Primary-Light-Green 
 *   button--item button--white button--arrow button--arrow_down button--arrow_up
 */

.buttons--container .button--item:not(:last-child) {
   margin-right: 16px;
}

.button--item {
   display: inline-block;
   position: relative;
   height: 48px;
   padding: 18px 32px 18px 32px;
   font-family: "open-sans", sans-serif;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   text-align: center;
   white-space: nowrap;
   border: none;
   border-radius: 24px;
   cursor: pointer;
   outline: none;
   background: var(--Primary-Light-Green);
}
.button--item span {
   display: inline-block;
   overflow: hidden;
   text-overflow: ellipsis;
   color: var(--Neutrals-White);
}


.button--item.button--icon {
   padding-right: 58px;
}
.button--item.button--icon::after {
   position: absolute;
   content: "";
   top: 9px;
   right: 9px;
   width: 30px;
   height: 30px;
   border: none;
   border-radius: 15px;
   background-color: var(--Primary-Green-40);
   background-position: center;
   background-repeat: no-repeat;
}
.button--item.button_icon--arrow::after {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;%7D .st1%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.button--item.button_icon--arrow_down::after {
   transform: rotate(90deg);
}
.button--item.button_icon--arrow_up::after {
   transform: rotate(-90deg);
}
.button--item.button_icon--close::after {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .line%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-miterlimit:10;%7D %3C/style%3E%3Cline class='line' x1='2.4' y1='9.7' x2='9.6' y2='2.3'/%3E%3Cline class='line' x1='2.4' y1='2.3' x2='9.6' y2='9.7'/%3E%3C/svg%3E");
}
.button--item.button_icon--load_more::after {
   transform: rotate(45deg);
}


.button--item.button--white {
   background: var(--Neutrals-White);
}
.button--item.button--white span {
   color: var(--Neutrals-Black);
}
.button--item.button--white.button--icon::after {
   background-color: var(--Neutrals-White-Sand);
}
.button--item.button--white.button_icon--arrow::after {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23282819;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23282819;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.button--item.button--white.button_icon--close::after {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .line%7Bfill:none;stroke:%23282819;stroke-width:1.2;stroke-linecap:round;stroke-miterlimit:10;%7D %3C/style%3E%3Cline class='line' x1='2.4' y1='9.7' x2='9.6' y2='2.3'/%3E%3Cline class='line' x1='2.4' y1='2.3' x2='9.6' y2='9.7'/%3E%3C/svg%3E");
}

.button--item.button--grey {
   background: var(--Neutrals-Light-Sand);
}
.button--item.button--grey span {
   color: var(--Neutrals-Light-Grey);
}
.button--item.button--grey.button--icon::after {
   background-color: var(--Neutrals-Dark-Sand);
}


/* Additions for the AG Link block (2026-07-27). Purely additive — every rule above is
   untouched, so all existing buttons render byte-identically.
 *
 * ICON PLACEMENT. `.button--icon` keeps its historical meaning: icon on the RIGHT, with
 * padding-right 58px and the ::after pinned right. A left-icon button carries BOTH
 * `.button--icon` (so it inherits the shared circle, the per-colour circle backgrounds and
 * the arrow images) AND `.button--icon_left`, which mirrors only the padding and the side.
 * That is why nothing above needed editing.
 * The block also emits `.button--icon_right` / `.button--icon_none` as markers; neither
 * needs a rule — right IS `.button--icon`, and "none" simply omits the icon classes. */
.button--item.button--icon_left {
   padding-left: 58px;
   padding-right: 32px;
}
.button--item.button--icon_left::after {
   left: 9px;
   right: auto;
}

/* ARROW DIRECTION. `button_icon--arrow` already points right, so arrow_right is the
   unrotated form; stated explicitly so it cannot pick up a rotation from a sibling class. */
.button--item.button_icon--arrow_right::after {
   transform: none;
}
.button--item.button_icon--arrow_left::after {
   transform: rotate(180deg);
}

/* Green is the `.button--item` default background. The class exists so the AG Link colour
   field has an explicit home and keeps working if that default ever changes. */
.button--item.button--green {
   background: var(--Primary-Light-Green);
}


.button--send_request {
   padding-right: 58px;  
}
.button--send_request::after {
   position: absolute;
   content: "";
   top: 9px;
   right: 9px;
   width: 30px;
   height: 30px;
   border: none;
   border-radius: 15px;
   background-color: var(--Primary-Green-40);
   background-position: center;
   background-repeat: no-repeat;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;%7D .st1%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.button--send_request.button--action_button {
   position: fixed;
   display: none;
   right: 50px;
   bottom: 24px;
   z-index: 500;
   transition: top 1s, bottom 1s;
}
.button--send_request.button--action_button.button--show_action {
   display: block;
   z-index: 1500;
}
.button--send_request.button--action_button.button--footer_fix {
   position: absolute;
   top: -72px;
   bottom: unset;
   z-index: 500;
}

@media (max-width: 1024px) {
   .button--send_request.button--action_button {
      right: 34px;
   }
}
@media (max-width: 768px) {
   .button--send_request.button--action_button {
      right: 18px;
   }
}
@media (max-width: 450px) {
   .button--send_request.button--action_button {
      right: 10px;
      bottom: 16px;
   }
}

@media (hover: hover) and (pointer: fine) {
   .button--item.button--icon:hover::after,
   .button--send_request:hover::after {
      background-color: var(--Primary-Green);
   }
   .button--item.button--white.button--icon:hover::after {
      background-color: var(--Neutrals-Medium-Sand);
   }
   .button--item.button--grey:hover span {
      color: var(--Neutrals-Black);
   }
   .button--item.button--grey.button--icon:hover::after {
      background-color: var(--Neutrals-Light-Grey);
   }
}

/* ex-layout */
/* 1512 1280 1024 768 450 */
/* 1150 630 */


:root {
   --Mobile-Padding: 24px;
}


/** Section */
.section--viewport {
   width: 1290px;
   padding-left: 0;
   padding-right: 0;
   margin-left: auto;
   margin-right: auto;
}
.section--small,
.section--viewport_small {
   width: 850px;
   max-width: 100%;
}   
.section--screen,
.section--full_width {
   width: 100%;
   padding-left: 0;
   padding-right: 0;
   margin-left: 0;
   margin-right: 0;
}
.section--viewport_fixed {
   width: 1072px;
   max-width: 100%;
   padding-left: 0;
   padding-right: 0;
   margin-left: auto;
   margin-right: auto;
} 
.section--viewport .section--screen,
.section--viewport .section--full_width {
   width: calc(100vw - var(--Scroll-Width)); 
   margin-left: calc((100% - 100vw + var(--Scroll-Width)) / 2);
   margin-right: calc((100% - 100vw + var(--Scroll-Width)) / 2);
}
.section--window_height {
   min-height: 100vh;
}

@media (max-width: 1512px) {
   .section--viewport {
      width: calc(100% - 128px);
   }    
   .section--viewport_fixed {
      width: 1072px;
   }    
   .section--viewport .section--screen {
      width: calc(100vw - var(--Scroll-Width));
   }
}
@media (max-width: 1200px) {
   .section--viewport_fixed {
      width: calc(100% - 128px);
   }    
}
@media (max-width: 1024px) {
   .section--viewport, .section--viewport_fixed {
      width: calc(100% - 96px);
   }    
}
@media (max-width: 768px) {
   .section--viewport, .section--viewport_fixed {
      width: calc(100% - 64px);
   }    
}
@media (max-width: 450px) {
   .section--viewport, .section--viewport_fixed {
      width: calc(100% - 48px);
   }    
}



/** Header block */
.header {
   position: fixed;
   z-index: 1000;
   top: 0;
   width: 100%;
}
.header--dropped .header {
   z-index: 1600;
}
.header--menu_container {
   background: var(--Neutrals-White);
   position: relative;
   z-index: 10;
   /* <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 9L7.5 6L4.5 3" stroke="#282819" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>  */
   --SVG-Black-Arrow: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 9L7.5 6L4.5 3' stroke='%23282819' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   /* <svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M4.5 9L7.5 6L4.5 3" stroke="#19AF23" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></svg>  */
   --SVG-Light-Green-Arrow: url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.5 9L7.5 6L4.5 3' stroke='%2319AF23' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); 
}
.compensate-for-scrollbar .header--menu_container {
   margin-right: var(--Scroll-Width);
}
.header--shadow {
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   height: 64px;
   z-index: 999;
   pointer-events: none;
   mix-blend-mode: multiply;
   box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.header--dropped .header--shadow {
   z-index: 1599;
}
.compensate-for-scrollbar .header--shadow {
   margin-right: var(--Scroll-Width);
}
.header--menu_wrap {
   display: flex;
   flex-wrap: nowrap;
}




/** Header Logo */
.header--logo {
   display: block;
   flex: 0 0 auto;
   margin-right: 100px;
   padding: 16px 0;
}
.header--logo img {
   display: block;
   height: 32px; 
   width: auto;
}

@media (max-width: 768px) {
   .header--logo {
      margin-right: 70px;
   }
}
@media (max-width: 450px) {
   .header--logo {
      margin-right: 40px;
   }
}


/** Header Top Menu */
.header--top_menu {
   flex: 1 0 auto;
   display: flex;
   justify-content: flex-start;
   flex-wrap: nowrap;
}

.menu--item_lvl0 .menu--top_handler {
   display: block;
   padding: 26px 12px;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.06em;
   text-transform: uppercase; 
   white-space: nowrap;
   color: var(--Neutrals-Black);
}
.menu--item_lvl0.menu--has_children .menu--top_handler {
   padding-right: 29px;
}
.menu--item_lvl0 .menu--top_handler span {
   display: block;
   position: relative;
   transition: color .1s ease;
}
.menu--item_lvl0.menu--has_children .menu--top_handler span::after {
   position: absolute;
   content: "";
   top: 0;
   right: -17px;
   width: 12px;
   height: 12px;
   background-position: center;
   background-repeat: no-repeat;
   background-image: var(--SVG-Black-Arrow);
   transform: rotate(90deg);
   transition: transform .3s ease-in-out 0s, top 0.3s ease-in-out 0s;
}
@media (hover: hover) and (pointer: fine) {
   .menu--item_lvl0 .menu--top_handler:hover span {
      color: var(--Primary-Light-Green);
   }
   .menu--item_lvl0.menu--has_children .menu--top_handler:hover span::after {
      background-image: var(--SVG-Light-Green-Arrow);
   }
}

.menu--item_lvl0.menu--has_children.menu--item_dropped .menu--top_handler span::after {
   top: -1px;
   transform: rotate(-90deg);
}
.menu--item_lvl0.menu--current_item .menu--top_handler,
.menu--item_lvl0.menu--current_ancestor .menu--top_handler {
   color: var(--Primary-Light-Green);
}
.menu--item_lvl0.menu--has_children.menu--current_item .menu--top_handler span::after,
.menu--item_lvl0.menu--has_children.menu--current_ancestor .menu--top_handler span::after {
   background-image: var(--SVG-Light-Green-Arrow);
}



           

/** Divider Item */
.menu--divider {
    flex: 1 1 auto;
    margin-right: 18px;
}

 

/** Search Item */
.menu--search .menu--top_handler {
   padding: 22px 12px;
   font-size: 0;
}
.menu--search .menu--top_handler span {
   width: 20px;
   height: 20px;
}
.menu--search.menu--item_dropped .menu--search_closed,
.menu--search:not(.menu--item_dropped) .menu--search_open {
   display: none;
}
.menu--search .svg-close,
.menu--search .svg-search {
   stroke:var(--Neutrals-Black); 
   stroke-linecap:round;
}
@media (hover: hover) and (pointer: fine) {
   .menu--search .menu--top_handler:hover .svg-search,
   .menu--search .menu--top_handler:hover .svg-close {
      stroke: var(--Primary-Light-Green);
   }
}



/** Burger handler */
.menu--burger {
   display: none;
}
.menu--burger button {
   border: none;
   cursor: pointer;
   outline: none;
   background-color: transparent;
}
.menu--burger .menu--top_handler {
   padding: 22px 20px 22px 12px;
   font-size: 0;
   height: 100%;
   width: 52px;
   position: relative;
}
.menu--burger .menu--top_handler span {
   position: absolute;
   top: 50%;
   left: 50%;
   width: 20px;
   height: 1.2px;
   background: var(--Neutrals-Black);
   transform: translateX(-50%) translateY(-50%);
}
.menu--burger .menu--top_handler span:before,
.menu--burger .menu--top_handler span:after {
   content: "";
   position: absolute;
   right: 0;
   margin: auto;
   height: 1.2px;
   background: var(--Neutrals-Black);
   opacity: 1;
   transition-property: transform, width;
   transition-duration: 0.1s;
   transition-timing-function: ease-in-out;
   transition-delay: 0s;
}
.menu--burger .menu--top_handler span:before {
   top: -8px;
   width: 17px;
}
.menu--burger .menu--top_handler span:after {
   bottom: -8px;
   width: 12px;
}
.menu--burger.menu--item_dropped .menu--top_handler span {
   background-color: transparent;
}
.menu--burger.menu--item_dropped .menu--top_handler span:before {
   transform: rotate(-45deg);
   top: 0;
   width: 20px;
}
.menu--burger.menu--item_dropped .menu--top_handler span:after {
   transform: rotate(45deg);
   bottom: 0;
   width: 20px;
}

@media (hover: hover) and (pointer: fine) {
   .menu--burger .menu--top_handler:hover span:before,
   .menu--burger .menu--top_handler:hover span:after {
      background: var(--Primary-Light-Green);
   }
   .menu--burger:not(.menu--item_dropped) .menu--top_handler:hover span {
      background: var(--Primary-Light-Green);
   }
}




/** Drop Container */
.menu--drop_container {
   display: none;
   background: var(--Neutrals-White-Sand);
   box-shadow: 0px 15px 30px 0px rgba(0, 0, 0, 0.15);
   padding-left: 40px;
   padding-right: 40px;
   margin-left: -28px;
}
.menu--drop_container.menu--drop_open {
   display: block;
   position: absolute;
   top: 64px;
   overflow-y: auto;
   overflow-x: clip;
}
.menu--drop_container .simplebar-track.simplebar-vertical {
   width: 4px;
   right: 4px;
   top: 4px;
   bottom: 8px;
   background-color: var(--Neutrals-Light-Sand);
}
.menu--drop_container .simplebar-scrollbar {
   background-color: var(--Neutrals-Dark-Sand);
}
.menu--drop_container .simplebar-scrollbar:before {
   display: none;
}

.menu--drop_category .menu--drop_container,
.menu--drop_full_width .menu--drop_container {
   left: 0;
   right: 0;
   padding-left: 0;
   padding-right: 0;
   margin-left: 0;
}
.menu--content_container {
   position: relative;
   display: inline-block;
   opacity: 0;
   padding: 28px 0; 
   transition: opacity 0.2s ease;
}
.menu--drop_category .menu--content_container,
.menu--drop_full_width .menu--content_container {
   padding-bottom: 48px;
}
.menu--drop_full_width.menu--drop_fixed .menu--content_container::after {
   position: absolute;
   content: "";
   top: 28px;
   bottom: 48px;
   left: -28px;
   width: 1px;
   background: var(--Neutrals-Medium-Sand);
}
.no_scroll .menu--drop_category .menu--content_container  {
   padding-bottom: 32px;
}
.menu--content_container .button--text {
   display: block;
   font-weight: 700;
   padding-top: 6px;
   padding-bottom: 6px;
   color: var(--Neutrals-Grey);
}
.menu--drop_category .menu--content_container .button--text {
   padding-top: 10px;
   padding-bottom: 10px;
}
.menu--drop_category .menu--content_container .menu--category_bottom {
   padding-bottom: 12px;
}
.menu--content_container .menu--item_lvl1.menu--current_item,
.menu--content_container .menu--item_lvl1.menu--current_ancestor,
.menu--content_container .menu_drop--content .menu--item_lvl1.menu--current_item,
.menu--content_container .menu_drop--content .menu--item_lvl1.menu--current_ancestor,
.menu--content_container .menu--item_lvl3.menu--current_item .menu--title {
   color: var(--Primary-Light-Green);
}
@media (max-width: 768px) {
   .menu--drop_category .menu--content_container .button--text {
      line-height: 18px;
   }
   .menu--drop_category .menu--content_container .menu--category_bottom {
      padding-bottom: 14px;
   }
}


/** Drop with Content */
.menu--drop_category .menu--content_container {
   display: flex;
}
.menu_drop--content {
   position: relative;
   flex: 0 0 auto;
   width: 25%;
   min-height: 200px;
   padding-right: 42px;
   padding-bottom: 0;
   display: flex;
   flex-direction: column;
}
.menu--drop_category .menu--category_space {
   flex-grow: 1;
   min-height: 54px;
}
.menu--drop_category .menu--item_lvl1 {
   padding-top: 12px;
   padding-bottom: 12px;
   transition: color .1s ease;
}
.menu_drop--content .button--text.button--content {
   position: absolute;
   bottom: 0;
   left: 0;
   padding-top: 13px;
   padding-bottom: 13px;
}

.menu_drop--content .button--item {
   position: absolute;
   bottom: 0;
   left: -10px;
}
.menu_drop--content .button--item.button--white span {
   color: var(--Neutrals-Grey);
}    
.menu_drop--content .menu--item_lvl1.menu--item_selected {
   color: var(--Neutrals-Black);
}
@media (hover: hover) and (pointer: fine) {
   .menu_drop--content .button--item.button--white:hover span {
      color: var(--Neutrals-Black);
   }    
   .menu--content_container .menu_drop--content .menu--item_lvl1:hover {
      color: var(--Primary-Light-Green);
   }
}


.menu_drop--items {
   flex-grow: 1;
   position: relative;
   padding-left: 80px;
   padding-bottom: 54px;
}
.menu_drop--items::before {
   position: absolute;
   content: "";
   top: -36px;
   bottom: -48px;
   left: 0;
   width: 100vw;
   background: rgba(255, 255, 255, 0.70);
   border-top: 1px solid var(--Neutrals-White-Sand);
}
.no_scroll .menu--content_container .menu_drop--items::before {
   bottom: -32px;
}
.menu_drop--item {
   position: relative;
   display: none;
   height: 100%;
}
.menu_drop--item.menu--target_selected {
   display: block;
}
.menu_drop--item .button--item {
   position: absolute;
   bottom: -54px;
   left: 0;
}

.menu_drop--category {
   display: flex;
   flex-wrap: wrap;
   align-content: flex-start;
   margin-left: -16px;
   margin-right: -16px;
   margin-bottom: 24px;
}
.menu_drop--category:last-child {
   margin-bottom: 0;
}
.menu_drop--category_title {
   display: block;
   font-size: 24px;
   font-style: normal;
   font-weight: 300;
   line-height: 24px;
   letter-spacing: -0.02em;
   margin-bottom: 24px;
   color: var(--Neutrals-Grey);
   transition: color .15s ease;
}
        
.menu_drop--item .menu--item_lvl3 {
   width: 33.3333%;
   padding-left: 16px;
   padding-right: 16px;
   margin-bottom: 16px;
}
.menu_drop--item .menu--item_lvl3 .menu--title {
   font-size: 16px;
   font-style: normal;
   line-height: 1.5; 
   font-weight: 600;
   color: var(--Neutrals-Black);
   margin-bottom: 4px;
   transition: color .15s ease;
}
.menu_drop--item .menu--item_lvl3 .small {
   font-size: 14px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.5em;
   color: var(--Neutrals-Grey);
}
@media (hover: hover) and (pointer: fine) {
   .menu_drop--item .menu--item_lvl3:hover p {
      color: var(--Neutrals-Black);
   }
   .menu_drop--item .menu--item_lvl3:hover .menu--title {
      color: var(--Primary-Light-Green);
   }
}
@media (max-width: 1024px) {
   .menu_drop--content {
      width: 28%;
   }
   .menu_drop--item .menu--item_lvl3 {
      width: 50%;
   }
}
@media (max-width: 768px) {
   .menu_drop--content {
      width: 32%;
   }
   .menu_drop--items {
      padding-left: 48px;
   }
}


/** Search Drop Container */
.menu--search .menu--content_container {
   display: block;
   padding-bottom: 64px;
}
.menu--search_form {
   display: flex;
   flex-wrap: nowrap;
   margin-top: 24px;
}
.menu--search_form .menu--search_input {
   flex-grow: 1;
   margin-right: 42px;
}
.menu--search_input {
   height: 48px;
   width: 100%;
   padding: 16px 0 16px;
   font-family: "open-sans", sans-serif;
   font-size: 16px;
   line-height: 1;
   font-weight: 400;
   color: var(--Neutrals-Grey);
   background-color: var(--Neutrals-White-Sand);
   border: none;
   border-bottom: 1px solid var(--Neutrals-Light-Grey);
   outline: none;
}
.menu--search_input::placeholder {
   color: var(--Neutrals-Light-Grey);
   opacity: 0.7;
}
.menu--search_input::-webkit-input-placeholder {
   color: var(--Neutrals-Light-Grey);
   opacity: 0.7;
}
.menu--search_input::-moz-placeholder {
   color: var(--Neutrals-Light-Grey);
   opacity: 0.7;
}
.menu--search_input::-ms-input-placeholder {
   color: var(--Neutrals-Light-Grey);
   opacity: 0.7;
}

/* Autofill partial tuning */
.menu--search_input:autofill,
.menu--search_input:autofill::first-line,
.menu--search_input:autofill:hover,
.menu--search_input:autofill:focus,
.menu--search_input:autofill:active,
.menu--search_input:-webkit-autofill,
.menu--search_input:-webkit-autofill::first-line,
.menu--search_input:-webkit-autofill:hover, 
.menu--search_input:-webkit-autofill:focus, 
.menu--search_input:-webkit-autofill:active {
   box-shadow: 0 0 0 50px var(--Neutrals-White-Sand) inset !important;
   -webkit-box-shadow: 0 0 0 50px var(--Neutrals-White-Sand) inset !important;
   color: var(--Neutrals-Grey) !important;
   -webkit-text-fill-color: var(--Neutrals-Grey) !important;
   font-family: "open-sans", sans-serif !important;
   font-size: 16px !important;
   font-weight: 400 !important;
}
.menu--search_form .button--item {
   flex-grow: 0;
}

@media (max-width: 530px){
   .menu--search .menu--content_container {
      padding-bottom: 48px;
   }
   .menu--search_form {
      flex-wrap: wrap;
      margin-top: 16px;
   }
   .menu--search_form .menu--search_input {
      width: 100%;
      margin-right: 0;
   }
   .menu--search_form .button--item {
      width: 100%;
      margin-top: 32px;
   }
}



/** Burger menu dropdown */
.burger--menu {
   display: block;
   padding: 0;
   width: 100%;
}
.menu--burger .menu--drop_container {
   right: 0;
   padding-left: 0;
   padding-right: 0;
   margin-left: 0;
   background: var(--Neutrals-Medium-Sand);
}
.menu--burger .menu--drop_container .simplebar-track.simplebar-vertical {
   width: 4px;
   right: 2px;
   top: 2px;
   bottom: 2px;
   background-color: var(--Neutrals-Light-Sand);
}

.menu--burger .burger--handler {
   display: block;
   padding: 0;
   border-top: 1px solid var(--Neutrals-Light-Sand);
}
.menu--burger .burger--handler.burger_item--has_childs,
.menu--burger .burger--handler.burger--language {
   display: flex;
   flex-wrap: nowrap;
}
.menu--burger .burger--handler.burger--complex_handler .menu--handler {
   display: flex;
   flex-wrap: nowrap;
   padding-top: 0;
   padding-bottom: 0;
   padding-right: 0;
}
.burger--complex_left {
   flex: 1 1 auto;
   padding-top: 12px;
   padding-bottom: 12px;
}
.burger--complex_right {
   display: block;
   width: 86px;
   flex: 0 0 auto;
   position: relative;
   cursor: pointer;
}
.burger--complex_right img {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

.menu--item_lvl0 > .burger--handler,
.burger--handler.burger--language {
   background: var(--Neutrals-White-Sand);
}
.menu--burger .burger--item {
   padding: 0;
}

.burger--handler .menu--handler {
   display: block;
   padding: 22px 24px;
   flex: 1 1 auto;
}
.burger--handler.menu--item_lvl3 .menu--handler {
   padding-top: 12px;
   padding-bottom: 12px;
   padding-right: 72px;
}
.burger--handler .menu--handler span {
   display: block;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 1;
   letter-spacing: 0.06em;
   text-transform: uppercase; 
   white-space: nowrap;
   color: var(--Neutrals-Black);
   transition: color .1s ease;
}
.burger--handler .menu--handler p {
   font-size: 15px;
   line-height: 1.2;
   color: var(--Neutrals-Grey);
   margin-top: 0.5em;
}

.burger--handler .burger--expand {
   display: none;
   width: 100px;
   padding-right: 64px;
   flex: 0 0 auto;
   border-left: 1px solid var(--Neutrals-Light-Sand);
   cursor: pointer;
}
.burger--handler.burger_item--has_childs .burger--expand {
   display: block;
}
.burger--expand span {
   display: block;
   height: 100%;
   width: 100%;
   background-position: center;
   background-repeat: no-repeat;
   background-image: var(--SVG-Black-Arrow);
   transform: rotate(90deg);
   transition: transform .3s ease-in-out 0s;
}
.burger--item_expanded > .burger--handler .burger--expand span {
   transform: rotate(-90deg);
}

.burger--item_expanded.menu--item_lvl0 > .burger--handler {
   background: var(--Neutrals-Light-Sand);
}
.burger--item_expanded.menu--item_lvl0 > .burger--handler .burger--expand {
   border-left-color: var(--Neutrals-White);
}

.burger--children_container {
   display: none;
   background: var(--Neutrals-White);
}
.burger--item.menu--item_lvl1 > .burger--children_container {
   margin-left: 24px;
}

@media (hover: hover) and (pointer: fine) {
   .burger--menu .menu--handler:hover span {
      color: var(--Primary-Light-Green);
   }
   .burger--menu .burger--expand:hover span {
      background-image: var(--SVG-Light-Green-Arrow);
   }
}

.burger--language {
   border-bottom: 1px solid var(--Neutrals-Light-Sand);
}
.burger--language .menu--handler:not(:last-child) {
   border-right: 1px solid var(--Neutrals-Light-Sand);
}
.burger--divider {
   height: 52px;
   background: var(--Neutrals-Medium-Sand);
   border-top: 1px solid var(--Neutrals-Light-Sand);
}


.burger--item.menu--current_item > .burger--handler .menu--handler span,
.burger--item.menu--current_ancestor > .burger--handler .menu--handler span,
.burger--handler.menu--current_item > .menu--handler span,
.burger--language .menu--current_item span {
   color: var(--Primary-Light-Green);
}



/* Move items to burger */
.burger--menu .menu--item_lvl0 {
   display: none;
}
.header--menu_wrap {
   margin-right: -12px;
}

@media (max-width: 1200px) {
   .header--top_menu {
      justify-content: flex-end;
   }
   .menu--divider {
      display: none;
   }
}
@media (max-width: 1100px) {
   .header--menu_wrap {
      margin-right: -12px;
   }
   .menu--company,
   .menu--contacts,
   .menu--language {
      display: none;
   }
   .menu--burger {
      display: block;
   }
   .burger--menu .menu--company,
   .burger--menu .menu--contacts {
      display: block;
   }
   .menu--burger .menu--drop_container {
      width: 50vw;
   }
}
@media (max-width: 1024px) {
   .burger--handler .burger--expand {
      width: 84px;
      padding-right: 48px;
   }
}
@media (max-width: 850px) {
   .menu--support {
      display: none;
   }
   .burger--menu .menu--support {
      display: block;
   }
}
@media (max-width: 768px) {
   .burger--handler .burger--expand {
      width: 70px;
      padding-right: 28px;
   }
   .burger--complex_right {
      width: 92px;
   }   
}
@media (max-width: 700px) {
   .menu--products,
   .menu--applications {
      display: none;
   }
   .burger--menu .menu--products,
   .burger--menu .menu--applications {
      display: block;
   }
   .menu--burger .menu--drop_container {
      width: 100%;
   }
   .burger--handler > .menu--handler {
      padding-left: 32px;
   }
}
@media (max-width: 450px){
   .burger--handler .burger--expand {
      width: 64px;
      padding-right: 20px;
   }
   .burger--complex_right {
      width: 78px;
   }   
   .burger--handler > .menu--handler {
      padding-left: var(--Mobile-Padding);
   }
}




/** Content block */
.content {
	width: 100%;
   min-height: 100vh;
   position: relative;
}


/** Content heading section  */
.section--heading {
   background-color: var(--Primary-Dark-Green);
   background-size: cover;
   background-repeat: no-repeat;
   background-position-x: right;

}
.content_heading--container {
   padding: 72px 0;
}
.content_heading--content {
   display: inline-block;
   max-width: 50%;
   padding: 48px;
   border: 1px solid rgba(255, 255, 255, 0.06);
   background: rgba(255, 255, 255, 0.05);
   -webkit-backdrop-filter: blur(60px);
   backdrop-filter: blur(60px);
}
.content_heading--content h1 {
   color: var(--Neutrals-White-Sand);
   line-height: 1.1;
}
.content_heading--content p {
   margin-top: 32px;
   color: var(--Neutrals-White-Sand); 
}
.content_heading--content .buttons--container {
   margin-top: 48px;
}

@media (max-width: 1280px) {
   .content_heading--content {
      max-width: 70%;
   }
}
@media (max-width: 1024px) {
   .content_heading--container {
      padding: 48px 0;
   }
   .content_heading--content h1 {
      font-size: 48px;
   }
}
@media (max-width: 768px) {
   .content_heading--container {
      padding: 32px 0;
   }
   .content_heading--content {
      padding: 32px;
      max-width: 100%;
   }
}
@media (max-width: 450px) {
   .content_heading--content h1 {
      font-size: 42px;
   }
   .content_heading--content .buttons--container {
      margin-top: 32px;
   }
   .content_heading--content .button--item {
      width: 100%;
   }
}



.section--container {
   width: 100%;
}




/** Footer block */
.footer {
   position: relative;
	width: 100%;
   background: var(--Gradient-Electro);
   padding-top: 64px;
   padding-bottom: 24px;
}
.footer--container {
   position: relative;
}

.footer--anchor {
   position: absolute;
   top: -40px;
   right: -6px;
   display: inline-flex;
   align-items: center;
   flex-wrap: nowrap;
   justify-content: flex-end;
   column-gap: 16px;
   min-height: 40px;
   min-width: 40px;
}


.footer--logo {
   display: inline-block;
}
.footer--logo img {
   display: block;
   height: 32px; 
   width: auto;
}



.footer--menu {
   margin-top: 52px;
   display: flex;
   flex-wrap: nowrap;
   margin-left: -32px;
   margin-right: -32px;
}
.footer_menu--column {
   flex: 1 1 auto;
   padding-left: 32px;
   padding-right: 32px;
}
.footer_menu--column .button--text {
   display: block;
   line-height: 22px;
   margin-top: 8px;
   padding-top: 4px;
   padding-bottom: 4px;
   transition: color .1s ease;
}
.footer_menu--column .button--text.menu--item_lvl0 {
   font-size: 16px;
   font-weight: 400;
   line-height: 26px;
   text-transform: none;
   letter-spacing: 0.06em;
   margin-bottom: 22px;
   margin-top: 0;
}


.footer--address {
   font-size: 16px;
   font-weight: 300;
   line-height: 26px;
   letter-spacing: 0.04em;
   white-space: nowrap; 
   color: var(--Neutrals-White);
   display: block;
   margin-top: 12px;
}
.footer--address.menu--item_lvl0 {
   margin-top: 0;
   padding-top: 4px;
}

.footer--social_block {
   white-space: nowrap;
   margin-top: 46px;
}
.footer--social {
   display: inline-block;
   width: 24px;
   margin-right: 18px;
}
.footer--social:last-child {
      margin-right: 0;
}
.footer--social_icon {
      fill: var(--Neutrals-White);
}

@media (hover: hover) and (pointer: fine) {
   .footer--anchor:hover .button--text { color: var(--Hover-on-Green); }
   .footer--anchor:hover .button--round {
      background-color: var(--Hover-on-Green);
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;%7D .st1%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
   }
   .footer--address.footer--email:hover { color: var(--Hover-on-Green); }
   .footer--social:hover .footer--social_icon { fill: var(--Hover-on-Green); }
}

.footer_column--bottom {
   display: none;
}

.footer--bottom {
   display: flex;
   flex-wrap: nowrap;
   align-items: baseline;
   margin-top: 56px;
}
.footer--copyright {
   flex-grow: 1;
   font-size: 13px;
   font-style: normal;
   font-weight: 400;
   line-height: 1;
   letter-spacing: 0.01em;     
   color: var(--Neutrals-White);
   opacity: 0.8;
}
.footer--bottom_links {
   flex-grow: 0;
   margin-left: 32px;
}


@media (max-width: 1280px) {
   .footer--menu {
      margin-left: -24px;
      margin-right: -24px;
   }
   .footer_menu--column {
      padding-left: 24px;
      padding-right: 24px;
   }
}
@media (max-width: 1100px) {
   .footer--anchor { right: -3px; }
}
@media (max-width: 1024px) {
   .footer--menu { flex-wrap: wrap; }
   .footer_menu--column { width: 33.33333%; }
   .footer_column--1 { 
      order: 1;
      margin-bottom: 64px; 
   }
   .footer_column--3 { 
      order: 2;
      margin-bottom: 64px;
   }
   .footer_column--address { 
      order: 3;
      margin-bottom: 64px;
   }
   .footer_column--2 { order: 4; }
   .footer_column--4 { order: 5; }
   .footer_column--bottom {
      order: 6; 
      display: block;
   }
   .footer_column--bottom .button--text:first-child { margin-top: 0; }
   .footer--bottom_links { display: none; }
}
@media (max-width: 768px) {
   .footer_column--3, .footer_column--4 { width: 20%; }
}
@media (max-width: 650px) {
   .footer_menu--column {
      width: 50%;
      margin-bottom: 64px;
   }
   .footer_column--1 { order: 1; }
   .footer_column--2 { order: 2; }
   .footer_column--3 { order: 4; }
   .footer_column--4 { order: 3; }
   .footer_column--address { 
      order: 5; 
      margin-bottom: 0;
   }
   .footer_column--bottom { order: 6; }
   .footer_menu--column .button--text { line-height: 20px; }
   .footer_menu--column .button--text.menu--item_lvl0 { margin-bottom: 16px; }
}
@media (max-width: 450px) {
   .footer { padding-top: 46px; }    
   .footer--anchor { top: -5px; }
   .footer--anchor_text { display: none; } 
   .footer_menu--column .button--text.menu--item_lvl0 { 
      margin-bottom: 10px; 
      font-size: 15px;
      font-weight: 600;
      text-transform: uppercase;
   }
   .footer_menu--column .button--text.menu--item_lvl1 { display: none; }
   .footer_menu--column { margin-bottom: 0; }
   .footer_menu--column.footer_column--address { 
      width: 100%;
      margin-top: 32px; 
      margin-bottom: 46px;
   }
   .footer--fax { margin-top: 0; }
   .footer_menu--column.footer_column--bottom { width: 100%; }
   .footer--bottom { margin-top: 36px; }
}





/** 
 *   FancyBox 
 */
.fancybox-caption__body > * {
	font-size: 14px;
	color: #FFFFFF;
}
.fancybox-caption__body h4 {
	margin-bottom: 3px;
}
.fancybox-caption__body .fancy_pop--description {
	font-size: 12px;
	font-style: italic;
   margin-top: 2px;
}
@media (max-width: 785px) {
	.fancybox-caption__body > * {
		font-size: 13px;
	}
	.fancybox-caption__body .fancy_pop--description {
		font-size: 11px;
	}
}

/* FancyBox: Remove background from all buttons */
.fancybox-navigation .fancybox-button {
	background: transparent;
}

/* FancyBox: Navigation arrows */
.fancybox-navigation .fancybox-button div {
	padding: 6px;
	background: transparient;
	border-radius: 16px;
	transition: opacity .2s;
	border: 1px solid var(--Neutrals-Medium-Grey);
	opacity: .7;
}
.fancybox-navigation .fancybox-button:not([disabled]):hover div {
	opacity: .9;
	background: var(--Neutrals-White-Sand);
    border-color: var(--Neutrals-White-Sand);
}
.fancybox-navigation .fancybox-button[disabled] {
	color: var(--Neutrals-Dark-Grey);
}
.fancybox-navigation .fancybox-button:not([disabled]) {
	color: var(--Neutrals-Sand);
}
.fancybox-navigation .fancybox-button:not([disabled]):hover {
	color: var(--Primary-Green);
}



/* .h4 {
   font-size: 24px;
   font-weight: normal;
   line-height: 32px;
   letter-spacing: -0.02em;
   color: var(--Neutrals-Black);
}

@media screen and (max-width: 767px) {
   .h4 {
      font-size: 20px;
      line-height: 28px;
   }
} */

.disabled,
[disabled]:not(.brlbs-cmpnt-list-item) {
   pointer-events: none;
   opacity: .3;
}

.section--page-heading {
   padding-top: 72px;
   padding-bottom: 72px;
   background: var(--Gradient-Sand);
}


body:not(.single-news) .section--page-heading {
   background: var(--Gradient-Electro);
   position: relative;
}
body:not(.single-news) .section--page-heading:after {
   content: '';
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='1047' height='211'><path opacity='.05' d='M0 .00001 1047 0l-85.662 211H0V.00001Z' fill='%23282819'/></svg>") no-repeat 0% 50%;
   bottom: 0;
   background-size: 75% 100%;
}
body:not(.single-news) .section--page-heading h1 {
   color: var(--Neutrals-White);
   position: relative;
   z-index: 1;
}


/** Header  */
.section--page_header {
   background-color: var(--Neutrals-Black);
   background-size: cover;
   background-repeat: no-repeat;
   min-height: 432px;
   background-position: 50% 70%;
}
.page--header_container {
   padding: 72px 0;
}
.page--header_content {
   max-width: 550px; 
   padding: 48px;
   border: 1px solid rgba(255, 255, 255, 0.06);
   background: rgba(255, 255, 255, 0.05);

   -webkit-backdrop-filter: blur(120px);
   backdrop-filter: blur(120px);
}
.page--header_content h1 {
   color: var(--Neutrals-White);
}
.page--header_content p {
   margin-top: 24px;
   color: var(--Neutrals-Light-Sand);
}


@media screen and (max-width: 767px) {
   .page--header_container {
      padding: 0;
      min-height: 338px;
   }
   .section--page_header .section--viewport {
      padding: 0;
   }
   .page--header_content {
      padding: 36px 24px 42px;
      border: 0;
      max-width: none;
   }
   .section--page-heading {
      padding-top: 32px;
      padding-bottom: 32px;
   }
}


/** Debug screen */
.debug--screen {
	position: fixed;
	top: 0;
	left: 0;
	padding: 5px 10px;
	background-color: var(--Neutrals-White-Sand);
	font-size: 13px;
	font-weight: 400;
   color: var(--Neutrals-Dark-Grey);
	z-index: 50000;
}
pre {
	font-size: 15px;
	line-height: 1.2;
}



/** WP Columns */
.wp-block-columns {
   box-sizing: border-box;
   display: flex;
   flex-wrap: nowrap;
   gap: 80px;
}

.wp-block-columns {
   align-items: normal
}
.wp-block-columns.are-vertically-aligned-top {
   align-items: flex-start
}
.wp-block-columns.are-vertically-aligned-center {
   align-items: center
}
.wp-block-columns.are-vertically-aligned-bottom {
   align-items: flex-end
}


.wp-block-column {
   flex-basis: 30% !important;
   flex-grow: 1;
   min-width: 0;
   overflow-wrap: break-word;
   word-break: break-word;
}
.wp-block-column.is-vertically-aligned-top {
   align-self: flex-start
}
.wp-block-column.is-vertically-aligned-center {
   align-self: center
}
.wp-block-column.is-vertically-aligned-bottom {
   align-self: flex-end
}
.wp-block-column.is-vertically-aligned-stretch {
   align-self: stretch
}
.wp-block-column.is-vertically-aligned-bottom,
.wp-block-column.is-vertically-aligned-center,
.wp-block-column.is-vertically-aligned-top {
   width: 100%
}

@media (max-width: 1024px) {
   .wp-block-columns.columns--text_image,
   .wp-block-columns.columns--image_text {
      flex-wrap: wrap !important;
      gap: 48px;
   }
   .wp-block-columns.columns--text_table,
   .wp-block-columns.columns--table_table {
      flex-wrap: wrap !important;
      gap: 24px;
   }
   .columns--text_image .wp-block-column,
   .columns--image_text .wp-block-column,
   .columns--text_table .wp-block-column,
   .columns--table_table .wp-block-column {
      flex-basis: 100% !important;
   }
   .wp-block-columns.columns--swap .wp-block-column:last-child {
      order: 1;
   }
   .wp-block-columns.columns--swap .wp-block-column:first-child {
      order: 2;
   }
}
@media (max-width: 768px) {
   .wp-block-columns {
      flex-wrap: wrap !important;
   }
   .wp-block-columns .wp-block-column {
      flex-basis: 100% !important;
   }
   .wp-block-columns.columns--list_list {
      gap: 54px;
   }
   .wp-block-columns.columns--text_image,
   .wp-block-columns.columns--image_text {
      gap: 32px;
   }
   .wp-block-columns.columns--double_list,
   .wp-block-columns.columns--text_text {
      gap: 0;
   }
   .wp-block-columns.columns--double_list .wp-block-column:last-child {
      padding-top: 0;
   }
}

@media (max-width: 450px) {
   .wp-block-columns.columns--text_image,
   .wp-block-columns.columns--image_text {
      gap: 24px;
   }
}

/** WP Video */
.wp-block-video {
    box-sizing: border-box
}
.wp-block-video video {
    height: auto;
    vertical-align: middle;
    width: 100%
}
@supports (position: sticky) {
    .wp-block-video [poster] {
        object-fit:cover
    }
}
.wp-block-video.aligncenter {
    text-align: center
}
.wp-block-video :where(figcaption) {
    margin-bottom: 1em;
    margin-top: .5em
}

/** WP Spacer */
.wp-block-spacer{clear:both}

/** WP Math */
.wp-block-math {
   font-size: 20px;
}


/* ex-section-heading */
/**
 * section-heading.css — the shared page-header hero rendered by
 * templates/partial/section-heading.twig (.section--header / .section_header--*).
 * Extracted in CSS remaster M4 (byte-copy of the gb-styles.css group; self-scoped,
 * no .gb--styles dependency ever existed here).
 * Consumers: search.php (live); page-full.twig (homepage — heading currently empty,
 * enqueue documented in template-landing.php) and page.twig (fallback, own M4 slot).
 * Default priority 10 — same slot gb-styles occupied; re-band with the D-track.
 */

/** 
 *  SECTION HEADER WITH PHOTO 
 *  default - gradient background
 *  .section_header--has_image - header has image
 *  .section_header--m_object - image with object, horizontal and vertical, reveal on mobile
 *  .section_header--m_abstract - abstact image, cover with filter on mobile
 *  .section_header--m_gradient - use gradient on mobile
 */

.section--header {
    position: relative;
    background-image: linear-gradient(320deg, #006432 0%, #3882A6 100%);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top right;
    min-height: 200px;
}
.section--header::before {
   position: absolute;
   content: "";
   top: 0;
   bottom: 0;
   left: 0;
   width: 70%;
   background-image: url("data:image/svg+xml,%3Csvg width='259' height='198' viewBox='0 0 259 198' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath opacity='0.08' fill-rule='evenodd' clip-rule='evenodd' d='M0 1.18017e-05L259 0L213.505 198L0 198V1.18017e-05Z' fill='%23282819'/%3E%3C/svg%3E");
   background-size: cover;
   background-repeat: no-repeat;
   background-position: center right;
}

.section_header--container {
   padding: 56px 0;
}
.section_header--content {
   width: 70%;
}
   .section_header--content h1 {
      color: var(--Neutrals-White-Sand);
      line-height: 1.1;
   }
   .section_header--content p {
      margin-top: 28px;
      color: var(--Neutrals-White-Sand); 
   }
   .section_header--content .buttons--container {
      margin-top: 42px;
   }


.section--header.section_header--has_image::before {
   display: none;
}
.section_header--has_image .section_header--content {
   display: block;
   width: 50%;
   padding: 32px 46px 42px;
   background: rgba(255, 255, 255, 0.05);
   backdrop-filter: blur(60px);
}

@media (max-width: 1280px) {
   .section_header--content {
      width: 100%;
   }
   .section_header--has_image .section_header--content {
      width: 75%;
   }

   .section_header--m_object .section_header--content {
      width: 50%;
   }
}
@media (max-width: 1024px) {
   .section_header--container {
      padding: 56px 0;
   }

   .section_header--has_image .section_header--content {
      width: 100%;
      padding: 28px 36px 36px;
   }

   .section_header--m_object .section_header--content {
      width: 50%;
   }
}

@media (max-width: 768px) {
   .section--header .section--viewport {
      padding-left: 0;
      padding-right: 0;
   }
   .section_header--container {
      padding-top: 0;
      padding-bottom: 0;
   }
   .section_header--content,
   .section_header--has_image .section_header--content {
      padding: 42px 32px;
   }
   .section_header--content h1 {
      font-size: 52px;
   }
   .section_header--content .buttons--container {
      margin-top: 36px;
   }

    
   .section--header.section_header--m_gradient {
      background-image: linear-gradient(320deg, #006432 0%, #3882A6 100%);
   }

   .section--header.section_header--m_gradient::before {
      display: block;
   }
   .section--header.section_header--m_gradient .section_header--content {
      background: none;
      backdrop-filter: none;
   }


   .section_header--m_object.section--header {
      background-position: center bottom;
   }
   .section_header--m_object .section_header--container {
      padding-bottom: 320px;
   }
   .section_header--m_object .section_header--content {
      width: 100%;
      padding-bottom: 36px;
   }
}
@media (max-width: 450px) {
   .section_header--content,
   .section_header--has_image .section_header--content {
      padding: 36px 24px 42px;
   }
   .section_header--content h1 {
      font-size: 46px;
   }
   .section_header--content p {
      font-size: 14px;
      line-height: 1.7em; 
   }

   .section_header--m_object .section_header--container {
      padding-bottom: 280px;
   }
   .section_header--m_object .section_header--content {
      padding-bottom: 32px;
   }
}


/* ex-search */

.section--search_summary {
    margin-top: 56px;
    margin-bottom: 48px;
}
.section--search_summary h4 strong {
    font-weight: 600;
}



.search--load_more {
    text-align: center;
    padding-bottom: 24px;
	 padding-top: 24px;
}
.search--load_more .button--item {
    margin-top: 12px;
}



.section--search_results {
    margin-top: 48px;
    margin-bottom: 72px;
}
.section--search_results h2 {
    padding-bottom: 48px;
}
    .section--search_results h2 span {
        font-size: 32px;
        white-space: nowrap;
    }

.search--item {
    padding-bottom: 42px;
}
.search--item a {
    display: inline-block;
}
.search--item h4 {
    padding-bottom: 12px;
}
.search--item h4 strong {
    font-weight: 400;
}
@media (hover: hover) {
    .search--item a:hover h4 {
        text-decoration: none;
        color: var(--Primary-Light-Green);
    }
}

.search--score {
    margin-top: 12px;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
}
.search--score_node {
    margin-right: 8px;
    width: 16px;
    height: 3px;
    background: var(--Primary-Light-Green);
}



/* ag-tabs-control */
/** Scroll control */
.ag_ctrl--scroll_content {
   width: 100%;
   overflow-x: scroll;
   -ms-overflow-style: none;  /* Internet Explorer 10+ */
   scrollbar-width: none;  /* Firefox */
}
.ag_ctrl--scroll_content::-webkit-scrollbar { 
   display: none;  /* Safari and Chrome */
}

.ag_ctrl--scroll_arrow {
   position: absolute;
   display: none;
   width: 40px;
   top: 0;
   bottom: 0;
   cursor: pointer;
   -webkit-tap-highlight-color: transparent;
   background: var(--Neutrals-Light-Sand);
}
/* Show an arrow only when there is actually hidden content in that direction
   (scroll_visible). Copying the legacy ex-tabs rule: the arrow's solid sand block must
   NOT sit over the first/last tab at rest — otherwise, with no title (padding-left:0),
   the left arrow masks the first tab (e.g. "ABOUT" -> "OUT"). */
.ag_ctrl--scroll_arrow.ag_ctrl--scroll_visible {
   display: block;
}
.ag_ctrl--scroll_arrow::after {
   position: absolute;
   content: "";
   top: 15px;
   right: 0;
   width: 32px;
   height: 32px;
   border: none;
   border-radius: 16px;
   background-color: var(--Neutrals-Sand);
   background-position: center;
   background-repeat: no-repeat;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.2s ease-in-out, background-color 0.2s ease;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23282819;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23282819;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.ag_ctrl--scroll_arrow.ag_ctrl--scroll_visible::after {
   opacity: 1;
   visibility: visible;
}
.ag_ctrl--scroll_arrow div {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
   opacity: 0;
   visibility: hidden;
   transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.ag_ctrl--scroll_arrow.ag_ctrl--scroll_visible > div {
   opacity: 1;
   visibility: visible;
}
.ag_ctrl--scroll_arrow > div {
   left: -100%;
   background: linear-gradient(to right, rgba(230,230,215,0), rgba(230,230,215,1));
}
.ag_ctrl--scroll_right {
   right: 0;
}
.ag_ctrl--scroll_left {
   left: 0;
   transform: scaleX(-1);
}
@media (hover: hover) and (pointer: fine) {
   .ag_ctrl--scroll_arrow.ag_ctrl--scroll_visible:hover::after {
      background-color: var(--Neutrals-White);
   }
}



/** AG Tabs Controller */
.ag_ctrl--block {
   position: sticky;
   width: 100%;
   padding-top: 0;
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
   -webkit-tap-highlight-color: transparent;
   z-index: 1500;
}
/* Disable all transitions during layout changes (orientation/resize) */
/* Don't disable display property changes for burger menu */
.ag_ctrl--no_transition *:not(.ag_ctrl--tabs_container),
.ag_ctrl--no_transition *::before,
.ag_ctrl--no_transition *::after {
   transition: none !important;
}
.ag_ctrl--block.ag_ctrl--on_poster:not(.ag_ctrl--burger_mode ) {
   margin-top: -64px;
}

.ag_ctrl--sticked .ag_ctrl--block {
   padding-top: 64px;
}
.ag_ctrl--sticked .ag_ctrl--block.ag_ctrl--title_top {
   padding-top: 107px;
}


.ag_ctrl--shadow {
   position: fixed;
   top: 117px;
   width: 100%;
   height: 10px;
   box-shadow: 0px 0px 25px 0px rgba(0, 0, 0, 0.4);
   display: none;
   z-index: 1400;
}
.ag_ctrl--title_top .ag_ctrl--shadow {
   top: 160px;
}
.ag_ctrl--sticked:not(.ag_table--sticked) .ag_ctrl--shadow {
   display: block;
}
.ag_ctrl--container {
   background: var(--Neutrals-Light-Sand);
   z-index: 1500;
   overflow: hidden;
   width: 100%;
   max-width: calc(100vw - var(--Scroll-Width, 0px));
   top: 64px;
   height: 64px;
}
/* Allow burger dropdown to be visible */
.ag_ctrl--burger_mode .ag_ctrl--container {
   overflow: visible;
}
/* Prevent overflow on very narrow screens */
@media (max-width: 500px) {
   .ag_ctrl--container {
      max-width: 100%;
      overflow: hidden;
   }
   .ag_ctrl--burger_mode .ag_ctrl--container {
      overflow: visible;
   }
}
.ag_ctrl--block.ag_ctrl--title_top .ag_ctrl--container {
   height: 107px;
}
.ag_ctrl--sticked .ag_ctrl--container {
   position: fixed;
}
body:not(.ag_ctrl--sticked) .ag_ctrl--ribbon_white .ag_ctrl--container {
   background: var(--Neutrals-White);
}



/* Tabs controller sections */
.ag_ctrl--content {
   display: flex;
   justify-content: flex-start;
   flex-wrap: nowrap;
   position: relative;
   max-width: 100%;
   /* overflow: hidden; */
}
.ag_ctrl--title_top .ag_ctrl--content {
   flex-wrap: wrap;
}
/* Allow burger dropdown overflow on narrow screens */
@media (max-width: 500px) {
   .ag_ctrl--burger_mode .ag_ctrl--content {
      overflow: visible;
   }
}


/* Title section */
.ag_ctrl--title {
   display: none;
   flex: 0 0 auto;
   padding: 17px 44px 21px 0;
   font-size: 26px;
   font-weight: 300;
   font-style: normal;
   line-height: 26px; 
   letter-spacing: -0.02em;
   white-space: nowrap;
   color: var(--Neutrals-Black);
   visibility: hidden;
   opacity: 0;
   transition: opacity 0.2s ease-in-out;
}
.ag_ctrl--title_ribbon .ag_ctrl--title {
   display: block;
}
.ag_ctrl--title_ribbon.ag_ctrl--ready .ag_ctrl--title {
   visibility: visible;
   opacity: 1;
}
.ag_ctrl--title_top .ag_ctrl--title {
   padding-bottom: 0;
   width: 100%;
}


/* Tabs section, scrolled */
.ag_ctrl--tabs_container {
   display: none;
   flex: 1 1 auto;
   position: relative;
   min-width: 0;
   visibility: hidden;
   opacity: 0;
   padding-left: 40px;
   padding-right: 40px;
}

/* Enable smooth width transitions for tabs when CTA animates - only after ready */
.ag_ctrl--ready.ag_ctrl--cta_transition .ag_ctrl--tabs_container {
   transition: flex-basis var(--cta-transition-time, 300ms) ease-in-out,
               opacity 0.2s ease-in-out;
}

.ag_ctrl--tabs_ribbon .ag_ctrl--tabs_container {
   display: block;
}

.ag_ctrl--tabs_ribbon.ag_ctrl--ready .ag_ctrl--tabs_container {
   visibility: visible;
   opacity: 1;
}

.ag_ctrl--tabs_ribbon:not(.ag_ctrl--title_ribbon) .ag_ctrl--tabs_container {
   padding-left: 0;
}

.ag_ctrl--tabs {
   display: flex;
   justify-content: flex-start;
   flex-wrap: nowrap;
}
.ag_ctrl--tab_item {
   display: block;
   flex: 0 0 auto;
   padding: 20px 18px;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 24px;
   letter-spacing: 0.08em;
   text-decoration: none;
   /* color: var(--Neutrals-Light-Grey); */
   color: var(--Neutrals-Medium-Grey);
   white-space: nowrap;
   text-transform: uppercase; 
   transition: color 0.2s ease;
}
/* No title: pull the first tab flush to the content boundary (aligns with the page H1
   below). Mirrors ex-tabs .ex_ctrl--tab_first. */
.ag_ctrl--tabs_ribbon:not(.ag_ctrl--title_ribbon) .ag_ctrl--tab_item.ag_ctrl--tab_first {
   padding-left: 2px;
}
.ag_ctrl--block .ag_ctrl--tab_item {
   /* color: var(--Neutrals-Light-Grey); */
   color: var(--Neutrals-Medium-Grey);
}
.ag_ctrl--tab_item.ag_ctrl--item_active {
   /* color: var(--Neutrals-Black); */
   /* color: var(--Primary-Dark-Green); */
   color: var(--Black);
}
.ag_ctrl--tab_item.ag_ctrl--link_cta {
   display: none;
   padding-top: 8px;
   padding-bottom: 8px;
}
/* CTA link only visible in burger mode, not in ribbon mode */
.ag_ctrl--cta_burger .ag_ctrl--link_cta {
   display: block;
}
.ag_ctrl--cta_burger .ag_ctrl--link_cta .button--send_request {
   margin: 0;
}
.ag_ctrl--cta_burger .ag_ctrl--tab_item.ag_ctrl--link_cta {
   padding: 15px 12px 13px;
   text-align: center;
}
      
@media (hover: hover) and (pointer: fine) {
   .ag_ctrl--tab_item:hover {
      color: var(--Light-Green);
   }
   /* .ag_ctrl--tab_item.ag_ctrl--item_active:hover {
      color: var(--Neutrals-Black);
   } */
}



/* Burger section */
.ag_ctrl--burger_container {
   display: none;
   flex: 1 1 auto;
   position: relative;
   width: 10%;
   cursor: pointer;
}
.ag_ctrl--burger_mode .ag_ctrl--burger_container {
   display: flex;
   justify-content: flex-end;
   flex-wrap: nowrap;
}
.ag_ctrl--burger_target {
   flex: 1 1 auto;
   width: 100%;
}
   .ag_ctrl--burger_target {
      padding: 20px 0 20px 0;
      font-size: 14px;
      font-style: normal;
      font-weight: 700;
      line-height: 24px;
      letter-spacing: 0.08em;
      white-space: nowrap;
      text-transform: uppercase; 
      color: var(--Neutrals-Black);
   }
   .ag_ctrl--title_ribbon .ag_ctrl--burger_target {
      text-align: right;
   }
   .ag_ctrl--title_top .ag_ctrl--burger_target {
      text-align: left;
   }                        
   .ag_ctrl--burger_target.ag_ctrl--target_dimmed {
      color: var(--Neutrals-Medium-Grey);
   }

.ag_ctrl--burger_icon {
   flex: 0 0 auto;
   width: 64px;
   padding: 16px 0 16px 32px;
   margin-right: -4px;
}
.ag_ctrl--burger_icon span {
   display: block;
   width: 32px;
   height: 32px;
   border: none;
   border-radius: 16px;
   background-color: var(--Neutrals-White);
   background-position: center;
   background-repeat: no-repeat;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23282819;%7D %3C/style%3E%3Ccircle class='st0' cx='3.266' cy='10' r='2'/%3E%3Ccircle class='st0' cx='10.223' cy='10' r='2'/%3E%3Ccircle class='st0' cx='16.734' cy='10' r='2'/%3E%3C/svg%3E%0A");
   transition: transform .3s ease-in-out 0s;
}
body:not(.ag_ctrl--sticked) .ag_ctrl--ribbon_white .ag_ctrl--burger_icon span {
   background-color: var(--Neutrals-Light-Sand);
}

@media (hover: hover) and (pointer: fine) {
   .ag_ctrl--burger_container:hover .ag_ctrl--burger_icon span {
      background-color: var(--Neutrals-Sand);
   }
}
            
.ag_ctrl--burger_pointer {
   display: none;
   position: absolute;
   height: 15px;
   width: 15px;
   bottom: 0;
   right: 12px;
   background-position: center;
   background-repeat: no-repeat;
   /* 
   <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M15,0L0,15h15V0z" fill="#F7F6F2"/>
   </svg>  
   */
   background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15,0L0,15h15V0z' fill='%23F7F6F2'/%3E%3C/svg%3E");
}
.ag_ctrl--burger_open .ag_ctrl--burger_pointer {
   display: block;
}


.ag_ctrl--burger_mode .ag_ctrl--tabs_container {
   display: none;
   position: absolute;
   width: auto;
   overflow-y: auto;
   right: -20px;
   top: 64px;
   background: var(--Neutrals-White-Sand);
   border-radius: 16px;
   box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
   opacity: 1;
   visibility: visible;
}
.ag_ctrl--burger_mode.ag_ctrl--burger_open .ag_ctrl--tabs_container {
   display: block;
   padding-left: 0;
   padding-right: 0;
}
.ag_ctrl--title_top.ag_ctrl--burger_mode .ag_ctrl--tabs_container {
   top: 107px;
}           
.ag_ctrl--burger_mode .ag_ctrl--tabs_container .ag_ctrl--scroll_arrow {
   display: none;
}
.ag_ctrl--burger_mode .ag_ctrl--tabs {
   display: block;
   overflow: unset;
   scrollbar-width: auto;
   -ms-overflow-style: unset;
}
.ag_ctrl--burger_mode .ag_ctrl--tabs::-webkit-scrollbar {
   display: initial;
}

.ag_ctrl--burger_mode .ag_ctrl--tab_item {
   padding: 15px 48px 13px;
}
.ag_ctrl--burger_mode .ag_ctrl--tab_item:not(:first-child) {
   border-top: 1px solid var(--Neutrals-Medium-Sand);
}

@media (max-width: 450px) {
   .ag_ctrl--burger_icon {
      width: 56px;
      padding-left: 24px;
   }
   .ag_ctrl--burger_mode .ag_ctrl--tabs_container {
      right: -12px;
   }
}       



/* CTA section */
.ag_ctrl--cta_container {
   flex: 0 0 auto;
   padding: 8px 0 8px 0;
   max-width: 0;
   max-height: 64px;
   opacity: 0;
   visibility: hidden;
}
.ag_ctrl--burger_mode .ag_ctrl--cta_container {
   display: none;
}
/* Enable smooth transitions - only after ready to avoid initial animation */
.ag_ctrl--ready.ag_ctrl--cta_transition .ag_ctrl--cta_container {
   transition: max-width var(--cta-transition-time, 300ms) ease-in-out,
               opacity var(--cta-transition-time, 300ms) ease-in-out,
               padding-left var(--cta-transition-time, 300ms) ease-in-out,
               visibility 0s linear var(--cta-transition-time, 300ms);
}

.ag_ctrl--cta_ribbon .ag_ctrl--cta_container {
   display: flex;
}

.ag_ctrl--cta_ribbon.ag_ctrl--ready .ag_ctrl--cta_container {
   visibility: visible;
}

.ag_ctrl--cta_ribbon.ag_ctrl--cta_visible .ag_ctrl--cta_container {
   max-width: 250px;
   padding-left: 44px;
   opacity: 1;
   transition-delay: 0s;
   overflow: visible;
}

.ag_ctrl--cta_ribbon .ag_ctrl--cta_container .button--send_request {
   margin-right: -6px;
   min-width: 150px;
   white-space: nowrap;
}
@media (max-width: 900px) {
   .ag_ctrl--cta_ribbon.ag_ctrl--cta_visible .ag_ctrl--cta_container {
      max-width: 220px;
   }
}

/* Force hide tabs and CTA in ribbon on narrow screens to prevent distortion */
@media (max-width: 500px) {
   .ag_ctrl--tabs_ribbon .ag_ctrl--tabs_container,
   .ag_ctrl--cta_ribbon .ag_ctrl--cta_container {
      display: none !important;
   }
}


/* ── Hide Title on Mobile (ACF `settings > hide_title_on_mobile`) ─────────────────────────
   When the burger row cannot hold title + label side by side, the ribbon drops the title
   from the bar instead of going two-line, and shows it as the first dropdown row. The
   two-line layout stays as the last resort — see AG_RibbonController.resolveTitleMode(). */

/* (0,3,0) so it beats `.ag_ctrl--title_ribbon .ag_ctrl--title { display: block }` (0,2,0)
   on specificity rather than on source order. */
.ag_ctrl--block.ag_ctrl--title_hidden .ag_ctrl--title { display: none; }

/* ⚠ Deliberately NOT an `.ag_ctrl--tab_item`. AG_TabsController measures every
   `.ag_ctrl--tab_item` for contentWidth/minContentWidth and iterates them for the gauge and
   the scroll-into-view, so a burger-only row carrying that class would register as a phantom
   0-width tab (it is display:none while the widths are taken) and skew all three. It
   therefore restates the burger item's own padding/type instead of inheriting it. */
.ag_ctrl--burger_title_item { display: none; }

.ag_ctrl--burger_mode.ag_ctrl--title_hidden .ag_ctrl--burger_title_item {
   display: block;
   padding: 15px 48px 13px;
   font-size: 12px;
   font-weight: 700;
   letter-spacing: 0.6px;
   text-transform: uppercase;
   color: var(--Black);
}

.ag_ctrl--burger_mode.ag_ctrl--title_hidden .ag_ctrl--burger_title_item:hover { color: var(--Light-Green); }

/* The row below it is a real tab item, and its `:not(:first-child)` border already draws the
   separator — so this row must not add one of its own. */


/* ag-accord */
/** 
 * Agvila Accordion Block 
 */

.ag_accord--container {
	display: block;
	transition: padding-top 0.4s;
}
.ag_accord--container.ag_accord--no_transition {
	transition: none;
}
.ag_accord--container + .ag_accord--container.ag_accord--active.ag_accord--expanded {
	padding-top: 40px;
}
:not(.ag_accord--container) + .ag_accord--container {
	padding-top: 0;
}
.ag_ctrl--block + .ag_accord--container {
	margin-top: 28px;
}
@media (max-width: 450px) {
	.ag_ctrl--block + .ag_accord--container {
		margin-top: 16px;
	}
}



.ag_accord--active > .ag_accord--head {
	border-top: 1px solid transparent;
	border-bottom: 1px solid transparent;
	transition: border-color 0.3s;
	margin-left: -24px;
	margin-right: -24px;
	padding-left: 24px;
	padding-right: 24px;
}
@media (max-width: 1024px) {
	.ag_accord--active > .ag_accord--head {
		margin-left: -48px;
		margin-right: -48px;
		padding-left: 48px;
		padding-right: 48px;
	}
}
@media (max-width: 768px) {
	.ag_accord--active > .ag_accord--head {
		margin-left: -32px;
		margin-right: -32px;
		padding-left: 32px;
		padding-right: 32px;
	}
}
@media (max-width: 450px) {
	.ag_accord--active > .ag_accord--head {
		margin-left: -24px;
		margin-right: -24px;
		padding-left: 24px;
		padding-right: 24px;
	}
}


.ag_accord--design_lvl1.ag_accord--active > .ag_accord--head {
	border-bottom-color: var(--Primary-Green);
}
.ag_accord--design_lvl1.ag_accord--active.ag_accord--expanded + .ag_accord--design_lvl1.ag_accord--active:not(.ag_accord--expanded) > .ag_accord--head, 
.ag_accord--design_headless.ag_accord--active.ag_accord--expanded + .ag_accord--design_lvl1.ag_accord--active:not(.ag_accord--expanded) > .ag_accord--head {
	border-top-color: var(--Primary-Green);
}
.ag_accord--design_lvl1.ag_accord--active > .ag_accord--head svg .ag_accord--line {
	stroke: var(--Primary-Green);
}

.ag_accord--design_lvl2.ag_accord--active > .ag_accord--head {
	border-top-color: var(--Neutrals-Light-Sand);
	border-bottom-color: var(--Neutrals-Light-Sand);
}
.ag_accord--lvl2.ag_accord--active.ag_accord--expanded > .ag_accord--head {
	border-top-color: transparent;
}
.ag_accord--lvl2.ag_accord--active:not(.ag_accord--expanded) + .ag_accord--design_lvl2.ag_accord--active > .ag_accord--head {
	border-top-color: transparent;
}
.ag_accord--design_lvl1.ag_accord--active.ag_accord--expanded > .ag_accord--top_margin_0x > .ag_accord--design_lvl2.ag_accord--active.ag_accord--expanded {
	margin-top: 30px;
}

.ag_accord--design_lvl3.ag_accord--active > .ag_accord--head {
	border-top-color: var(--Neutrals-Light-Sand);
	border-bottom-color: var(--Neutrals-Light-Sand);
}
.ag_accord--lvl3.ag_accord--active.ag_accord--expanded > .ag_accord--head {
	border-top-color: transparent;
}
.ag_accord--lvl3.ag_accord--active:not(.ag_accord--expanded) + .ag_accord--design_lvl3.ag_accord--active > .ag_accord--head {
	border-top-color: transparent;
}
.ag_accord--design_lvl2.ag_accord--active.ag_accord--expanded > .ag_accord--top_margin_0x > .ag_accord--design_lvl3.ag_accord--active.ag_accord--expanded {
	margin-top: 30px;
}

.ag_accord--container.ag_accord--active.ag_accord--on_show > .ag_accord--head {
	border-top-color: transparent !important;
}


/**
 * Head border overrides — the ACF "Top Border" field. Its stored values ARE these class
 * names, and ag-accordion.php whitelists them, so exactly one combination is always present.
 *
 * Default          top_border + bottom_border  → no rule matches, the design rules above rule
 * Top only closed  top_closed + bottom_border  → top hidden while expanded
 * Only when closed top_closed + bottom_closed  → both hidden while expanded
 * Only bottom      bottom_border               → top hidden always (matched by ABSENCE)
 *
 * ⚠ Colour only, never `border: none` — the box is a permanent 1px transparent border set on
 * .ag_accord--active > .ag_accord--head, and removing it would shift the head by a pixel.
 * ⚠ !important is required, not lazy: the design rules that paint these borders reach (0,7,1)
 * with the sibling + :hover combinators. The on_show rule above uses it for the same reason.
 */
.ag_accord--top_closed.ag_accord--expanded > .ag_accord--head {
	border-top-color: transparent !important;
}
.ag_accord--container:not(.ag_accord--top_border):not(.ag_accord--top_closed) > .ag_accord--head {
	border-top-color: transparent !important;
}
.ag_accord--bottom_closed.ag_accord--expanded > .ag_accord--head {
	border-bottom-color: transparent !important;
}



.ag_accord--head .ag_accord--title {
	padding: 42px 0 16px 0;
	display: flex;
	flex-wrap: nowrap;
	gap: 40px;
	align-items: center;
}
.ag_accord--active > .ag_accord--head .ag_accord--title {
	padding: 26px 0 32px 0;
}
.ag_accord--head .ag_accord--name {
	display: block;
	flex-grow: 1;
	transition: color 0.4s;
	margin: 0;
	font-style: normal;
	font-weight: 300;
}
.ag_accord--head svg {
	margin-top: 6px;
	width: 28px;
	height: auto;
	flex: 0 0 auto;
	transition: stroke 0.4s, transform 0.4s;
}
.ag_accord--expanded > .ag_accord--head svg .ag_accord--vertical_line {
	display: none;
}
.ag_accord--active.ag_accord--expanded > .ag_accord--head svg {
	transform: rotate(180deg);
}
.ag_accord--active > .ag_accord--head .ag_accord--line {
	stroke: var(--Neutrals-Medium-Grey);
}


.ag_accord--design_lvl1 > .ag_accord--head .ag_accord--name {
	font-size: 42px;
	line-height: 1.17;
	letter-spacing: -0.04em;
	color: var(--Neutrals-Dark-Grey);
}
.ag_accord--design_lvl1.ag_accord--active  > .ag_accord--head .ag_accord--name {
	font-size: 48px;
	letter-spacing: -0.04em;
	line-height: 1;
	color: var(--Primary-Green);
}


.ag_accord--design_lvl2 > .ag_accord--head .ag_accord--name {
	font-size: 32px;
	line-height: 1.25;
	letter-spacing: -0.03em;
	color: var(--Neutrals-Black);
}
.ag_accord--design_lvl2.ag_accord--active  > .ag_accord--head .ag_accord--name {
	line-height: 1;
	color: var(--Neutrals-Dark-Grey);
}
.ag_accord--design_lvl2.ag_accord--design_lvl2_large > .ag_accord--head .ag_accord--name {
	font-size: 42px;
	letter-spacing: -0.04em;
}


.ag_accord--design_lvl3 > .ag_accord--head .ag_accord--name {
	font-size: 24px;
	line-height: 1.33;
	letter-spacing: -0.02em;
	color: var(--Neutrals-Black);
}
.ag_accord--design_lvl3.ag_accord--active  > .ag_accord--head .ag_accord--name {
	line-height: 1;
	color: var(--Neutrals-Dark-Grey);
}
.ag_accord--design_lvl3 > .ag_accord--head .ag_accord--title {
	padding: 38px 0 12px 0;
}
.ag_accord--design_lvl3.ag_accord--active > .ag_accord--head .ag_accord--title {
	padding: 22px 0 28px 0;
}
.ag_accord--design_lvl3.ag_accord--active  > .ag_accord--head .ag_accord--title svg {
	width: 24px;
}



.ag_accord--container.ag_accord--design_headless > .ag_accord--head {
	border-bottom-color: transparent;
	border-top-color: transparent;
}
.ag_accord--design_headless  > .ag_accord--head .ag_accord--title {
	display: none;
}



@media (hover: hover) {
	.ag_accord--active > .ag_accord--head .ag_accord--title:hover > * {
		color: var(--Primary-Light-Green);
	}
	.ag_accord--active > .ag_accord--head .ag_accord--title:hover .ag_accord--line {
		stroke: var(--Primary-Light-Green);
	}
	.ag_accord--design_lvl1.ag_accord--active > .ag_accord--head:hover {
		border-bottom-color: var(--Primary-Light-Green);
	}
	.ag_accord--design_lvl1.ag_accord--active.ag_accord--expanded + .ag_accord--design_lvl1.ag_accord--active:not(.ag_accord--expanded) > .ag_accord--head:hover {
		border-top-color: var(--Primary-Light-Green);
	}
}

@media (max-width: 768px) {
	.ag_accord--design_lvl1.ag_accord--active  > .ag_accord--head .ag_accord--name {
		font-size: 44px;
	}
	.ag_accord--design_lvl2.ag_accord--active  > .ag_accord--head .ag_accord--name {
		font-size: 30px;
	}
}
@media (max-width: 450px) {
	.ag_accord--title svg {
		margin-top: 8px;
		width: 24px;
	}
	.ag_accord--design_lvl1.ag_accord--active  > .ag_accord--head .ag_accord--name {
		font-size: 40px;
	}
	.ag_accord--design_lvl2.ag_accord--active  > .ag_accord--head .ag_accord--name {
		font-size: 28px;
	}
}



.ag_accord--content {
	display: none;
}
.ag_accord--expanded > .ag_accord--content {
	display: block;
	/* padding-bottom: 30px; */
}
.ag_accord--top_margin_0x { margin-top: 0; }
.ag_accord--top_margin_025x { margin-top: 16px; }
.ag_ctrl--block + .ag_accord--container.ag_accord--design_headless > .ag_accord--top_margin_025x { margin-top: 24px; }
.ag_accord--top_margin_05x { margin-top: 36px; }
.ag_accord--top_margin_10x { margin-top: 60px; }
.ag_accord--top_margin_15x { margin-top: 90px; }
.ag_accord--top_margin_20x { margin-top: 120px; }

.ag_accord--bottom_margin_0x { margin-bottom: 0; }
.ag_accord--bottom_margin_025x { margin-bottom: 8px; }
.ag_accord--bottom_margin_05x { margin-bottom: 16px; }
.ag_accord--bottom_margin_10x { margin-bottom: 36px; }
.ag_accord--bottom_margin_15x { margin-bottom: 60px; }
.ag_accord--bottom_margin_20x { margin-bottom: 90px; }
.ag_accord--bottom_margin_30x { margin-bottom: 120px; }

@media (max-width: 450px) {
	.ag_accord--top_margin_10x { margin-top: 50px; }
	.ag_accord--top_margin_15x { margin-top: 70px; }
	.ag_accord--top_margin_20x { margin-top: 90px; }

	.ag_accord--bottom_margin_05x { margin-bottom: 8px; }
	.ag_accord--bottom_margin_10x { margin-bottom: 10px; }
	.ag_accord--bottom_margin_15x { margin-bottom: 20px; }
	.ag_accord--bottom_margin_20x { margin-bottom: 30px; }
	.ag_accord--bottom_margin_30x { margin-bottom: 40px; }
}


/* ag-image */

/** 
 * AG Image Block 
 */
.ag_image--container {
   width: 100%;
}

.ag_image--align_center .ag_image--figure {
   margin-left: auto;
   margin-right: auto;
}
.ag_image--align_right .ag_image--figure {
   margin-left: auto;
}

.ag_image--size_75 .ag_image--figure {
   width: 75%;
}
.ag_image--size_50 .ag_image--figure {
   width: 50%;
}
.ag_image--size_33 .ag_image--figure {
   width: 33.333%;
}
.ag_image--size_window {
   max-width: none !important;
}
.ag_image--size_window .ag_image--image {
   width: calc(100vw - var(--Scroll-Width)); 
   left: calc((100vw - 100% - var(--Scroll-Width)) / -2);
}

@media (max-width: 1512px) {
   .ag_image--size_window .ag_image--image {
      width: calc(100vw - var(--Scroll-Width)); 
   }
}
@media (max-width: 1066px) {
   .ag_image--size_75 .ag_image--figure {
      width: 100%;
   }
   .ag_image--size_50 .ag_image--figure {
      width: 75%;
   }
   .ag_image--size_33 .ag_image--figure {
      width: 50%;
   }
}
@media (max-width: 768px) {
   .ag_image--size_50 .ag_image--figure {
      width: 100%;
   }
   .ag_image--size_33 .ag_image--figure {
      width: 75%;
   }
}
@media (max-width: 500px) {
   .ag_image--size_33 .ag_image--figure {
      width: 100%;
   }
}

/* Viewport-width breakout (old ex_image--viewport -> ag-image "vport"):
   1290px, wider than the 1072px content column, centered via negative margins. */
.ag_image--container.ag_image--size_vport {
   width: 1290px;
   max-width: none;
   margin-left:  calc((1290px - 100%) / -2);
   margin-right: calc((1290px - 100%) / -2);
}
@media (max-width: 1418px) {
   .ag_image--container.ag_image--size_vport {
      width: calc(100vw - 128px);
      margin-left:  calc((100vw - 100% - 128px) / -2);
      margin-right: calc((100vw - 100% - 128px) / -2);
   }
}
@media (max-width: 1072px) {
   .ag_image--container.ag_image--size_vport {
      width: 100%;
      margin-left: 0;
      margin-right: 0;
   }
}
@media (max-width: 768px) {
   .ag_image--container.ag_image--size_vport {
      width: calc(100% + 64px);
      margin-left: -32px;
      margin-right: -32px;
   }
}
@media (max-width: 450px) {
   .ag_image--container.ag_image--size_vport {
      width: calc(100% + 48px);
      margin-left: -24px;
      margin-right: -24px;
   }
}


.ag_image--image {
   position: relative;
   background-color: var(--Neutrals-White);
   cursor: default;
}
.ag_image--fancy .ag_image--image {
   cursor: zoom-in;
}
.ag_image--fixed_8x5 .ag_image--image {
   padding-bottom: 62.5%;
}
.ag_image--fixed_13x5 .ag_image--image {
   padding-bottom: 38.5%;
}
.ag_image--square .ag_image--image {
   padding-bottom: 100%;
}

.ag_image--border .ag_image--image {
   border: 1px solid var(--Neutrals-Light-Sand);
}

.ag_image--image img {
   width: 100%;
   height: 100%;
}
.ag_image--image:not(.ag_image--chart) img {
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   object-fit: cover;
   display: block;
}
.ag_image--flexible .ag_image--image:not(.ag_image--chart) img {
   position: static;
}
.ag_image--image.ag_image--photo_full img {
   object-fit: contain;
}

.ag_image--chart_wrap {
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   padding: 3%;
}
.ag_image--flexible .ag_image--chart_wrap {
   position: static;
}
.ag_image--chart_wrap img {
   object-fit: contain;
}

.ag_image--image .ag_image--mask {
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   transition: 0.3s;
}
.ag_fancy--photo .ag_image--mask,
.ag_fancy--chart .ag_image--mask {
   background-color: var(--Neutrals-Black);
   opacity: 0;
}
.ag_fancy--video .ag_image--mask {
   background-repeat: no-repeat;
   background-position: center;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='50px' height='50px' viewBox='0 0 50 50'%3E%3Cstyle type='text/css'%3E .st_line%7Bfill:%23FFFFFF;fill-opacity:0.3;stroke:%23FFFFFF;stroke-width:2;%7D .st_fonas%7Bfill:none;stroke:%23FFFFFF;stroke-width:2;%7D%0A%3C/style%3E%3Ccircle class='st_fonas' cx='25' cy='25' r='24'/%3E%3Cpath class='st_line' d='M33.909,22.353c0.48,0.255,0.882,0.637,1.162,1.103c0.28,0.466,0.428,1,0.428,1.544 s-0.148,1.078-0.428,1.544c-0.28,0.466-0.682,0.848-1.162,1.103l-12.812,6.967c-2.063,1.123-4.597-0.337-4.597-2.646V18.033 c0-2.31,2.534-3.769,4.597-2.648L33.909,22.353z'/%3E%3C/svg%3E");
   opacity: 0.5;
}
.ag_fancy--video.ag_image--chart .ag_image--mask {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='50px' height='50px' viewBox='0 0 50 50'%3E%3Cstyle type='text/css'%3E .st_line%7Bfill:none;stroke:%23191E5A;stroke-width:2;%7D .st_fonas%7Bfill:%23FFFFFF;stroke:%23191E5A;stroke-width:2;%7D %3C/style%3E%3Ccircle class='st_fonas' cx='25' cy='25' r='24'/%3E%3Cpath class='st_line' d='M33.909,22.353c0.48,0.255,0.882,0.637,1.162,1.103c0.28,0.466,0.428,1,0.428,1.544 s-0.148,1.078-0.428,1.544c-0.28,0.466-0.682,0.848-1.162,1.103l-12.812,6.967c-2.063,1.123-4.597-0.337-4.597-2.646V18.033 c0-2.31,2.534-3.769,4.597-2.648L33.909,22.353z'/%3E%3C/svg%3E");
}

.ag_fancy--chart .fancybox-image {
   background-color: var(--Neutrals-White);
   padding: 3%;
}

@media (hover: hover) and (pointer: fine) {
   .ag_fancy--photo:hover .ag_image--mask {             
      opacity: 0.05;
   }
   .ag_fancy--chart:hover .ag_image--mask {               
      opacity: 0.03;
   }
   .ag_fancy--video:hover .ag_image--mask {   
      background-color: rgba(0,0,0,0.08);            
      opacity: 1;
   }
   .ag_fancy--video.ag_image--chart:hover .ag_image--mask {   
      background-color: rgba(0,0,0,0.03);            
   }
}

.ag_image--footer {
   width: 100%;
   padding: 16px 0;
   text-align: center;
}
.ag_image--footer.ag_image--footer_no_gap {
   padding-top: 0;
}
.ag_image--item .ag_image--footer p {
   margin: 0;
}
.ag_image--item .ag_image--footer .ag_image--title {
   font-size: 20px;
   font-style: normal;
   font-weight: 300;
   line-height: 1.2em;
   color: var(--Neutrals-Black);
}
.ag_image--item .ag_image--footer .ag_image--title:last-child {
   margin-bottom: 16px;
}

.ag_image--item .ag_image--footer .ag_image--caption {
   font-size: 15px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.3em;
   color: var(--Neutrals-Dark-Grey);
   margin-bottom: 8px;
}
.ag_image--item .ag_image--footer .ag_image--caption a {
   font-weight: 400;
}
.ag_image--item .ag_image--title + .ag_image--caption {
   margin-top: 8px;
}

.ag_image--item .ag_image--footer .ag_image--description {
   font-size: 13px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.2em;
   color: var(--Neutrals-Grey);
}
.ag_image--item .ag_image--footer .ag_image--description a {
   font-weight: 400;
}
.ag_image--item .ag_image--title + .ag_image--description {
   margin-top: 12px;
}

.fancybox-show-caption .ag_image--fancy_caption {
   letter-spacing: 0.02em;
}
.fancybox-show-caption .ag_image--fancy_description {
   font-weight: 300;
   font-size: 13px;
   margin-top: 4px;
   letter-spacing: 0.05em;
}

.ag_image--container.ag_image--dyn_desktop {
   width: 70%;
   margin: auto;
}
@media (max-width: 1280px){
   .ag_image--container.ag_image--dyn_desktop  {
      width: 85%;
   }
}
@media (max-width: 1150px){
   .ag_image--container.ag_image--dyn_desktop  {
      width: 100%;
      margin: 0;
   }
}
@media (max-width: 1024px){
   .ag_image--container.ag_image--dyn_mobile {
      width: 60%;
      margin: auto;
   }
}
@media (max-width: 850px){
   .ag_image--container.ag_image--dyn_mobile {
      width: 70%;
   }
}
@media (max-width: 768px){
   .ag_image--container.ag_image--dyn_mobile {
      width: 80%;
   }
}
@media (max-width: 650px){
   .ag_image--container.ag_image--dyn_mobile {
      width: 100%;
      margin: 0;
   }
}
@media (max-width: 650px){
   .ag_image--container.ag_image--full_mobile {
      width: 100%;
      max-width: none !important;
      margin: 0;
   }
   .ag_image--container.ag_image--full_mobile .ag_image--image {
      width: calc(100vw - var(--Scroll-Width)); 
      left: calc((100vw - 100% - var(--Scroll-Width)) / -2);
   }
}


/**
 * AG Gallery Block
 * Grid/columns/modes/controls come from the collection wrapper (collection.css);
 * this file keeps the gallery's own row rhythm + image-specific rules.
 */
.ag_gallery--container {
   width: 100%;
}

.ag_collection--content.ag_gallery--content {
   row-gap: 25px;
}

.ag_gallery--item {
   flex: 0 0 auto;
}

/* single column: release the fixed aspect, images keep natural height
   (768px = the collection wrapper's column-collapse boundary) */
@media (max-width: 768px) {
   .ag_gallery--container:not(.ag_collection--scroll) .ag_gallery--item .ag_image--image {
      padding-bottom: 0;
   }
   .ag_gallery--container:not(.ag_collection--scroll) .ag_gallery--item .ag_image--image:not(.ag_image--chart) img {
      position: static;
   }
   .ag_gallery--container:not(.ag_collection--scroll) .ag_gallery--item .ag_image--chart_wrap {
      position: static;
   }
}
@media (max-width: 450px) {
   .ag_collection--content.ag_gallery--content {
      row-gap: 20px;
   }
}





/* ag-collection */
/**
 * AG Collection wrapper
 * Modes: show_all | load_more | scroll (Swiper 12)
 * Breakpoints: 450 / 768 / 1066
 */
.acf-block-component .ag_collection--container * {
  box-sizing: border-box;
}


.ag_collection--container {
   width: 100%;
}

.ag_collection--content {
   display: flex;
   align-items: stretch;
   flex-direction: row;
   flex-wrap: wrap;
   gap: 30px;
}
.ag_collection--columns_1 .ag_collection--content,
.ag_collection--columns_2 .ag_collection--content {
   gap: 40px;
}


.ag_collection--item {
   flex: 0 0 auto;
}
.ag_collection--columns_1 .ag_collection--item {
   width: 100%;
}
.ag_collection--columns_2 .ag_collection--item {
   width: calc(50% - 20px);
}
.ag_collection--columns_3 .ag_collection--item {
   width: calc(33.33333% - 20px);
}


@media (max-width: 1066px) {
   .ag_collection--columns_2 .ag_collection--content {
      gap: 30px;
   }
   .ag_collection--columns_2 .ag_collection--item,
   .ag_collection--columns_3 .ag_collection--item {
      width: calc(50% - 15px);
   }
}
@media (max-width: 768px) {
   .ag_collection--columns_2 .ag_collection--item,
   .ag_collection--columns_3 .ag_collection--item {
      width: 100%;
   }
}
@media (max-width: 450px) {
   .ag_collection--container.ag_collection--full_mobile {
      width: calc(100vw - var(--Scroll-Width));
      margin-left: calc((100% - 100vw + var(--Scroll-Width)) / 2);
      margin-right: calc((100% - 100vw + var(--Scroll-Width)) / 2);
   }
   .ag_collection--full_mobile .ag_collection--content {
      gap: 46px;
   }
}


/* Load more classes */
.ag_collection--load_more .ag_collection--item {
   display: none;
}
.ag_collection--more {
   display: none;
   text-align: right;
   margin-top: 24px;
   margin-right: -3px;
}
.ag_collection--load_more .ag_collection--more {
   display: block;
}
.ag_collection--more button {
   min-width: 150px;
}
.acf-block-component .ag_collection--more button {
   pointer-events: none;
}


@media (min-width: 1067px) {
   .ag_collection--load_more .ag_collection--item.ag_collection--desktop {
      display: block;
   }
   .ag_collection--load_more .ag_collection--more.ag_collection--desktop {
      display: block;
   }
}
@media ( (min-width: 769px) and (max-width: 1066px) ) {
   .ag_collection--load_more .ag_collection--item.ag_collection--tablet {
      display: block;
   }
   .ag_collection--load_more .ag_collection--more.ag_collection--tablet {
      display: block;
   }
}
@media (max-width: 768px) {
   .ag_collection--load_more .ag_collection--item.ag_collection--mobile {
      display: block;
   }
   .ag_collection--load_more .ag_collection--more.ag_collection--mobile {
      display: block;
   }
}
@media (max-width: 450px) {
   .ag_collection--more {
      margin-right: 0;
      padding-right: 20px;
   }
}


/**
 * Scroll mode (Swiper 12, custom wrapper/slide classes — core rules replicated here;
 * Swiper's own CSS is never loaded)
 */
.ag_collection--scroll {
   position: relative;
   overflow-x: clip;
   touch-action: pan-y;
}
.ag_collection--scroll .ag_collection--content {
   flex-wrap: nowrap;
   gap: 0; /* Swiper spaceBetween margins replace the grid gap */
   box-sizing: content-box;
   transition-property: transform;
   transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
   transform: translate3d(0, 0, 0);
   opacity: 0;
}
.ag_collection--scroll.swiper-initialized .ag_collection--content {
   opacity: 1;
}
.ag_collection--scroll .ag_collection--item {
   flex-shrink: 0;
   transition-property: transform;
}

/* Full Screen: container bleeds to the screen edges, content stays column-aligned;
   Swiper subtracts the padding, so slide math is identical to viewport mode. */
.ag_collection--scroll.ag_collection--full_screen {
   width: auto;
   margin-left: calc((100% - 100vw + var(--Scroll-Width)) / 2);
   margin-right: calc((100% - 100vw + var(--Scroll-Width)) / 2);
   padding-left: calc((100vw - var(--Scroll-Width) - 100%) / 2);
   padding-right: calc((100vw - var(--Scroll-Width) - 100%) / 2);
}
/* Wide on Mobile, scroll mode (<=450): slides span the full screen (±24px, the
   ag_image--size_vport pattern); padding 0 also cancels full_screen's restore when
   combined (wide_mobile). Controls re-inset to the content column. */
@media (max-width: 450px) {
   .ag_collection--scroll.ag_collection--full_mobile {
      width: calc(100% + 48px);
      margin-left: -24px;
      margin-right: -24px;
      padding-left: 0;
      padding-right: 0;
   }
   .ag_collection--scroll.ag_collection--full_mobile .ag_collection--scroll_controls {
      padding-left: 24px;
      padding-right: 24px;
   }
}


/* Scroll controls: bullets left, arrows + optional show-all right */
.ag_collection--scroll_controls {
   display: none;
   align-items: center;
   justify-content: space-between;
   margin-top: 24px;
}
@media (min-width: 1067px) {
   .ag_collection--scroll .ag_collection--scroll_controls.ag_collection--desktop {
      display: flex;
   }
}
@media ( (min-width: 769px) and (max-width: 1066px) ) {
   .ag_collection--scroll .ag_collection--scroll_controls.ag_collection--tablet {
      display: flex;
   }
}
@media (max-width: 768px) {
   .ag_collection--scroll .ag_collection--scroll_controls.ag_collection--mobile {
      display: flex;
   }
}

.ag_collection--bullets {
   display: flex;
   align-items: center;
   gap: 8px;
   min-width: 0;     /* allow flex squeeze so JS can detect when bullets don't fit */
   overflow: hidden; /* no-JS worst case: clip instead of overlapping the arrows */
}
.ag_collection--bullets .swiper-pagination-bullet {
   display: block;
   flex: 0 0 auto; /* never squeeze bullets — the JS fit-check measures true width */
   width: 8px;
   height: 8px;
   border-radius: 4px;
   background-color: var(--Neutrals-Light-Sand);
   cursor: pointer;
   transition: background-color 0.2s;
}
.ag_collection--bullets .swiper-pagination-bullet-active {
   background-color: var(--Neutrals-Sand);
   cursor: default;
}

.ag_collection--arrows {
   display: flex;
   align-items: center;
   gap: 16px;
   margin-left: auto;  /* keeps arrows right when the gauge is disabled */
   flex-shrink: 0;     /* arrows never squeeze — the gauge yields instead */
   padding-left: 50px; /* minimal distance to the gauge; mirrored in the JS fit-check */
}
.ag_collection--arrows button {
   display: block;
   padding: 0;
   border: none;
   background: none;
   cursor: pointer;
   outline: none;
}
/* Button states:
   active   = Light-Sand circle, Light-Grey icon
   hover    = Black icon (bg unchanged)
   disabled = same colors as active, faded */
.ag_collection--arrows button .button--round {
   display: block;
   background-color: var(--Neutrals-Light-Sand);
}
.ag_collection--arrow_prev .button--round {
   transform: scaleX(-1);
}
/* active idle icon (hover falls back to the dark default from elements.css) */
.ag_collection--arrows .ag_collection--arrow:not(:hover) .button--round.button--arrow {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23929283;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23929283;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
/* disabled buttons: Swiper sets the attribute; layout.css `[disabled]` styles it */
.ag_collection--bullets.swiper-pagination-lock,
.ag_collection--arrows .swiper-button-lock {
   display: none;
}

/* "Read all" link (scroll_show_link) — first item inside .ag_collection--arrows
   (link | grid | prev | next); styled like the section/catalog title-link. */
.ag_collection--arrows .ag_collection--show_link {
	margin: 0 22px;
}
.ag_collection--show_link {
   flex-shrink: 0;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 2.5em;
   letter-spacing: 0.06em;
   text-transform: uppercase;
   color: var(--Neutrals-Dark-Grey);
   outline: none;
   text-decoration: none;
}
@media (max-width: 768px) {
	.ag_collection--arrows .ag_collection--show_link {
		margin-right: 12px;
	}
}


/* Editor preview: static scroll layout, no interaction (no Swiper in the iframe).
   Restores visibility + grid gaps that the frontend hands over to Swiper. */
.acf-block-component .ag_collection--scroll .ag_collection--content {
   opacity: 1;
   gap: 30px;
}
.acf-block-component .ag_collection--columns_1.ag_collection--scroll .ag_collection--content,
.acf-block-component .ag_collection--columns_2.ag_collection--scroll .ag_collection--content {
   gap: 40px;
}
.acf-block-component .ag_collection--scroll_controls button,
.acf-block-component .ag_collection--show_link,
.acf-block-component .ag_collection--bullets .swiper-pagination-bullet {
   pointer-events: none; /* clicks fall through and select the block */
}

/* Preview mock buttons — self-contained (no elements.css in the editor iframe) */
.ag_collection--preview_button {
   display: block;
   height: 40px;
   width: 40px;
   border-radius: 20px;
   background-color: var(--Neutrals-Light-Sand);
   background-position: center;
   background-repeat: no-repeat;
}
.ag_collection--preview_arrow {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23929283;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23929283;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.ag_collection--preview_prev {
   transform: scaleX(-1);
}
.ag_collection--preview_controls .ag_collection--grid_icon {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st%7Bfill:none;stroke:%23929283;stroke-width:1.1;%7D %3C/style%3E%3Crect class='st' x='0.55' y='0.55' width='4.4' height='4.4'/%3E%3Crect class='st' x='7.05' y='0.55' width='4.4' height='4.4'/%3E%3Crect class='st' x='0.55' y='7.05' width='4.4' height='4.4'/%3E%3Crect class='st' x='7.05' y='7.05' width='4.4' height='4.4'/%3E%3C/svg%3E");
}


/* show-all grid icon (dark base = hover state; Light-Grey when idle) */
.ag_collection--grid_icon {
   background-size: 15px;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st%7Bfill:none;stroke:%23282819;stroke-width:1.1;%7D %3C/style%3E%3Crect class='st' x='0.55' y='0.55' width='4.4' height='4.4'/%3E%3Crect class='st' x='7.05' y='0.55' width='4.4' height='4.4'/%3E%3Crect class='st' x='0.55' y='7.05' width='4.4' height='4.4'/%3E%3Crect class='st' x='7.05' y='7.05' width='4.4' height='4.4'/%3E%3C/svg%3E");
}
.ag_collection--show_all_button:not(:hover) .ag_collection--grid_icon {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st%7Bfill:none;stroke:%23929283;stroke-width:1.1;%7D %3C/style%3E%3Crect class='st' x='0.55' y='0.55' width='4.4' height='4.4'/%3E%3Crect class='st' x='7.05' y='0.55' width='4.4' height='4.4'/%3E%3Crect class='st' x='0.55' y='7.05' width='4.4' height='4.4'/%3E%3Crect class='st' x='7.05' y='7.05' width='4.4' height='4.4'/%3E%3C/svg%3E");
}


/* ag-apps */
.acf-block-component .ag_apps--container p {
   margin-top: 0;
   font-size: 16px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.5em;
   color: var(--Neutrals-Grey);   
}



.ag_apps--item {
   display: block;
   width: 100%;
   height: 100%;
   position: relative;
}
.ag_apps--background .ag_apps--item {
   background: var(--Neutrals-White-Sand);
   transition: background-color .2s ease;
}
.ag_apps--negative .ag_apps--item {
   background: var(--Neutrals-White);
}
.ag_apps--border .ag_apps--item {
   border: 1px solid var(--Neutrals-Light-Sand);
   transition: border-color .2s ease;
}
/** Highlight Current (2026-07-29) — the card pointing at the post being viewed.
 *  A 1:1 port of .ex_apps--active (ex-products-apps.css:495) so an AG grid marks the current
 *  item exactly as the applications-class grids do.
 *
 *  ⚠ The background was Neutrals-Light-Sand here while nothing emitted the class. Light Sand
 *  is the HOVER colour in this file, so an active card was indistinguishable from a hovered
 *  one; Medium Sand is the reference value and the only one that reads as "current".
 *
 *  ⚠ !important is load-bearing, not laziness — and it is what the ex rules use. The hover
 *  block below is (0,5,1) (`.ag_apps--hover.ag_apps--background :not(…) > a.ag_apps--item:hover`)
 *  against (0,2,0) here, so without it a hovered current card repaints and its arrow returns.
 */
.ag_apps--active .ag_apps--item {
   background: var(--Neutrals-Medium-Sand) !important;
   cursor: default;
}
.ag_apps--active .ag_apps--description p {
   color: var(--Neutrals-Dark-Grey);
}
.ag_apps--active .ag_apps--text .ag_apps--button {
   display: none !important;
}


.ag_apps--image {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 16 / 10;
   object-fit: cover;
}
.ag_apps--border .ag_apps--image {
   width: calc(100% + 2px);
   left: -1px;
   position: relative;
}

    

.ag_apps--text {
   width: 100%;
   padding: 24px 0;
}
.ag_apps--text_padded .ag_apps--text {
   padding: 28px 32px 32px;
}
.ag_apps--content .ag_apps--text .ag_apps--title {
   font-size: 26px;
   font-style: normal;
   font-weight: 300;
   letter-spacing: -0.01em;
   line-height: 1.2;
   color: var(--Neutrals-Black);
   margin-top: 0;
   margin-bottom: 16px;
}
.ag_collection--columns_2 .ag_apps--text .ag_apps--title {
   font-size: 28px;
}
.ag_apps--text .ag_apps--description p {
   margin-bottom: 1em;
}

.ag_apps--text .ag_apps--button {
   display: none;
   position: absolute;
   bottom: 16px;
   right: 16px;
}

@media (hover: hover) and (pointer: fine) {
   .ag_apps--hover.ag_apps--background :not(.ag_apps--text_container) > a.ag_apps--item:hover {
      background-color: var(--Neutrals-Light-Sand);
   }
   .ag_apps--hover.ag_apps--border :not(.ag_apps--text_container) > a.ag_apps--item:hover {
      border-color: var(--Neutrals-Medium-Sand);
   }
   a.ag_apps--item:hover .ag_apps--title {
      color: var(--Neutrals-Black);
   }
   a.ag_apps--item:hover .ag_apps--description p {
      color: var(--Neutrals-Dark-Grey);
   }
   .ag_apps--hover :not(.ag_apps--text_container) > a.ag_apps--item:hover .ag_apps--button {
      display: block;
   }
   .ag_apps--hover:not(.ag_apps--background) a.ag_apps--item:hover .ag_apps--button {
      background-color: var(--Neutrals-Light-Sand);
   }
}

@media (max-width: 1066px) {
   .ag_apps--text_padded .ag_apps--text {
      padding: 24px 28px 32px;
   }
   .ag_apps--content .ag_apps--text .ag_apps--title {
      font-size: 26px;
   }
}
@media (max-width: 450px) {
   .ag_apps--content .ag_apps--text {
      padding: 24px 24px 32px;
   }
   .ag_apps--content .ag_apps--text .ag_apps--title {
      margin-bottom: 16px;
   }
   .ag_apps--text .ag_apps--button {
      right: 19px;
   }
}


/** Text Card */
.ag_apps--text_container .ag_apps--item {
   padding: 32px 0;
}
.ag_apps--text_padded .ag_apps--text_container .ag_apps--item {
   padding: 32px;
}

.ag_apps--text_container .ag_apps--item :is(h3, .h3),
.ag_apps--text_container .ag_apps--item :is(h4, .h4),
.ag_apps--text_container .ag_apps--item :is(h5, .h5) {
   font-size: 26px;
   font-style: normal;
   font-weight: 300;
   letter-spacing: -0.01em;
   line-height: 1.2;
   color: var(--Neutrals-Black);
   margin-top: 0;
   margin-bottom: 24px;
}

.ag_apps--text_container .ag_apps--item ul {
   padding: 0;
   margin: 0;
   list-style: none;
}
.ag_apps--text_container .ag_apps--item ul li {
   position: relative;
   padding-left: 36px;
   margin-bottom: 1em;
   font-weight: 400;
   font-size: 16px;
   line-height: 1.5;
   color: var(--Neutrals-Grey);
}
.ag_apps--text_container .ag_apps--item ul li::before {
   content: "";
   height: 14px;
   width: 14px;
   position: absolute;
   left: 0;
   top: 5px;
   border-radius: 4px;
   background-color: var(--Neutrals-Sand);
}

@media (max-width: 1066px) {
   .ag_apps--text_container .ag_apps--item {
      padding: 32px 0;
   }
   .ag_apps--text_padded .ag_apps--text_container .ag_apps--item {
      padding: 32px 28px;
   }
}
@media (max-width: 450px) {
   .ag_apps--text_container .ag_apps--item {
      padding: 28px 0;
   }
   .ag_collection--full_mobile .ag_apps--text_container .ag_apps--item {
      padding: 28px 24px;
   }
   .ag_apps--text_padded .ag_apps--text_container .ag_apps--item {
      padding: 28px 24px;
   }
}


/* bibtex-frag-paging-ekspla-paging */
/**
 * Ekspla numbered pager — the fragment's own styling.
 *
 * Section 3b (2026-08-30): these rules were EXTRACTED VERBATIM from the "Pagination
 * Section" of templates/record-full/style.css + record-compact/style.css, which carried
 * an identical copy each. They live here now because a fragment styles itself: only the
 * SELECTED Paging Template's style.css is enqueued (Plugin::enqueue_fragment_css), so
 * switching the pager in BibTex Options changes the look as well as the markup. While
 * they sat in the pack, every pager inherited the pack's rules whatever was selected —
 * and they were written `.paging--container .paging--item` (0,2,0), which out-specifies
 * a plain `.paging--item` (0,1,0), so a different fragment could not win them back.
 *
 * ⚠ Do not restore them to a pack. A pack styles the RECORD; a fragment styles itself.
 *
 * Values are unchanged from the deployed b8 pack — this is ekspla's live pager: 40x40
 * pills, border-radius 20px, 8px side margins, the sand palette. Theme tokens are used
 * BARE (no hex fallback) on purpose: this fragment ships inside the ekspla theme, which
 * is what defines --Neutrals-*, so the variables cannot fail to resolve here. The
 * PLUGIN's `native` preset is the one that needs var(--Token, #hex), because it has to
 * render on any site.
 */

/* Pagination Section */
.cite--paging {
	margin-top: 56px;
}
.paging--container {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}
.paging--container .paging--item {
	display: block;
	margin: 0 8px;
	width: 40px;
	height: 40px;
	padding: 12px 0 14px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
	text-align: center;
	color: var(--Neutrals-Dark-Sand);
	border-radius: 20px;
    background-color: var(--Neutrals-White-Sand);
	transition: background-color 0.2s ease-in-out;
	cursor: default;
}
    .paging--container a.paging--item {
        text-decoration: none;
        cursor: pointer;
        outline: none;
    }
    .paging--container .paging--item span {
        display: inline-block;
    }
    .paging--container .paging--item .arrow--color {
        fill: var(--Neutrals-Dark-Sand);
    }

    @media (hover: hover) {
        .paging--container a.paging--item:hover {
            background-color: var(--Neutrals-Sand);
            color: var(--Neutrals-Black);
        }
        .paging--container a.paging--item:hover .arrow--color {
            fill: var(--Neutrals-Black);
        }
    }

    .paging--container .paging--item.paging--item_active {
        background: var(--Neutrals-Light-Sand);
        color: var(--Neutrals-Black);
    }

    .paging--container .paging--item.paging--points {
        width: 32px;
        letter-spacing: 2px;
        color: var(--Neutrals-Dark-Sand);
        background-color: transparent;
    }

    .paging--container .paging--previous,
    .paging--container .paging--next {
        padding: 13px 0 13px;
        background-color: var(--Neutrals-White-Sand);
    }

    .paging--container .paging--item_disabled {
        background-color: transparent;
    }
        .paging--container .paging--item_disabled .arrow--color {
            fill: var(--Neutrals-Medium-Sand);
        }

@media (max-width: 768px) {
    .cite--paging {
        flex-wrap: wrap;
        row-gap: 15px;
        margin-top: 48px;
    }
}


/* bibtex-frag-load-more-ekspla-load-more */
/**
 * Ekspla Load more button — the fragment's own styling.
 *
 * Section 3b (2026-08-30): extracted VERBATIM from the "Load More Section" of
 * templates/record-full/style.css + record-compact/style.css (an identical copy in
 * each). Only the SELECTED Load More Template's style.css is enqueued
 * (Plugin::enqueue_fragment_css), so the fragment carries the rules that render it.
 *
 * ⓘ Dormant on ekspla today — BibTex Options → Pagination is mode 1 (numbered), so
 * Repository never sets ->load_more and this markup is not emitted. It renders the
 * moment the mode flips, which is precisely why the styling has to be correct now.
 *
 * ⚠ ONE FIX applied during the extraction, not a restyle: the hover colour read
 * `var(---Neutrals-Black)` — THREE dashes. That names a different (undefined) custom
 * property, so the declaration was invalid at computed-value time and the hover text
 * colour simply never applied. Corrected to `var(--Neutrals-Black)`, matching the
 * pager's hover rule directly above it in the original file. Invisible today (dormant
 * path); it would have shipped a dead hover the day the mode changed. The same typo is
 * still present in the b8 backup of both packs — it did not come from this extraction.
 *
 * Theme tokens are used BARE: this fragment ships inside the theme that defines
 * --Neutrals-*. The plugin's `native` preset is the one that needs hex fallbacks.
 */

/* Load More Section */
.load_more--container {
    margin-top: 56px;
	text-align: center;
}
.load_more--container a {
	text-decoration: none;
	cursor: pointer;
	outline: none;
}
.load_more--container .load_more--button {
	display: inline-block;
	height: 44px;
    min-width: 200px;
	padding: 16px 20px 16px;
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	text-transform: uppercase;
	white-space: nowrap;
    letter-spacing: 0.5px;
	text-align: center;
	color: var(--Neutrals-Dark-Sand);
	border-radius: 16px;
    background-color: var(--Neutrals-White-Sand);
	transition: background-color 0.2s ease-in-out;
	cursor: pointer;
}
    .load_more--container .load_more--button span {
        display: inline-block;
    }
    @media (hover: hover) {
        .load_more--container .load_more--button:hover {
            background-color: var(--Neutrals-Sand);
            color: var(--Neutrals-Black);
        }
    }

    @media (max-width: 768px) {
        .load_more--container {
            margin-top: 48px;
        }
    }


/* bibtex-pack-ekspla-publication */
/**
 * Ekspla publications pack — the record card styling.
 *
 * This is what ekspla serves. It was the PLUGIN preset templates/record-full/style.css
 * until 2026-08-30, when the LC v4.1.0 engine was ported back and the site's own
 * rendering moved into the theme. The geometry, the --Neutrals-* palette and every
 * value below are the deployed b8 file, unchanged.
 *
 * ⚠⚠ THE PAGER AND LOAD-MORE RULES ARE GONE FROM HERE — moved, not deleted. They now
 * live with the fragments that render them (section 3b):
 *
 *   {theme}/bibtex/paging/ekspla-paging/style.css
 *   {theme}/bibtex/load-more/ekspla-load-more/style.css
 *   {plugin}/templates-paging/native/style.css
 *   {plugin}/templates-load-more/native/style.css
 *
 * Plugin::enqueue_fragment_css() loads only the SELECTED fragment's file. Keeping the
 * rules here made this PACK style every pager whatever was selected — and not merely
 * inertly: they were written `.paging--container .paging--item` (0,2,0), which
 * out-specifies a fragment's own `.paging--item` (0,1,0), so choosing a different
 * pager still rendered these pills.
 *
 * ⚠ Do not restore them. A pack styles the RECORD; a fragment styles itself.
 *
 * Tokens are used BARE (no hex fallback): this pack ships inside the theme that defines
 * --Neutrals-*. The plugin's record-full/record-compact presets are the ones that need
 * var(--Token, #hex), because they must render on any site.
 */


/* Publications block */
.bibtex--block:where(.pack--ekspla-publication){
	min-height: 100px;
    position: relative;
}

.bibtex--block:where(.pack--ekspla-publication) .bibtex--data .h3{
    font-size: 32px;
}

@media (max-width: 450px) {
    .bibtex--block:where(.pack--ekspla-publication){
        margin-left: calc(-1 * var(--Mobile-Padding) );
        margin-right: calc(-1 * var(--Mobile-Padding) );
    }
    .bibtex--block:where(.pack--ekspla-publication) .bibtex--data .h3{
        margin-left: var(--Mobile-Padding);
        margin-right: var(--Mobile-Padding);
    }
}



/* Citations */
:where(.pack--ekspla-publication) .cite--item{
	width: 100%;
	margin-bottom: 24px;
    background: var(--Neutrals-White-Sand);
    position: relative;
}

:where(.pack--ekspla-publication) .cite--toggler{
    position: absolute;
    top: 0;
    right: 0;
	width: 72px;
	height: 72px;
	padding: 16px;
    cursor: pointer;
}
    :where(.pack--ekspla-publication) .cite--toggler span{
        display: block;
        width: 40px;
        height: 40px;
        border: none;
        border-radius: 20px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: 20px;
        /** From ex-accordition.css */
        background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle type='text/css'%3E .line%7Bstroke:%234E4E3E;stroke-linecap:round;%7D %3C/style%3E%3Cpath class='line' d='M13,0.5v25'/%3E%3Cpath class='line' d='M0.5,13h25'/%3E%3C/svg%3E");
        }

    :where(.pack--ekspla-publication) .cite--expanded .cite--toggler span{
        background-image: url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle type='text/css'%3E .line%7Bstroke:%234E4E3E;stroke-linecap:round;%7D %3C/style%3E%3Cpath class='line' d='M0.5,13h25'/%3E%3C/svg%3E");
    }
    @media (hover: hover) {
        :where(.pack--ekspla-publication) .cite--toggler:hover span{
            background-color: var(--Neutrals-White);
        }
    }


:where(.pack--ekspla-publication) .cite--item_wrap{
	width: 100%;
	padding: 32px;
}
@media (max-width: 450px) {
    :where(.pack--ekspla-publication) .cite--item_wrap{
        padding: var(--Mobile-Padding);
    }
}

:where(.pack--ekspla-publication) .cite--tags{
	line-height: 1.2em;
    margin-bottom: 24px;
}
    .bibtex--block:where(.pack--ekspla-publication) .cite--tags a{
        font-size: 12px;
        line-height: 16px;
        letter-spacing: 0.05em;
        font-weight: 700;
        text-transform: uppercase;
        color: var(--Neutrals-Light-Grey);
        padding: 0;
        display: inline;
        margin-right: 24px;
    }
    :where(.pack--ekspla-publication) .cite--tags a:last-of-type{
        margin-right: 0;
    }
    @media (hover: hover) {
        .bibtex--block:where(.pack--ekspla-publication) .cite--tags a:hover{
            color: var(--Primary-Light-Green);
        }
    }
    :where(.pack--ekspla-publication) .cite--tags span{
        position: relative;
        display: inline-block;
        width: 0;
        height: 12px;
    }
        :where(.pack--ekspla-publication) .cite--tags span::after{
            content: "";
            position: absolute;
            bottom: 2px;
            left: -12px;
            display: block;
            width: 4px;
            height: 4px;
            border-radius: 100%;
            background-color: var(--Neutrals-Light-Grey);
        }
        :where(.pack--ekspla-publication) .cite--tags span:last-of-type{
            display: none;
        }


.bibtex--block:where(.pack--ekspla-publication) .cite--item a{
	text-decoration: none;
}
    .bibtex--block:where(.pack--ekspla-publication) .cite--title{
        display: inline-block;
        margin-bottom: 16px;
    }
    .bibtex--block:where(.pack--ekspla-publication) .cite--title .h4{
        color: var(--Neutrals-Black);
        font-weight: 400;
        font-size: 24px;
        font-style: normal;
        letter-spacing: -0.01em;
        line-height: 1.25em;
        margin-bottom: 0;
    }
    @media (hover: hover) {
        .bibtex--block:where(.pack--ekspla-publication) .cite--item a:hover .h4{
            color: var(--Primary-Light-Green);
        }
    }

:where(.pack--ekspla-publication) .cite--abstract{
    margin-top: 32px;
}
    :where(.pack--ekspla-publication) .cite--abstract .buttons--container{
        margin-top: 28px;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 16px;
    }
    /* the gap owns the spacing here — drop the global elements.css margin */
    :where(.pack--ekspla-publication) .cite--abstract .buttons--container .button--item:not(:last-child){
        margin-right: 0;
    }


/* Export dropdown (B7, redesigned 2026-08-25 to the owner's mock).
   Toggle  = the Open-publication button verbatim (.button--item .button--white
             .button--icon .button_icon--arrow) plus .button_icon--arrow_up,
             so size, type, colours and the icon-circle hover all come from the
             theme and stay in step with it. Only the open-state flip is ours.
   Panel   = the AG Ribbon burger-menu look (rounded 16px, soft shadow, uppercase
             left-aligned rows, hairline separators), restated here because
             ag-ribbon.css does not load on the publications surfaces.
             Width is pinned to the button (left:0/right:0 on the wrapper), and
             it opens UPWARD (owner 2026-08-25) — these cards sit low in the
             abstract, so a downward panel would open past the card edge. */
:where(.pack--ekspla-publication) .cite--export{
	position: relative;
	margin-left: auto;
}
	/* arrow points UP when closed (the menu grows upward), down while it is open */
	:where(.pack--ekspla-publication) .cite--export.is--open .button--item.button_icon--arrow_up::after{
		transform: rotate(90deg);
	}

:where(.pack--ekspla-publication) .ex_select--dropdown{
	position: absolute;
	bottom: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 20;
	overflow: hidden;              /* keeps the row separators inside the 16px radius */
	background: var(--Neutrals-White-Sand);
	border-radius: 16px;
	box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2);
}
	:where(.pack--ekspla-publication) .ex_select--dropdown[hidden]{
		display: none;
	}
	.bibtex--block:where(.pack--ekspla-publication) .ex_select--option,
	:where(.pack--ekspla-publication) .ex_select--option{
		display: block;
		padding: 15px 24px 13px;
		font-family: "open-sans", sans-serif;
		font-size: 12px;
		font-weight: 700;
		line-height: 24px;
		letter-spacing: 0.08em;
		text-transform: uppercase;
		text-align: left;
		white-space: nowrap;
		color: var(--Neutrals-Medium-Grey);
		text-decoration: none;
		transition: color 0.2s ease, background-color 0.2s ease;
	}
	:where(.pack--ekspla-publication) .ex_select--option + .ex_select--option{
		border-top: 1px solid var(--Neutrals-Medium-Sand);
	}
	@media (hover: hover) and (pointer: fine) {
		.bibtex--block:where(.pack--ekspla-publication) .ex_select--option:hover{
			color: var(--Neutrals-Black);
			background-color: var(--Neutrals-Light-Sand);
		}
	}
	:where(.pack--ekspla-publication) .ex_select--option:focus-visible{
		color: var(--Neutrals-Black);
		background-color: var(--Neutrals-Light-Sand);
	}

:where(.pack--ekspla-publication) .cite--ref a{
    font-weight: 400;
}


:where(.pack--ekspla-publication) .cite--tags{
    margin-right: 72px;;
}
:where(.pack--ekspla-publication) .cite--title, :where(.pack--ekspla-publication) .cite--abstract, :where(.pack--ekspla-publication) .cite--ref{
    margin-right: 48px;
}

@media (max-width: 1024px) {
    :where(.pack--ekspla-publication) .cite--title, :where(.pack--ekspla-publication) .cite--abstract, :where(.pack--ekspla-publication) .cite--ref{
        margin-right: 24px;
    }
}
@media (max-width: 768px) {
    :where(.pack--ekspla-publication) .cite--title, :where(.pack--ekspla-publication) .cite--abstract, :where(.pack--ekspla-publication) .cite--ref{
        margin-right: 0;
    }
    /* Narrow layout (owner 2026-08-25): the two buttons centre as a group and
       stack once they no longer fit side by side, instead of sitting pinned to
       opposite edges. Releasing the auto margin is what lets them centre. */
    :where(.pack--ekspla-publication) .cite--abstract .buttons--container{
        justify-content: center;
    }
    :where(.pack--ekspla-publication) .cite--export{
        margin-left: 0;
    }
}
@media (max-width: 450px) {
    .bibtex--block:where(.pack--ekspla-publication) .cite--tags a{
        font-size: 11px;
    }
    .bibtex--block:where(.pack--ekspla-publication) .cite--title .h4{
        font-size: 22px;
    }
    :where(.pack--ekspla-publication) .cite--ref{
        font-size: 14px;
        line-height: 1.3;
    }
    :where(.pack--ekspla-publication) .cite--abstract .button--item{
        width: 100%;
    }
    :where(.pack--ekspla-publication) .cite--export{
        width: 100%;
        margin-left: 0;
    }
}


/* Spinner */
:where(.pack--ekspla-publication) .spinner--mask{
	position: absolute;
	top: 0;
	bottom: 0;
	width: 100%;
	background-color: rgba(255,255,255,0.75);
}
:where(.pack--ekspla-publication) .spinner--block{
	text-align: center;
	margin-top: 60px;
	margin-bottom: 60px;
}
:where(.pack--ekspla-publication) .spinner{
    width: 50px;
    height: 50px;
    display: inline-block;
}
:where(.pack--ekspla-publication) .spinner svg{
    width: 100%;
    height: auto;
}
:where(.pack--ekspla-publication) .spinner .spinner--long{
    fill: var(--Neutrals-Dark-Sand);
}
:where(.pack--ekspla-publication) .spinner .spinner--short{
    fill: var(--Neutrals-Dark-Grey);
}


/* ex-datasheets */
/** 
 * Datasheets Block 
 */
.datasheets--container {
   margin-top: 26px;
   margin-bottom: 18px;
}
.datasheets--wrap {
   display: flex;
   align-items: stretch;
   flex-direction: row;
   flex-wrap: wrap;
   column-gap: 30px;
   row-gap: 30px;
}

.datasheets--item {
   display: flex;
   flex-direction: column;
   width: calc((100% - 60px) / 3);
   flex: 0 0 auto;
}

.datasheets--item .datasheets--link {
   position: relative;
   display: flex;
   flex-direction: column;
   flex-wrap: nowrap;
   flex: 1;
   padding: 32px 32px 28px 32px;
   color: var(--Neutrals-Grey);
   background: var(--Neutrals-White-Sand);
   transition: background-color 0.3s ease 0s;
   outline: none;
   text-decoration: none;
   -webkit-tap-highlight-color: transparent;
}
.datasheets--item .datasheets--link .datasheets--title {
   flex-grow: 0;
   font-size: 24px;
   font-style: normal;
   font-weight: 300;
   line-height: 1.2;
   letter-spacing: -0.02em;
   margin-top: 0;
   margin-bottom: 12px;
   color: var(--Neutrals-Black);
}
.datasheets--item .datasheets--link p {
   flex-grow: 1;
   margin-top: 0;
   margin-bottom: 16px;
   color: var(--Neutrals-Grey);
}
.datasheets--item .datasheets--props > * {
   vertical-align: middle;
}
.datasheets--item .datasheets--props {
   flex-grow: 0;
   font-size: 14px;
   font-weight: 400;
   line-height: 1;
   margin-top: 24px;
   padding-right: 48px;
   color: var(--Neutrals-Grey);
}
.datasheets--item .datasheets--props img {
   display: inline-block;
   margin-right: 3px;
   height: 28px;
   width: auto;
   opacity: 0.9;
}
.datasheets--item .datasheets--img_fix {
   display: inline-block;
   margin-right: 0;
   height: 28px;
   width: 0;
}
.datasheets--item .datasheets--button {
   position: absolute;
   bottom: 24px;
   right: 24px;
   opacity: 0;
}

@media (hover: hover) and (pointer: fine) {
   .datasheets--link:hover {
      background-color: var(--Neutrals-Light-Sand);
   }
   .datasheets--link:hover .datasheets--button {
      opacity: 1;
   }
}


@media (max-width: 1080px) {
   .datasheets--item .datasheets--link {
      padding: 28px 28px 24px 28px;
   }
   .datasheets--item .datasheets--button {
      bottom: 20px;
      right: 20px;
   }
}
@media (max-width: 1024px) {
   .datasheets--item .datasheets--props {
      font-size: 14px;
      margin-top: 16px;
   }
   .datasheets--item {
      width: calc((100% - 30px) / 2);
   }
}
@media (max-width: 680px) {
   .datasheets--item .datasheets--link {
      padding: 24px 24px 20px 24px;
   }
   .datasheets--item .datasheets--button {
      bottom: 18px;
      right: 18px;
   }
}
@media (max-width: 630px) {
   .datasheets--item {
      width: 100%;
   }
}
@media (max-width: 450px) {
   .datasheets--container {
   margin-left: -24px;
   margin-right: -24px;
   }
   .datasheets--container.datasheets--margins {
      margin-left: 0;
      margin-right: 0;
   }
   .datasheets--container.datasheets--margins .datasheets--wrap {
      row-gap: 20px;
   }
}

/**
 * WP Admin Block 
 */
.acf-block-component .datasheets--link {
   pointer-events: none;
}
.acf-block-component .datasheets--item .datasheets--link .datasheets--title {
   font-size: 22px;
}
.acf-block-component .datasheets--item .datasheets--props {
   margin-top: 12px;
}


/* ex-tabs-control */
/** Scroll control */
.ex_ctrl--scroll_content {
   width: 100%;
   overflow-x: scroll;
   -ms-overflow-style: none;  /* Internet Explorer 10+ */
   scrollbar-width: none;  /* Firefox */
}
.ex_ctrl--scroll_content::-webkit-scrollbar { 
   display: none;  /* Safari and Chrome */
}

.ex_ctrl--scroll_arrow {
   position: absolute;
   display: none;
   width: 40px;
   top: 0;
   bottom: 0;
   cursor: pointer;
   -webkit-tap-highlight-color: transparent;
   background: var(--Neutrals-Light-Sand);
}
.ex_ctrl--scroll_arrow.ex_ctrl--scroll_visible {
   display: block;
}
.ex_ctrl--scroll_arrow div {
   content: "";
   position: absolute;
   width: 100%;
   height: 100%;
}
.ex_ctrl--scroll_arrow > div {
   left: -100%;
   background: linear-gradient(to right, rgba(230,230,215,0), rgba(230,230,215,1));
}
.ex_ctrl--scroll_arrow::after {
   position: absolute;
   content: "";
   top: 15px;
   right: 0;
   width: 32px;
   height: 32px;
   border: none;
   border-radius: 16px;
   background-color: var(--Neutrals-Sand);
   background-position: center;
   background-repeat: no-repeat;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23282819;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23282819;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
}
.ex_ctrl--scroll_right {
   right: 0;
}
.ex_ctrl--scroll_left {
   left: 0;
   transform: scaleX(-1);
}
@media (hover: hover) {
   .ex_ctrl--scroll_arrow:hover::after {
      background-color: var(--Neutrals-White);
   }
}



/** EX Tabs Controller */
.ex_ctrl--block {
   top: 64px;
   position: sticky;
   width: 100%;
   padding-top: 0;
   -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
   -webkit-tap-highlight-color: transparent;
   z-index: 1500;
}
.ex_ctrl--block.ex_ctrl--sticked {
   padding-top: 64px;
}
.ex_ctrl--block.ex_ctrl--title_top.ex_ctrl--sticked {
   padding-top: 107px;
}

.ex_ctrl--block a {
   text-decoration: none;
}

.ex_ctrl--shadow {
   position: fixed;
   top: 117px;
   width: 100%;
   height: 10px;
   box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25);
   display: none;
   z-index: 1400;
}
.ex_ctrl--title_top .ex_ctrl--shadow {
   top: 160px;
}
.ex_ctrl--sticked .ex_ctrl--shadow {
   display: block;
}
.table_header--on_top .ex_ctrl--shadow {
   display: none;
}

.ex_ctrl--container {
   background: var(--Neutrals-Light-Sand);
   z-index: 1500;
   overflow-x: visible;
   width: 100%;
   top: 64px;
   height: 64px;
}
.ex_ctrl--block.ex_ctrl--title_top .ex_ctrl--container {
   height: 107px;
}
.ex_ctrl--sticked .ex_ctrl--container {
   position: fixed;
}
.ex_ctrl--ribbon_white:not(.ex_ctrl--sticked) .ex_ctrl--container {
   background: var(--Neutrals-White);
}




/* Tabs controller sections */
.ex_ctrl--wrap {
   display: flex;
   justify-content: flex-start;
   flex-wrap: nowrap;
   position: relative;
}
.ex_ctrl--title_top .ex_ctrl--wrap {
   flex-wrap: wrap;
}

/* Title section */
.ex_ctrl--title {
   display: none;
   flex: 0 0 auto;
   padding-top: 17px;
   padding-bottom: 21px;
   padding-right: 64px;
   font-size: 26px;
   font-weight: 300;
   font-style: normal;
   line-height: 26px; 
   letter-spacing: -0.02em;
   white-space: nowrap;
   color: var(--Neutrals-Black);
   visibility: hidden;
}
.ex_ctrl--title_ribbon .ex_ctrl--title {
   display: block;
}
.ex_ctrl--title_top .ex_ctrl--title {
   padding-bottom: 0;
   width: 100%;
}


/* Tabs section, scrolled */
.ex_ctrl--tabs_container {
   display: none;
   flex: 1 1 auto;
   position: relative;
   width: 20%;
   visibility: hidden;
   padding-left: 40px;
   padding-right: 40px;
}
.ex_ctrl--tabs_ribbon .ex_ctrl--tabs_container {
   display: block;
}
.ex_ctrl--tabs_ribbon:not(.ex_ctrl--title_ribbon) .ex_ctrl--tabs_container {
   padding-left: 0;
}
    
.ex_ctrl--tabs {
   display: flex;
   justify-content: flex-start;
   flex-wrap: nowrap;
}
.ex_ctrl--tab_item {
   display: block;
   flex: 0 0 auto;
   padding: 20px;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 24px;
   letter-spacing: 0.08em;
   text-decoration: none;
   white-space: nowrap;
   text-transform: uppercase; 
   transition: color 0.2s ease;
}
.ex_ctrl--tabs_ribbon:not(.ex_ctrl--title_ribbon) .ex_ctrl--tab_item.ex_ctrl--tab_first {
   padding-left: 2px;
}
.ex_ctrl--block .ex_ctrl--tab_item {
      color: var(--Neutrals-Light-Grey);
}
.ex_ctrl--tab_item.ex_ctrl--tab_active {
      color: var(--Neutrals-Black);
}
.ex_ctrl--tab_item.ex_ctrl--link_cta {
      display: none;
      padding-top: 8px;
      padding-bottom: 8px;
}
.ex_ctrl--cta_tabs.ex_ctrl--cta_visible .ex_ctrl--link_cta,
.ex_ctrl--cta_burger.ex_ctrl--cta_visible .ex_ctrl--link_cta {
      display: block;
}
.ex_ctrl--cta_burger .ex_ctrl--link_cta .button--send_request {
      margin: 0;
}
.ex_ctrl--cta_burger .ex_ctrl--tab_item.ex_ctrl--link_cta {
      padding: 15px 12px 13px;
      text-align: center;
}
      
@media (hover: hover) {
   .ex_ctrl--tab_item:hover {
      color: var(--Primary-Light-Green);
   }
   .ex_ctrl--tab_item.ex_ctrl--tab_active:hover {
      color: var(--Neutrals-Black);
   }
}



/* Burger section */
.ex_ctrl--burger_container {
   display: none;
   flex: 1 1 auto;
   position: relative;
   width: 10%;
   cursor: pointer;
}
.ex_ctrl--burger_mode .ex_ctrl--burger_container {
   display: flex;
   justify-content: flex-end;
   flex-wrap: nowrap;
   margin-right: -3px;
}

.ex_ctrl--burger_target {
   flex: 1 1 auto;
   width: 100%;
}
.ex_ctrl--burger_target {
   padding: 20px 0 20px 0;
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 24px;
   letter-spacing: 0.08em;
   white-space: nowrap;
   text-transform: uppercase; 
   color: var(--Neutrals-Black);
}
.ex_ctrl--title_ribbon .ex_ctrl--burger_target {
   text-align: right;
}
.ex_ctrl--title_top .ex_ctrl--burger_target {
   text-align: left;
}                        

.ex_ctrl--burger_icon {
   flex: 0 0 auto;
   width: 68px;
   padding: 16px 0 16px 35px;
}
.ex_ctrl--burger_icon span {
   display: block;
   width: 32px;
   height: 32px;
   border: none;
   border-radius: 16px;
   background-color: var(--Neutrals-White);
   background-position: center;
   background-repeat: no-repeat;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='20px' height='20px' viewBox='0 0 20 20'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:%23282819;%7D %3C/style%3E%3Ccircle class='st0' cx='3.266' cy='10' r='2'/%3E%3Ccircle class='st0' cx='10.223' cy='10' r='2'/%3E%3Ccircle class='st0' cx='16.734' cy='10' r='2'/%3E%3C/svg%3E%0A");
   transition: transform .3s ease-in-out 0s;
}
.ex_ctrl--ribbon_white:not(.ex_ctrl--sticked) .ex_ctrl--burger_icon span {
   background-color: var(--Neutrals-Light-Sand);
}

@media (hover: hover) {
   .ex_ctrl--burger_container:hover .ex_ctrl--burger_icon span {
      background-color: var(--Neutrals-Sand);
   }
}
         
.ex_ctrl--burger_pointer {
   display: none;
   position: absolute;
   height: 15px;
   width: 15px;
   top: -13px;
   right: 32px;
   background-position: center;
   background-repeat: no-repeat;
   /* 
   <svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
      <path d="M15,0L0,15h15V0z" fill="#F7F6F2"/>
   </svg>  
   */
   background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15,0L0,15h15V0z' fill='%23F7F6F2'/%3E%3C/svg%3E");
}
.ex_ctrl--burger_mode .ex_ctrl--burger_pointer {
   display: block;
}
@media (max-width: 450px) {
   .ex_ctrl--burger_pointer {
      right: 24px;
   }
}
.ex_ctrl--burger_mode .ex_ctrl--tabs_container {
   display: none;
   position: absolute;
   width: auto;
   right: -16px;
   top: 64px;
   background: var(--Neutrals-White-Sand);
   border-radius: 16px;
   box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.2);
}
.ex_ctrl--burger_mode.ex_ctrl--burger_open .ex_ctrl--tabs_container {
   display: block;
   padding-left: 0;
   padding-right: 0;
}
.ex_ctrl--title_top.ex_ctrl--burger_mode .ex_ctrl--tabs_container {
   top: 107px;
}

.ex_ctrl--burger_mode .ex_ctrl--tabs_container .ex_ctrl--scroll_arrow {
   display: none;
}
.ex_ctrl--burger_mode .ex_ctrl--tabs {
   display: block;
}
.ex_ctrl--burger_mode .ex_ctrl--tab_item {
   padding: 15px 48px 13px;
}
.ex_ctrl--burger_mode .ex_ctrl--tab_item:not(:first-child) {
   border-top: 1px solid var(--Neutrals-Medium-Sand);
}

@media (max-width: 450px) {
   .ex_ctrl--burger_mode .ex_ctrl--tabs_container {
      right: -9px;
   }
}
    
/* CTA section */
.ex_ctrl--cta_container {
   display: none;
   flex: 0 0 auto;
   padding: 8px 0 8px 64px;
   visibility: hidden;
   margin-right: -13px;
}
.ex_ctrl--cta_ribbon.ex_ctrl--cta_visible .ex_ctrl--cta_container {
   display: block;
}

@media (max-width: 1100px) {
   .ex_ctrl--cta_container {
      margin-right: -10px;
   }
}





/** EX Tabs content */
div.ex_ctrl--item_container {
	position: relative;
   display: none;
	padding-top: 80px;
   z-index: 10;
   font-weight: 400;
}

    .ex_ctrl--item_mask {
        display: none;
    }
      .ex_ctrl--item_masked .ex_ctrl--item_mask {
         position: absolute;
         top: 0;
         bottom: 0;
         width: 100%;
         background-color: var(--Neutrals-White);
         opacity: 0.6;
         z-index: 20;
         display: block;
      }

      .ex_ctrl--item_container.ex_ctrl--item_active {
         display: block;
      }

@media (max-width: 1024px) {
    div.ex_ctrl--item_container {
        padding-top: 60px;
    }
}
@media (max-width: 450px) {
    div.ex_ctrl--item_container {
        padding-top: 50px;
    }
}

/* ag-products */
/* AG Products block — card styles (P2, 2026-08-22).
   The EX block's five display regimes ported from block-assets/ex-products-apps.css
   (prod_list--* → ag_products--*). The GRID is NOT here: the AG Collection frame owns
   layout (ag_collection--content flex + ag_collection--item widths + gaps), so the old
   container/item_box width rules were deliberately dropped. seo_title-mode rules dropped
   too (P0: 0 placements, dead branch). Registered shared+block → also loads in the
   editor iframe (variables.css is already there at P0; button--* arrow styles are not,
   but the arrow only shows on :hover of a real pointer — invisible in preview). */

/* Card base (regime: default) */
/* =========================== */
.ag_products--item {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	transition: background-color .2s ease, color .2s ease;
	background: var(--Neutrals-White-Sand);
}
a.ag_products--item {
	text-decoration: none;
}
.ag_products--item strong {
	font-weight: 700;
}
.acf-block-component .ag_products--white_bg .ag_products--item {
	border: 1px solid var(--Neutrals-Light-Sand);
}
.ag_products--data {
	position: relative;
	width: 100%;
	flex-grow: 1;
	padding: 32px 32px 42px;
	color: var(--Neutrals-Dark-Grey);
}
.ag_products--container .ag_products--data .ag_products--title {
	font-size: 28px;
	font-style: normal;
	font-weight: 300;
	line-height: 1.2em;
	letter-spacing: -0.03em;
	margin: 0 0 0.4em 0;
	color: var(--Neutrals-Black);
}
.ag_products--data .ag_products--subtitle {
	font-weight: 400;
	line-height: 1.4em;
	margin-bottom: 2em;
}
.ag_products--item .ag_products--description p {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4em;
	margin-bottom: 0.5em;
	color: var(--Neutrals-Dark-Grey);
}
.ag_products--item .ag_products--button {
	display: none;
	position: absolute;
	bottom: 16px;
	right: 16px;
}

.ag_products--image {
	width: 100%;
	padding-top: 62.5%;
	background-size: cover;
	flex-grow: 0;
}

@media (hover: hover) and (pointer: fine) {
	a.ag_products--item:hover {
		background: var(--Neutrals-Light-Sand);
	}
	.ag_products--container a.ag_products--item:hover .ag_products--title {
		color: var(--Neutrals-Black);
	}
	a.ag_products--item:hover .ag_products--button {
		display: block;
	}
}

@media (max-width: 450px) {
	.ag_products--data {
		padding-bottom: 28px;
	}
	.ag_products--data .ag_products--button {
		right: 19px;
	}
}

/* Spec lists inside the description */
.ag_products--container .ag_products--item ul {
	padding: 0;
	margin: 0;
	list-style: none;
}
.ag_products--container .ag_products--item ul li {
	position: relative;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2em;
	color: var(--Neutrals-Dark-Grey);
}
.ag_products--container .ag_products--item ul li::before {
	position: absolute;
	content: "";
	left: 0;
	transition: color 0.1s ease;
}

/* List style: bullets */
.ag_products--bullets .ag_products--item ul li {
	padding-left: 32px;
	margin-bottom: 1em;
}
.ag_products--bullets .ag_products--item ul li::before {
	height: 14px;
	width: 14px;
	top: 4px;
	border-radius: 4px;
	background-color: var(--Neutrals-Medium-Sand);
}
@media (hover: hover) and (pointer: fine) {
	.ag_products--bullets .ag_products--item:hover ul li::before {
		background-color: var(--Neutrals-Dark-Sand);
	}
}

/* List style: points */
.ag_products--points .ag_products--item ul li {
	padding-left: 20px;
	margin-bottom: 0.4em;
}
.ag_products--points .ag_products--item ul li::before {
	height: 8px;
	width: 8px;
	top: 7px;
	border-radius: 2px;
	background-color: var(--Neutrals-Sand);
}
@media (hover: hover) and (pointer: fine) {
	.ag_products--points .ag_products--item:hover ul li::before {
		background-color: var(--Neutrals-Dark-Sand);
	}
}

/* Background color */
.ag_products--white_bg .ag_products--item {
	background: var(--Neutrals-White);
}

/* Regime: horizontal (full-width rows — collection columns_1) */
/* =========================================================== */
.ag_products--mode_horizontal .ag_products--item {
	flex-direction: row;
	align-items: stretch;
	flex-wrap: nowrap;
}
.ag_products--mode_horizontal .ag_products--data {
	width: 10%;
	flex-grow: 1;
	order: 2;
	padding: 32px 32px 42px 60px;
}
.ag_products--mode_horizontal.ag_products--container .ag_products--title {
	font-size: 42px;
	margin-bottom: 0.2em;
}
.ag_products--mode_horizontal .ag_products--subtitle {
	font-size: 18px;
	margin-bottom: 1.4em;
}
.ag_products--mode_horizontal .ag_products--image {
	width: auto;
	height: 100%;
	flex-grow: 1;
	padding-top: 0;
	order: 1;
	background-position: center;
}

@media (max-width: 1024px) {
	.ag_products--mode_horizontal.ag_products--container .ag_products--title {
		font-size: 28px;
		margin-bottom: 0.4em;
	}
	.ag_products--mode_horizontal .ag_products--subtitle {
		font-size: inherit;
		margin-bottom: 1.8em;
	}
}
@media (max-width: 768px) {
	.ag_products--mode_horizontal .ag_products--data {
		padding: 32px 32px 42px 36px;
	}
}
@media (max-width: 650px) {
	.ag_products--mode_horizontal .ag_products--item {
		flex-direction: column;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	.ag_products--mode_horizontal .ag_products--data {
		width: 100%;
		flex-grow: 1;
		order: 1;
		padding: 32px 32px 42px 32px;
	}
	.ag_products--mode_horizontal.ag_products--container .ag_products--title {
		margin-bottom: 0.6em;
	}
	.ag_products--mode_horizontal .ag_products--image {
		width: 100%;
		height: auto;
		flex-grow: 0;
		padding-top: 62.5%;
		order: 2;
	}
}

/* Regime: compact — the default card minus description and image (owner ruling
   2026-08-22): same hover/background/button behaviour, title + subtitle only. Rides the
   default rules with its own rhythm — tighter data padding, larger title, the subtitle
   padded right to clear the arrow button and its bottom gap dropped (nothing follows it);
   ≤768px tightens the title and the collection gap. */
/* ================================================================================ */
.ag_products--mode_compact .ag_products--data {
	padding: 24px 32px;
}
.ag_products--mode_compact.ag_products--container .ag_products--data .ag_products--title {
	font-size: 32px;
}
.ag_products--mode_compact .ag_products--data .ag_products--subtitle {
	padding-right: 32px;
	margin-bottom: 0;
}
@media (max-width: 768px) {
.ag_products--mode_compact.ag_products--container .ag_products--data .ag_products--title {
	font-size: 28px;
}
.ag_products--mode_compact .ag_collection--content {
	gap: 20px;
}
}
/* Regime: cat_compact (the home-page tiles) */
/* ========================================= */
.ag_products--mode_home .ag_products--item {
	display: block;
	position: relative;
}
.ag_products--mode_home .ag_products--data {
	padding: 18px 24px;
	position: absolute;
	bottom: 0;
	background: linear-gradient(320deg, #0F9129 0%, #00413C 100%);
}
.ag_products--mode_home.ag_products--container .ag_products--title {
	font-size: 20px;
	font-weight: 300;
	letter-spacing: -0.01em;
	margin-bottom: 0;
	color: var(--Neutrals-White);
}
.ag_products--mode_home .ag_products--button {
	bottom: 22px;
}
@media (hover: hover) and (pointer: fine) {
	.ag_products--mode_home.ag_products--container a.ag_products--item:hover .ag_products--title {
		color: var(--Neutrals-White);
	}
}
@media (max-width: 450px) {
	.ag_products--mode_home.ag_products--container .ag_products--title {
		font-weight: 400;
	}
}

/* Regime: cat_full (the catalog cards) */
/* ==================================== */
.ag_products--mode_catalog.ag_products--container .ag_products--title {
	margin-bottom: 1em;
}
.ag_products--mode_catalog .ag_products--item ul li {
	font-size: 16px;
	line-height: 1.3em;
	margin-bottom: 0.7em;
}
.ag_products--mode_catalog.ag_products--bullets .ag_products--item ul li::before {
	top: 3px;
}
.ag_products--mode_catalog.ag_products--points .ag_products--item ul li::before {
	top: 6px;
}
.ag_products--mode_catalog .ag_products--image {
	padding-top: 38%;
	background-position: center 10%;
}
@media (max-width: 450px) {
	.ag_products--mode_catalog .ag_products--data {
		padding: 24px 24px 42px;
	}
}


/* ex-tables */
body {
    overflow-anchor: none;
}



/** ======================================
 *  Tables
 *  =================================== */
.content--section .table--container:not(.mode--fixed) {
    position: relative;
    opacity: 0;
} 
.table--container figcaption {
    margin-bottom: 16px;    
    padding-left: 32px;
    font-size: 24px;
    font-style: normal;
    font-weight: 300;
    line-height: 1.3em; 
    letter-spacing: -0.5px;
    color: var(--Neutrals-Black);
}
    .table--wrap_container {
        width: 100%;
        overflow-x: hidden;
        min-width: 360px;
    }
        .table--wrap_container.table--scroll {
            overflow-x: scroll;
            scrollbar-width: none;
            -ms-overflow-style: none;
        }
        .table--wrap_container.table--scroll::-webkit-scrollbar {
            display: none;
        }

    .table--container thead {
        position: relative;
        z-index: 2;
    }
    .table--container tbody {
        position: relative;
        z-index: 1;
    }

    @media (max-width: 1024px) {
        .table--container {
            margin-left: -48px;
            margin-right: -48px;
        }
        .table--in_column {
            margin-left: 0;
            margin-right: 0;
        }
    }
    @media (max-width: 768px) {
        .table--container {
            margin-left: -32px;
            margin-right: -32px;
        }
    }
    @media (max-width: 450px) {
        .table--container {
            margin-left: -24px;
            margin-right: -24px;
        }
    }



/**
 *  Table Design
 */
.table--container {
   position: relative;
   --Table-Main-vPadd : 9px;
   --Table-Subrow-vPadd : 5px;
   --Table-Main-hPadd : 16px;
   --Table-Subrow-hPadd : 56px;
   --Table-fCol-hPadd : 32px;
}
@media (max-width: 450px) {
   .table--container {
      --Table-Subrow-hPadd : 48px;
      --Table-fCol-hPadd : 24px;
   }
}
.table--container.table--scroll_active.table--gauge_sticked {
   padding-bottom: 60px;
}
    .table--container table {
        border-collapse: collapse;
        table-layout: fixed;
        min-width: 100%;
        position: relative;
        width: 100%;
    }

    .table--container th, 
    .table--container td {
        font-size: 15px;
        font-style: normal;
        text-align: center;
        overflow-wrap: normal;
        word-break: normal;
        background: var(--Neutrals-White);
        position: relative;
        z-index: 2;
    }
        .table--container th {
            font-weight: 700;
            line-height: 20px;
            vertical-align: bottom;
            color: var(--Neutrals-Black);
            padding: 16px var(--Table-Main-hPadd) 16px;
        }
        .table--container td {
            font-weight: 400;
            line-height: 1.4em;
            vertical-align: middle;
            color: var(--Neutrals-Dark-Grey);
            padding: var(--Table-Main-vPadd) var(--Table-Main-hPadd);
            border-bottom: 1px solid var(--Neutrals-Light-Sand);
        }
        .table--container td span {
            cursor: text;
        }
        
.table--container .col--1 {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
    text-align: left;
    padding-left: var(--Table-fCol-hPadd);
    z-index: 10;
}
    .table--container td.col--1 {
        font-weight: 600;
        overflow-x: visible;
        color: var(--Neutrals-Black);
        background: var(--Neutrals-White-Sand);
    }
    .table--container.mode--simple td.col--1 {
        font-weight: 400;
        color: var(--Neutrals-Dark-Grey);
    }

.table--container .cell--left {
    text-align: left;
    padding-left: var(--Table-fCol-hPadd);
}

.table--container td.cell--is_link {
    padding: 0;
}
    .table--container td.cell--is_link a {
        position: absolute;
        display: block;
        top: 0;
        width: 100%;
        height: 100%;
        padding: var(--Table-Main-vPadd) var(--Table-Main-hPadd) var(--Table-Main-vPadd) var(--Table-fCol-hPadd);
    }
    .table--container td.cell--is_link span {
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
    }

.table--container .table--section td {
    font-size: 12px;
    font-weight: 700;
    line-height: 16px; /* 183.333% */
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--Neutrals-Black);
    background: var(--Neutrals-Light-Sand);
    border: none;
    height: 64px;
    padding-top: 24px;
}
    .table--container .table--section td.cell--heavy {
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 0.04em;
    }
    .table--container tr:first-child.table--section td {
        height: 48px;
    }
    .table--container .table--section sup {
        font-size: 10.5px;
    }
    .table--container .table--section s {
        text-transform: none;
        text-decoration: none;
        letter-spacing: 0.03em;
    }
    .table--container .table--section .col--1 span {
        position: absolute;
        top: 32px;
        left: 32px;
        white-space: nowrap;
    }
    .table--container tr:first-child.table--section .col--1 span {
        top: 16px;
    }
    .table--container .table--section:not(tr:first-child) td::after {
        position: absolute;
        content: "";
        top: 0;
        left: 0;
        right: 0;
        height: 16px;
        background: var(--Neutrals-White);
    }
    .table--container tbody tr:not(.table--section):first-child td {
        border-top: 1px solid var(--Neutrals-Light-Sand);
    }
@media (max-width: 450px) {
    .table--container .table--section .col--1 span {
        left: var(--Table-fCol-hPadd);
    }
}

.table--container .table--has_subrow td {
    padding-bottom: var(--Table-Subrow-vPadd);
    border-bottom: none;
}
    .table--container .table--subrow:not(.table--last_subrow) td {
        border-bottom: none;
    }
    .table--container .table--subrow td {
        padding-top: var(--Table-Subrow-vPadd);
        padding-bottom: var(--Table-Subrow-vPadd);
    }
    .table--container .table--subrow .col--1 {
        padding-left: var(--Table-Subrow-hPadd);
        font-weight: 400;
    }
    .table--container .table--last_subrow td {
        padding-bottom: var(--Table-Main-vPadd);
    }

@media (hover: hover) {
    .table--container tr:not(.table--section):hover td:not(.col--1) {
        background: #F7F7F3;
        color: var(--Neutrals-Black);
    }          
    .table--container tr:not(.table--section):hover td.col--1 {
        background: #EDECE2;
    }          
}


/** Gauge */
.table--gauge_control {
    display: none;
    margin-top: 12px;
    margin-left: calc((100vw - 100%)/-2);
    margin-right: calc((100vw - 100%)/-2);
    width: 100vw;
    transition: bottom 0.3s ease-in-out;
}
    .table--gauge_control.gauge--sticked {
        position: fixed;
        margin-top: 0;
        bottom: 0;
        left: 0;
        background-color: var(--Neutrals-White-Sand);
        box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25);
        z-index: 1000;
    }
    .table--gauge_control.gauge--sticked.gauge--hidden {
        bottom: -50px;
    }
    .table--gauge_wrap {
        height: 48px;
        margin: 0 auto;
        background-color: var(--Neutrals-White-Sand);
        display: flex;
        flex-wrap: nowrap;
    }


.table--control_buttons {
    height: 100%;
    flex: 0 0 auto;
}
    .table--control_buttons button {
        display: block;
        height: 32px;
        width: 32px;
        border: none;
        border-radius: 16px;
        outline: none;
        cursor: default;
        background-color: var(--Neutrals-Medium-Sand);
        background-position: center;
        background-repeat: no-repeat;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;%7D .st1%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");
    }
    .table--control_buttons .table--button_left button {
        float: right;
        transform: rotate(180deg);
    }
    
    .table--control_buttons > div {
        padding-top: 8px;
        padding-bottom: 8%;
        width: 50%;
        height: 100%;
        cursor: default;
    }
    .table--control_buttons > .gauge--click_enabled {
        cursor: pointer;
    }
    .table--control_buttons > .gauge--click_enabled button {
        background-color: var(--Neutrals-Light-Grey);
        cursor: pointer;
    }
        .table--control_buttons .table--button_left {
            float: left;
            padding-right: 10px;
        }
        .table--control_buttons .table--button_right {
            float: right;
            padding-left: 10px;
        }

    @media (hover: hover) {
        body:not(.touch_device) .table--control_buttons > .gauge--click_enabled:hover button {
            background-color: var(--Primary-Light-Green);
        }
    }


.table--gauge_container {
    height: 100%;
    flex: 1 1 auto;
    display: flex;
    flex-wrap: nowrap;
}
    .table--gauge {
        flex: 1 1 auto;
        padding: 20px 10px;
        cursor: pointer;
    }
    .table--gauge span {
        display: block;
        width: 100%;
        height: 8px;
        background-color: var(--Neutrals-Sand);
        border-radius: 4px;
    }
    .table--gauge.gauge--column_visible span {
        background-color: var(--Neutrals-Light-Grey);
    }
    
    .gauge--columns_1 > .table--gauge { width: 100%; }
    .gauge--columns_2 > .table--gauge { width: 50%; }
    .gauge--columns_3 > .table--gauge { width: 33.333333%; }
    .gauge--columns_4 > .table--gauge { width: 25%; }
    .gauge--columns_5 > .table--gauge { width: 20%; }
    .gauge--columns_6 > .table--gauge { width: 16.666666%; }
    .gauge--columns_7 > .table--gauge { width: 14.285714%; }
    .gauge--columns_8 > .table--gauge { width: 12.5%; }

    @media (hover: hover) {
        body:not(.touch_device) .table--gauge:hover span {
            background-color: var(--Primary-Light-Green);
        }
    }


.table--fixed_header {
   display: none;
   position: relative;
   background-color: var(--Neutrals-White);
   box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.25);
   margin-left: calc((100vw - 100%)/-2);
   margin-right: calc((100vw - 100%)/-2);
   width: 100vw;
   left: 0;
   z-index: 3;
}
.modal--active .table--fixed_header {
   width: calc(100vw - var(--Scroll-Width));
}
.table--fixed_header .table--wrap_container {
   margin: 0 auto;
}
.table_header--on_top .table--fixed_header,
.table--fixed_header.table_header--on_top {
   position: fixed;
   display: block;
}
.table--fixed_header.table_header--on_bottom {
   position: absolute;
   display: block;
   bottom: 0;
}



ol.table--footnotes {
   list-style: none;
   padding: 0 32px;
   counter-reset: footnote;
   margin-top: 24px;
   font-size: 14px;
   font-weight: 400;
   line-height: 1.4;
   color: var(--Neutrals-Grey);
}
    ol.table--footnotes li {
        position: relative;
        padding: 0;
        margin-bottom: 0.3em;
        counter-increment: footnote;
    }
    ol.table--footnotes li::before {
        content: counter(footnote)")";
        font-size: 0.75em;
        position: absolute; 
        top: 2px;
        left: -24px;
    }
    /*
    ol.table--footnotes a {
        font-weight: 600;
        color: var(--Primary-Green);
    }
    */
    @media (hover: hover) {
        ol.table--footnotes a:hover {
            color: var(--Primary-Light-Green);
        }
    }

    @media (max-width: 630px) {
        ol.table--footnotes {
            font-size: 13px;
            padding-right: 0;
        }
    }
     

/* Styles for applications*/
.table--on_sand.table--container th, 
.table--on_sand.table--container td {
    background: var(--Neutrals-White-Sand);
}
.table--on_sand.table--container td {
    border-bottom: 1px solid var(--Neutrals-Medium-Sand);
}
.table--on_sand.table--container td.col--1 {
    background: var(--Neutrals-Light-Sand);
}
.table--on_sand.table--container .table--section td {
    background: var(--Neutrals-Medium-Sand);
}
.table--on_sand.table--container .table--section:not(tr:first-child) td::after {
    background: var(--Neutrals-White-Sand);
}
.table--on_sand.table--container tbody tr:not(.table--section):first-child td {
    border-top: 1px solid var(--Neutrals-Medium-Sand);
}
.table--on_sand .table--fixed_header {
    background-color: var(--Neutrals-White-Sand);
}
@media (hover: hover) {
    .table--on_sand.table--container tr:not(.table--section):hover td:not(.col--1) {
        background: #EDECE2;
    }          
    .table--on_sand.table--container tr:not(.table--section):hover td.col--1 {
        background: #DDDCCC;
    }          
}

/* ag-section */
/* AG Section — Group-like container block (header fields + InnerBlocks).
 */

.ag_section--container {
   margin: 24px 0 28px;
}
.ag_section--container.ag_section--style_white {
	margin: 62px 0 28px;
	background-color: var(--Neutrals-White);
}
/* ⚠ `:not(.ag_section--wide)` on all three .page--home rules (here + the 768/450 media
   queries). They are (0,3,0), the same as the wide rule below, and they sit LATER in the file,
   so without this exclusion a "White wide" section on the homepage would take the hero gap
   back AND lose its bleed — the shorthand margin resets left/right on the tie. Excluding is
   better than out-ordering: it survives future edits to either rule. */
.page--home .ag_section--container.ag_section--style_white:not(.ag_section--wide) {
	margin: 122px 0 106px;
}
/* "White wide" — flush full-bleed white band.
   ⚠ TOP/BOTTOM LONGHANDS ONLY, never `margin: 0` / `padding: 28px 0`. Left and right belong
   to the breakout below, which is also (0,3,0) — a shorthand here would reset them on a tie
   and the band would silently stop bleeding. Background comes from .ag_section--style_white. */
.ag_section--container.ag_section--style_white.ag_section--wide {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 28px;
	padding-bottom: 28px;
}
.ag_section--container.ag_section--style_sand {
   margin-top: 0;      /* flush band; left/right come from the .section--full_width breakout */
   margin-bottom: 0;
   padding: 62px 0 62px;
   background-color: var(--Neutrals-White-Sand);
}

/* Content column; max-width = editor-safe fallback (no layout.css in the iframe). */
.ag_section--inner {
   max-width: 1290px;
   margin-left: auto;
   margin-right: auto;
}

/* In-column (any .section--viewport ancestor): inherit the host column width instead of
   re-imposing the fixed 1290px viewport. Full-bleed gets its own handling below. */
.section--viewport .ag_section--container:not(.section--full_width) .ag_section--inner {
   width: 100%;
}

/* In-column full-bleed (Sand wide / White wide): breakout margins bleed the band; the
   complementary percentage padding (the ag_collection--full_screen recipe) re-aligns the
   content box to the host column; the inner fills it. Top/bottom padding stays with the style.

   Either class triggers it. `ag_section--wide` is what the ACF style values carry ("White
   wide" / "Sand wide"); `section--full_width` is the older theme helper, kept so a block that
   was given it by hand in Additional CSS classes still bleeds. Both, or either, works.

   ⚠ The margin pair is RESTATED here rather than left to layout.css:40. That rule only matches
   `.section--full_width`, so a block carrying just `ag_section--wide` would get the
   complementary padding with no breakout — content inset twice and no bleed at all. Restating
   also makes this block self-contained, so the bleed no longer depends on a layout.css rule
   whose selector it does not control.

   ⚠ `var(--Scroll-Width, 0px)` — the variable is written to :root by global.js at runtime, so
   it is ABSENT in the block-editor iframe. Without the fallback the whole calc() is invalid
   there and the declaration is dropped (ag-ribbon.css:130 sets the same precedent).

   ⚠ Requires a `.section--viewport` ancestor, which supplies the `100%` these calcs measure
   against. The editor canvas has none, so a wide section previews as a normal one — the same
   divergence Sand already has, and why the .acf-block-component block below fakes the gaps. */
.section--viewport .ag_section--container:is(.section--full_width, .ag_section--wide) {
   width: auto;
   margin-left: calc((100% - 100vw + var(--Scroll-Width, 0px)) / 2);
   margin-right: calc((100% - 100vw + var(--Scroll-Width, 0px)) / 2);
   padding-left: calc((100vw - var(--Scroll-Width, 0px) - 100%) / 2);
   padding-right: calc((100vw - var(--Scroll-Width, 0px) - 100%) / 2);
}
.section--viewport .ag_section--container:is(.section--full_width, .ag_section--wide) .ag_section--inner {
   width: 100%;
}

/* Header — homepage catalog values (.catalog--*). */
.ag_section--header {
   margin-bottom: 36px;
}
.ag_section--subtitle {
   margin-bottom: 10px;
   color: var(--Neutrals-Dark-Grey);
   font-size: 14px;
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
}
.ag_section--title_wrap {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
}
.ag_section--header .ag_section--title {
   margin: 0;
   color: var(--Neutrals-Black);
   font-size: 48px;
   font-weight: 300;
	font-style: normal;
   line-height: 1.15;
   letter-spacing: -0.04em;
}
.ag_section--title_large .ag_section--header .ag_section--title {
   font-size: 56px;
	letter-spacing: -0.05em;
}
.ag_section--title_link {
   font-size: 12px;
   font-style: normal;
   font-weight: 700;
   line-height: 2.5em;
   letter-spacing: 0.06em;
   text-transform: uppercase;
	color: var(--Neutrals-Dark-Grey);
	outline: none;
	text-decoration: none;
}

.ag_section--footer {
   display: none;
   text-align: center;
	margin-top: 16px;
}

/* Editor only (.acf-block-component): inert title-link + a uniform 80px gap above and
   below EVERY section, regardless of style, so stacked sections stay visually separated
   in the block canvas (the frontend margins are style-dependent — white/sand/home — and
   layout.css is absent in the iframe). Sand keeps its own internal band padding. */
.acf-block-component .ag_section--title_link {
   pointer-events: none;
}
.acf-block-component .ag_section--container {
   margin: 80px 0;
}
.acf-block-component .ag_section--container.ag_section--style_sand {
   margin: 80px 0;
   padding: 48px 0;
}

@media (max-width: 1024px) {
	.ag_section--container.ag_section--style_white { margin: 48px 0 28px; }
	.ag_section--container.ag_section--style_sand { padding: 48px 0 48px; }
}
@media (max-width: 768px) {
	.page--home .ag_section--container.ag_section--style_white:not(.ag_section--wide) { margin: 112px 0 96px; }
   .ag_section--header { margin-bottom: 32px; }
   .ag_section--header .ag_section--title { font-size: 38px; }
	.ag_section--title_large .ag_section--header .ag_section--title { font-size: 52px; }
	.ag_section--subtitle { font-size: 13px; }
}
@media (max-width: 600px) {
   .ag_section--title_wrap .ag_section--title_link { display: none; }
   .ag_section--footer { display: block; }
}
@media (max-width: 450px) {
	.ag_section--container.ag_section--style_white { margin: 42px 0 28px; }
	.page--home .ag_section--container.ag_section--style_white:not(.ag_section--wide) { margin: 92px 0 76px; }
	.ag_section--container.ag_section--style_sand { padding: 36px 0 36px; }
   .ag_section--subtitle { margin-bottom: 6px; }
   .ag_section--header .ag_section--title { font-size: 38px; }
	.ag_section--title_large .ag_section--header .ag_section--title { font-size: 48px; }
}


/* ex-home */
h1.section_home_hero--seo_title {
   position: absolute;
   opacity: 0;
   top: 24px;
   left: 24px;
}

.section-home-about {
    margin: 160px 0;
    position: relative;
}

.section-home-about .number p {
   font-size: 20px;
   line-height: 28px;
   font-weight: normal;
   color: var(--Neutrals-Grey);
   margin-top: 23px;
}

.section-home-about .number {
   /* width: 25%; */
   width: 33.3333%;
   text-align: center;
   padding: 0 5px;
}

.section-home-about .sub-head {
    color: var(--Neutrals-Light-Sand);
}

.section-home-about .numbers {
    display: flex;

    flex-wrap: wrap;
}

.section-home-hero {
    position: relative;
    overflow: hidden;
    background-color: var(--Neutrals-White);
}

.section-home-hero .image {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

}

.hero-links .link-item .title {
    font-size: 20px;
    margin-bottom: auto;
    font-weight: 400;
    color: inherit;
    line-height: 28px;
    letter-spacing: 0.01em;

}

.hero-links .link-item img {
    width: 48px;
    height: 48px;
    max-height: 48px;
    margin-top: auto;
    transition: all 0.2s ease;

}

.hero-links .link-item {
    display: flex;
    color: var(--Neutrals-White);
    flex-direction: column;
    transition: all 0.2s ease;
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .06);
    padding: 24px;
    -webkit-backdrop-filter: blur(120px);
    backdrop-filter: blur(120px);
}



.section-home-hero .bg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    object-fit: cover;
    width: 100%;
    min-height: 100%;
    object-position: var(--pos, 50% 25%);
    min-height: 100%;
}

.section-home-hero .text-over h2,
.section-home-hero .text-over .section-home-hero--title {
    color: var(--Neutrals-White);
    font-size: 56px;
    font-weight: 300;
    line-height: 1.15em;
    letter-spacing: -0.025em;
    margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
    .section-home-hero .text-over .text-smaller h2,
    .section-home-hero .text-over .text-smaller .section-home-hero--title {
        font-size: 44px;
    }
}
.section-home-hero .text-over p {
    /* color: var(--Neutrals-Light-Sand); */
    color: #E0E0E2;
    margin-bottom: 48px;
}

.section-home-hero .arrows {
    display: none;
}

.section-home-hero .swiper-button-next,
.section-home-hero .swiper-button-prev {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0%;
    width: 40px;
    outline: none;
    z-index: 99;
    height: 40px;
    margin: auto 40px;
}

.section-home-hero .swiper-button-prev {
    transform: scaleX(-1);
}

.section-home-hero .swiper-button-disabled span {
    -webkit-backdrop-filter: blur(120px);
    backdrop-filter: blur(120px);
    background-color: rgba(255, 255, 255, .05);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23fff;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23fff;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E");

    border: 1px solid rgba(255, 255, 255, .06);
}

.section-home-hero .swiper-button-next {
    left: auto;
    right: 0;
}

.section-home-hero .main-bg * {
    height: 100%;
}

.section-home-hero .section--viewport {
    position: relative;
    z-index: 10;
}

.section-home-hero .main-bg {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

.section-home-hero .text-over .swiper {
    overflow: visible;
}

.section-home-hero .swiper:not(.swiper-initialized) .swiper-pagination {
    min-height: 8px;
}

.section-home-hero .swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none;
}

.section-home-hero .text-over {
    position: static;
    max-width: 550px;
    overflow: hidden;
    padding: 48px;
    z-index: 5;
    color: var(--Neutrals-White);
    margin: 72px 0;
    -webkit-backdrop-filter: blur(120px);
    backdrop-filter: blur(120px);
    background: rgba(255, 255, 255, .05);
    border: 1px solid rgba(255, 255, 255, .06);
}

.section-home-hero .links-wrap {
    position: absolute;
    left: 0;
    right: 0;
    padding: inherit;
    padding-top: 0;
    padding-bottom: 0;
    bottom: 0;
    z-index: 9;
}

.section-home-hero .swiper-pagination.main {
    display: none;
}

.section-home-hero .swiper-pagination {
    display: flex;
    margin-top: 8px;
    margin-bottom: -16px;
    margin-right: -16px;
    justify-content: flex-end;
}

.section-home-hero .swiper-pagination-bullet.active {
    background: var(--Primary-Light-Green);
}

.section-home-hero .swiper-pagination-bullet {
    background: var(--Neutrals-White);
    margin-left: 8px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    cursor: pointer;
}

.hero-links,
.bottom-space {
    display: flex;
    gap: 16px;
    margin-top: 92px;
    flex-wrap: wrap;
    margin-bottom: 64px;
}

.hero-links .link-item,
.bottom-space .blank-h {
    width: calc(20% - 13px);
    height: 208px;
}



@media screen and (max-width: 1512px) {

    .hero-links,
    .bottom-space {
        gap: 30px;
        margin-top: 39px;
        margin-bottom: 60px;
    }

    .hero-links .link-item,
    .bottom-space .blank-h {
        width: calc(33.33% - 20px);
    }


    .section-home-hero .swiper-pagination {
        margin-top: -20px;
        justify-content: flex-start;
        margin-right: 0;
        margin-bottom: 0;
    }

    .section-home-hero .arrows {
        display: flex;
        margin-left: auto;
        margin-right: -16px;
        margin-bottom: -16px;
        margin-top: 6px;
        justify-content: flex-end;
    }

    .section-home-hero .arrows>div {
        position: static;
        margin-left: 10px;
        margin-right: 0;
    }

    .section-home-hero .main {
        display: none;
    }

}

@media screen and (min-width: 1024px) {

    .hero-links .link-item:hover {
        background: var(--Neutrals-White);
        border-color: var(--Neutrals-White);
        color: var(--Neutrals-Black);
    }

    .hero-links .link-item:hover img {
        filter: none;
    }

    .hero-links .link-item img {
        filter: brightness(0) invert(1);

    }



}

@media screen and (max-width: 1023px) {

    .top-part {
        position: relative;
        overflow: hidden;
    }

    .section-home-about .green-box {
        width: calc(50% - 15px);
    }

    .section-home-about .quote {
        width: calc(50% - 15px);
        padding-left: 30px;
        margin-left: auto;
    }


    .section-home-about .number {
        width: 50%;
    }

    .section-home-about .numbers {
        gap: 50px 0;
    }

    .section-home-hero .text-over {
        max-width: 439px;
    }

    .section-home-hero .links-wrap {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
        position: static;
    }

    .hero-links .link-item {
        height: 190px;
        padding: 20px;
        color: var(--Neutrals-Black);
        background: var(--Neutrals-White-Sand);
    }

    .section-home-hero .text-over p {
        margin-bottom: 20px;
    }

    .section-home-hero .arrows {
        margin-top: 10px;
    }

    .hero-links,
    .bottom-space {
        margin-top: 30px;
        margin-bottom: 8px;
        gap: 16px 30px;
    }

    .bottom-space {
        display: none;
    }

}

@media screen and (max-width: 767px) {


    .section-home-hero .bg {
        object-position: var(--posm, 50% 25%);
    }
    .section-home-about .numbers {
        gap: 0;
    }


    .section-home-hero .main.swiper-button-prev,
    .section-home-hero .main.swiper-button-next {
        display: block;
        bottom: 31.25vw;
        margin-left: 24px;
        margin-right: 24px;
        z-index: 9;
        top: auto;
        margin-bottom: -20px;
    }

    .section-home-hero .arrows {
        display: none;
    }

    .section-home-hero .main-bg {
        position: relative;
    }


    .section-home-hero .swiper-pagination {
        display: none;
        z-index: 9;
    }


    .section-home-hero .swiper-pagination.main {
        display: flex;
    }

    .section-home-hero .swiper-pagination {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 24px;
        justify-content: center;
    }

    .section-home-hero .text-over h2,
    .section-home-hero .text-over .section-home-hero--title {
        color: var(--Neutrals-Black);
        margin-bottom: 24px;
        font-size: 40px;
        font-weight: 300;
        line-height: 1.2em;
        letter-spacing: -0.025em;
    }
    .section-home-hero .arrows>div {
        position: absolute;
        top: auto;
        bottom: 31.25vw;
        margin: 0 24px;
        margin-bottom: -20px;
    }

    .section-home-hero .button--item.button--icon {
        width: 100%;
        text-align: left;
    }

    .section-home-hero .text-over p {
        color: var(--Neutrals-Grey);
        margin-bottom: 40px;
    }

    .hero-links .link-item .title {
        font-size: 18px;
        line-height: 26px;
        letter-spacing: .01em;
    }

    .section-home-hero .text-over {
        max-width: none;
        padding: 32px 0 0;
        margin: 0;
        box-shadow: none;
        border: 0;
        color: var(--Neutrals-Black);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .hero-links .link-item,
    .bottom-space .blank-h {
        width: calc(50% - 8px);
    }

    .hero-links,
    .bottom-space {
        gap: 16px;
        margin-top: 40px;
        margin-bottom: 0;
    }

    .section-home-hero .image {
        position: relative;
        margin-top: 40px;
        height: 62.5vw;
    }


    html .section--apps_catalog {
        padding-bottom: 54px;
        position: relative;
        margin-bottom: 92px;
    }

    html .section--apps_catalog .catalog--title_link {
        position: absolute;
        left: 0;
        right: 0;
        text-align: center;
        bottom: 0;
    }


    .section-home-about .green-box {
        width: 100%;
        padding: 32px;
    }

    .section-home-about blockquote:before {
        left: 0;
    }

    .section-home-about .number h2 {
        font-size: 32px;
        line-height: 40px;
        margin-bottom: 16px;
    }

    .section-home-about blockquote:after {
        right: 0;
    }

    .section-home-about cite {
        font-size: 12px;
    }

    .section-home-about blockquote p {
        font-size: 14px;
        line-height: 22px;
    }

    .section-home-about blockquote {
        margin-bottom: 0;
    }

    .section-home-about .quote {
        width: 100%;
        padding-left: 0;
        margin-top: 52px;
        margin-left: auto;
    }

    .section-home-about {
        margin-top: 0;
        margin-bottom: 96px;
    }

    .section-home-about .number p {

        font-size: 18px;
        font-weight: 400;
        line-height: 30px;
    }

    .section-home-about .numbers {
        margin-top: 0;
    }

    .section-home-about .number {
        width: 100%;
        padding-top: 30px;
    }
}

@media screen and (max-width: 767px) {
    .section-home-hero .text-over .sm-text-smaller h2,
    .section-home-hero .text-over .sm-text-smaller h1 {
        font-size: 32px;
    }
}

@media screen and (min-width: 530px) and (max-width: 767px) {

    .section-home-hero .button--item.button--icon {
        width: auto;
    }
}

@media screen and (max-width: 500px) {
    .section-home-hero .main.swiper-button-prev,
    .section-home-hero .main.swiper-button-next {
        display: none;
    }
}

/* ex-slider */
.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    /* Fix of Webkit flickering */
    z-index: 1;
    display: block;
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column;
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box;
    /* opacity: 0; */
}
/* .swiper-initialized .swiper-wrapper{
    opacity: 1;
} */

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
    touch-action: pan-y;
}

.swiper-vertical {
    touch-action: pan-x;
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block;
}

.swiper-slide-invisible-blank {
    visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto;
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.slider-arrows {
    display: flex;
    align-items: center;
    margin-top: 24px;
    justify-content: flex-end;
}

.slider-arrows .link {
    font-size: 12px;
    text-transform: uppercase;
    margin: 0 22px;
    color: var(--Neutrals-Black);
    font-weight: bold;
}
@media (hover: hover) {
    .slider-arrows .link:hover {
        text-decoration: none;
        color: var(--Primary-Light-Green);
    }
}

.slider-arrows .swiper-button-prev,
.slider-arrows .swiper-button-next {
    margin-left: 16px;
}

.slider-arrows span {
    background-color: var(--Neutrals-White-Sand);
}

.section-slider-s-intro .slider-arrows span {
    background-color: var(--Neutrals-White);
}

.slider-arrows .swiper-button-prev span {
    transform: scaleX(-1);
}

.sub-head {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 16px;
    line-height: 24px;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}


.section-slider-intro {
    margin: 112px 0 96px;
    overflow-x: clip;
}

.section-slider-intro .swiper {
    overflow: visible;
}

.section-slider-intro .swiper-slide {
    display: flex;
    flex-direction: column;
    width: 410px;
    height: auto;
}

.section-slider-intro .events--item,
.section-slider-intro .news-item {
    min-width: 100%;
    flex-grow: 1;
}

.section-slider-intro h2 {
    margin-bottom: 56px;
}



.section-slider-s-intro {
    padding: 112px 0;
    overflow-y: hidden;
    overflow-x: clip;
    background-color: var(--Neutrals-White-Sand);
}


.section-slider-s-intro .row {
    display: flex;
    flex-wrap: wrap;
}

.section-slider-s-intro h2 {
    margin-bottom: 56px;
}

.section-slider-s-intro h2+.entry {
    margin-top: -32px;
}

.section-slider-s-intro .left-s {
    width: 23.1%;
    padding-top: 36px;
}


.section-slider-s-intro .swiper-slide {
    width: 770px;
}

.section-slider-s-intro .swiper.swiper-initialized {
    opacity: 1;
}


.section-slider-s-intro .swiper {
    margin-right: -50vw;
    padding-right: 50vw;
    opacity: 0;
}



.section-slider-s-intro.section-stories-intro .swiper {
    overflow: visible;
}


.section-slider-s-intro .right-s {
    width: 67.6923%;
    margin-left: auto;
}


@media screen and (max-width: 1512px) {
    .section-slider-s-intro .right-s {
        width: 73.6%;
    }

}

@media screen and (max-width: 1023px) {
    .slider-arrows .link {
        margin: 0 3px;
    }


    .section-slider-s-intro {
        padding: 55px 0 88px;
    }

    .section-slider-s-intro .swiper-slide .history-item-sm {
        width: 318px !important;
    }
    .section-slider-s-intro .swiper-slide .story-item,
        .section-slider-s-intro .swiper-slide {
        width: 318px;
        min-width: 318px;
    }

    .section-slider-s-intro .left-s {
        padding-top: 110px;
        width: 40%;
    }

    .section-slider-s-intro .right-s {
        width: 56.6%;
    }

    .section-slider-s-intro .swiper-slide {
        max-width: calc(100vw - 48px);
    }

    .section-slider-intro .swiper-slide {
        width: 370px;
        max-width: calc(100vw - 48px);
    }

    .section-slider-intro {
        margin-top: 100px;
    }

}

@media screen and (max-width: 767px) {
    .slider-arrows .link {
        margin: 0 3px;
    }


    .section-slider-s-intro {
        padding: 88px 0 88px;
    }

    .section-slider-s-intro .left-s {
        padding-top: 0;
        width: 100%;
        padding-bottom: 22px;
    }

    .section-slider-s-intro .left-s .entry {
        font-size: 14px;
        line-height: 22px;
    }

    .section-slider-s-intro h2 {
        margin-bottom: 24px;
        font-size: 32px;
        font-weight: 300;
        letter-spacing: -.025em;
        line-height: 40px;
    }

    .section-slider-s-intro .right-s {
        width: 100%;
    }

    .section-slider-intro .swiper-slide {
        width: 318px;
    }

    .sub-head {
        font-size: 12px;
        line-height: 22px;
        letter-spacing: .06em;
    }

    .section-slider-intro {
        margin-top: 88px;
    }

    .section-slider-s-intro h2+.entry {
        margin-top: 0;
    }

    .section-slider-intro h2 {
        margin-bottom: 40px;
        font-size: 32px;
        font-weight: 300;
        letter-spacing: -.025em;
        line-height: 40px;
    }

}

.section-slider-intro .swiper-button-next:not(:hover) span,
.section-slider-intro .swiper-button-prev:not(:hover) span,
.section-slider-s-intro .swiper-button-next:not(:hover) span,
.section-slider-s-intro .swiper-button-prev:not(:hover) span {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' x='0px' y='0px' width='12px' height='12px' viewBox='0 0 12 12'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23C6C6B3;stroke-width:1.1;%7D .st1%7Bfill:none;stroke:%23C6C6B3;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;%7D %3C/style%3E%3Cline class='st0' x1='0' y1='6' x2='11.3' y2='6'/%3E%3Cpath class='st1' d='M8.27,9.13L11.34,6L8.27,2.87'/%3E%3C/svg%3E") !important;
}
.section-slider-intro .swiper-button-disabled,
.section-slider-s-intro .swiper-button-disabled {
    pointer-events: none;
}
.section-home-hero .text-over .swiper .swiper-slide .button--item {
    margin-top: auto;
}

.section-home-hero .text-over .swiper .swiper-slide {
    height: auto;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
}

/* ag-apps-catalog */
/* AG Applications Catalog (acf/ag-apps-catalog) — the two-column industrial / scientific
 * card pair. Self-contained: this is the ONLY stylesheet the block needs, and it depends on
 * no page-level wrapper.
 *
 * Loaded shared+block, so it applies on the front AND inside the block editor.
 *
 * ⚠ EDITOR PARITY. The editor iframe loads only shared+block CSS — elements.css and
 * wp-blocks.css are frontend-only and absent there ([[editor-iframe-lacks-elements-css]]).
 * Every property this block used to inherit from them is therefore restated below and
 * marked [inherited]. Each restated value is the one that actually wins on the front, so
 * the front render is unchanged and the editor now matches it.
 *
 * Namespace: ag_apps_catalog--*. The legacy EX Applications Catalog block it replaced was
 * retired on 2026-07-26 — its registration, twig and all apps_catalog--* rules (which had
 * been duplicated across ex-products-apps.css, ex-products.css and ex-home.css) are gone.
 */

/* Layout — gap-controlled.
   The retiring EX block spaces its cards with a negative-margin gutter (-15px on the row,
   +15px padding on each box) plus a 30px padding-bottom for row spacing. That pattern
   assumes the row can overflow its parent by 15px on each side, which does not hold in the
   block-editor canvas — there the row is clamped and the columns collapse. `gap` needs no
   overflow, so it behaves the same in both contexts.
   Equivalence with the old gutter: 2 x calc(50% - 15px) + 30px gap = 100%, outer edges flush
   with the parent, 30px between wrapped rows, and the 30px that used to sit under the last
   row is kept as `margin-bottom` on the row — deliberately outside the box (owner ruling
   2026-07-26), so it collapses against a following sibling's margin instead of stacking on
   top of it. */
.ag_apps_catalog--categories_list {
   display: flex;
   align-items: stretch;
   flex-direction: row;
   flex-wrap: wrap;
   gap: 30px;
   margin-top: 26px;
	margin-bottom: 30px;
}
.ag_apps_catalog--category_box {
   flex: 0 0 auto;
   width: calc(50% - 15px);
}

.ag_apps_catalog--category {
   position: relative;
   width: 100%;
   height: 100%;
   padding: 48px 48px 80px 48px;
   background-size: cover;
   background-position: center;
   background-repeat: no-repeat;
}
.ag_apps_catalog--industrial .ag_apps_catalog--category {
   background-color: var(--Primary-Light-Green); 
   /* 
   <svg width="800px" height="800px" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg">
         <g id="industrial">
            <linearGradient id="industrial_1" gradientUnits="userSpaceOnUse" x1="719.5345" y1="856.3425" x2="80.4655" y2="-56.3426">
               <stop  offset="0" style="stop-color:#006432"/>
               <stop  offset="1" style="stop-color:#19AF23"/>
            </linearGradient>
            <rect style="fill:url(#industrial_1);" width="800" height="800"/>
            
            <linearGradient id="industrial_2" gradientUnits="userSpaceOnUse" x1="512.603" y1="668.639" x2="29.8042" y2="-20.8692">
               <stop  offset="0" style="stop-color:#282819;stop-opacity:0.1"/>
               <stop  offset="1" style="stop-color:#282819;stop-opacity:0"/>
            </linearGradient>
            <path style="fill:url(#industrial_2);" d="M0,0v800h325L649,0H0z"/>
         </g>
   </svg>
   */
   background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 0 800 800' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='industrial'%3E%3ClinearGradient id='industrial_1' gradientUnits='userSpaceOnUse' x1='719.5345' y1='856.3425' x2='80.4655' y2='-56.3426'%3E%3Cstop offset='0' style='stop-color:%23006432'/%3E%3Cstop offset='1' style='stop-color:%2319AF23'/%3E%3C/linearGradient%3E%3Crect style='fill:url(%23industrial_1);' width='800' height='800'/%3E%3ClinearGradient id='industrial_2' gradientUnits='userSpaceOnUse' x1='512.603' y1='668.639' x2='29.8042' y2='-20.8692'%3E%3Cstop offset='0' style='stop-color:%23282819;stop-opacity:0.1'/%3E%3Cstop offset='1' style='stop-color:%23282819;stop-opacity:0'/%3E%3C/linearGradient%3E%3Cpath style='fill:url(%23industrial_2);' d='M0,0v800h325L649,0H0z'/%3E%3C/g%3E%3C/svg%3E%0A");
}
.ag_apps_catalog--scientific .ag_apps_catalog--category {
   background-color: var(--Secondary-Blue); 
   /* 
   <svg width="800px" height="800px" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg">
         <g id="scientific">
               <linearGradient id="scientific_1" gradientUnits="userSpaceOnUse" x1="719.5345" y1="856.3425" x2="80.4655" y2="-56.3426">
               <stop  offset="0" style="stop-color:#006432"/>
               <stop  offset="1" style="stop-color:#3882A6"/>
            </linearGradient>
            <rect style="fill:url(#scientific_1);" width="800" height="800"/>
            
            <linearGradient id="scientific_2" gradientUnits="userSpaceOnUse" x1="512.603" y1="668.639" x2="29.8042" y2="-20.8692">
               <stop  offset="0" style="stop-color:#282819;stop-opacity:0.1"/>
               <stop  offset="1" style="stop-color:#282819;stop-opacity:0"/>
            </linearGradient>
            <path style="fill:url(#scientific_2);" d="M0,0v800h325L649,0H0z"/>
         </g>
   </svg>
   */
   background-image: url("data:image/svg+xml,%3Csvg width='800px' height='800px' viewBox='0 0 800 800' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='scientific'%3E%3ClinearGradient id='scientific_1' gradientUnits='userSpaceOnUse' x1='719.5345' y1='856.3425' x2='80.4655' y2='-56.3426'%3E%3Cstop offset='0' style='stop-color:%23006432'/%3E%3Cstop offset='1' style='stop-color:%233882A6'/%3E%3C/linearGradient%3E%3Crect style='fill:url(%23scientific_1);' width='800' height='800'/%3E%3ClinearGradient id='scientific_2' gradientUnits='userSpaceOnUse' x1='512.603' y1='668.639' x2='29.8042' y2='-20.8692'%3E%3Cstop offset='0' style='stop-color:%23282819;stop-opacity:0.1'/%3E%3Cstop offset='1' style='stop-color:%23282819;stop-opacity:0'/%3E%3C/linearGradient%3E%3Cpath style='fill:url(%23scientific_2);' d='M0,0v800h325L649,0H0z'/%3E%3C/g%3E%3C/svg%3E%0A");
}

.ag_apps_catalog--title {
   display: block;
   text-decoration: none;
	outline: none;
	font-weight: 600;
}
.ag_apps_catalog--title h3 {
   font-weight: 300;
   font-style: normal;
   font-size: 32px;
   line-height: 1.2em;
   letter-spacing: -0.02em;
   color: var(--Neutrals-White);
   margin-bottom: 16px;
}
.ag_apps_catalog--button_container {
   position: absolute;
   width: 80px;
   height: 80px;
   bottom: 0;
   right: 0;
}
.ag_apps_catalog--title .ag_apps_catalog--button {
   position: absolute;
   right: 24px;
   bottom: 24px;
   display: none;
}

.ag_apps_catalog--category p {
   /* [inherited] elements.css `p` (size/weight/line-height) + wp-blocks.css margin-bottom. */
   font-size: 16px;
   font-weight: 400;
   font-style: normal;
   line-height: 1.5em;
   margin-bottom: 1em;
   color: var(--Neutrals-White);
   opacity: 0.8;
}

.ag_apps_catalog--category ul {
   /* [inherited] elements.css `ul` reset — without it the editor shows browser bullets
      and default indentation. */
   list-style: none;
   padding: 0;
   margin: 0;
   margin-top: 48px;
}
.ag_apps_catalog--category ul li {
   /* [inherited] elements.css `ul li {position:relative}` — LOAD-BEARING: the round icon
      below is absolutely positioned against the <li>. Without it the icons collapse onto
      the card's own box (the nearest positioned ancestor) and stack on top of each other. */
   position: relative;
   min-height: 40px;
   padding-left: 0;
   margin-bottom: 0;
   margin-top: 24px;
   display: flex;
   align-items: center;
}
.ag_apps_catalog--category ul li:before {
   display: none;
}
.ag_apps_catalog--category li a {
   /* [inherited] elements.css `a` — the editor would otherwise underline these. */
   text-decoration: none;
   transition: color 0.2s ease;
   padding-left: 64px;
   font-size: 20px;
   font-style: normal;
   font-weight: 400;
   line-height: 1.3em;
   letter-spacing: 0.005em;
   color: var(--Neutrals-White);
}
.ag_apps_catalog--category li a:before {
   position: absolute;
   content: "";
   height: 40px;
   width: 40px;
   left: 0;
   top: 50%;
   transform: translateY(-50%);
   border: 1px solid rgba(255, 255, 255, 0.06); 
   background-color: rgba(255, 255, 255, 0.05);
   background-position: center;
   background-repeat: no-repeat;
   background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cstyle type='text/css'%3E .st0%7Bfill:none;stroke:%23FFFFFF;stroke-width:1.0;stroke-linecap:round;%7D %3C/style%3E%3Cline class='st0' x1='12.3' y1='10' x2='18.3' y2='10'/%3E%3Cline class='st0' x1='1.7' y1='10' x2='7.7' y2='10'/%3E%3Cline class='st0' x1='10' y1='7.7' x2='10' y2='1.7'/%3E%3Cline class='st0' x1='10' y1='18.3' x2='10' y2='12.3'/%3E%3Cline class='st0' x1='11.7' y1='8.3' x2='13.6' y2='6.4'/%3E%3Cline class='st0' x1='6.5' y1='13.6' x2='8.3' y2='11.7'/%3E%3Cline class='st0' x1='8.4' y1='8.3' x2='6.4' y2='6.5'/%3E%3Cline class='st0' x1='13.6' y1='13.5' x2='11.7' y2='11.7'/%3E%3C/svg%3E");
   backdrop-filter: blur(60px); 
}


@media (hover: hover) and (pointer: fine) {
   .ag_apps_catalog--title:hover .ag_apps_catalog--button {
      display: block;
   }
   .ag_apps_catalog--category li a:hover::before {
      border-color: rgba(255, 255, 255, 0.7); 
      background-color: rgba(255, 255, 255, 0.15);
   }
}

@media (max-width: 1024px) {
   .ag_apps_catalog--category {
      padding: 36px 36px 64px 36px;
   }
   .ag_apps_catalog--category li a {
      font-size: 18px;
   }
}
/* Stacked below 767px.
   The retired block split this across two files — a 650px width rule in
   ex-products-apps.css plus a 767px override in ex-home.css that also switched the row to
   `display:block`. The 767px pair was what actually rendered on the home page, so it is
   folded in here as the single breakpoint. */
@media (max-width: 767px) {
   .ag_apps_catalog--category_box {
      width: 100%;
   }
}
@media (max-width: 450px) {
   .ag_apps_catalog--category {
      padding: 32px 32px 64px;
   }
}


/* Editor only (.acf-block-component).
   1. Every card title and list entry is a link — `pointer-events` keeps a click selecting
      the block instead of navigating the editor away from the post.
   2. The block canvas is narrower than the real viewport, so the 767px media query above
      fires there and collapses the two columns to a stack even on a wide screen. This
      restates the two-column width at a higher specificity than the media-query rule, so
      the editor always previews the desktop layout it will actually ship as.
   3. [inherited] elements.css opens with `* { box-sizing: border-box; margin: 0 }` and is
      registered frontend-only (`add_style('ex-elements', …, ['priority' => 1])`, no admin or
      block flag), so the editor iframe gets neither. Without border-box the card's
      48px/80px padding is ADDED to its `width:100%` and height — it overruns its column to
      the right, swallowing the 30px gap, and spills past the block outline below. Scoped to
      this block's own subtree so nothing leaks into other editor content.
   4. Same missing reset: the browser's default TOP margins on h3/p come back in the editor
      and push the card text down. Deliberately NOT done with a `* { margin: 0 }` — that
      selector outranks the restated margins above and would flatten them all. */
.acf-block-component .ag_apps_catalog--title,
.acf-block-component .ag_apps_catalog--category li a {
   pointer-events: none;
}
.acf-block-component .ag_apps_catalog--category_box {
   width: calc(50% - 15px);
}
.acf-block-component .ag_apps_catalog--categories_list,
.acf-block-component .ag_apps_catalog--categories_list * {
   box-sizing: border-box;
}
.acf-block-component .ag_apps_catalog--title h3,
.acf-block-component .ag_apps_catalog--category p {
   margin-top: 0;
}


/* ex-news */
/* News listing */

.section--news_list {
   padding: 0 0 120px;
}

.news--list {
   display: flex;
   flex-wrap: wrap;
   gap: 30px;
}


/* News card */

.news--item {
   display: flex;
   flex-direction: column;
   position: relative;
   width: calc(33.33% - 20px);
   color: var(--Neutrals-Black);
   background-color: var(--Neutrals-White-Sand);
   transition: background-color 0.5s ease;
}

.news--image {
   position: relative;
   padding-bottom: 62.5%;
}

.news--image img {
   position: absolute;
   left: 0;
   right: 0;
   top: 0;
   bottom: 0;
   width: 100%;
   height: 100%;
   min-height: 100%;
   max-height: 100%;
   object-fit: cover;
   display: block;
}

.news--text {
   display: flex;
   flex-direction: column;
   flex-grow: 1;
   padding: 24px 32px;
}

/* (0,3,0): must out-rank later-band CPT .h4 utilities (e.g. .ex--products .h4); the
   font-size here (not only on .h4) keeps the title constant across h1–h5 in the
   editor iframe, where elements.css is absent. */
.news--item .news--text .news--title {
   margin-top: 0;
   margin-bottom: 14px;
   font-size: 24px;
   font-weight: 400;
   line-height: 1.25;
   letter-spacing: -0.015em;
	color: var(--Neutrals-Black);
}

.news--excerpt {
   font-size: 15px;
   line-height: 23px;
}
/* (0,2,0): beats the wp-blocks.css :is(.ex--page,.ex--post) p margin in page content. */
.news--text .news--excerpt {
   margin-bottom: 0;
}

/* Pinned to the card bottom by its own auto margin (a <div> — immune to content <p> rules). */
.news--date {
   margin-top: auto;
   padding-top: 28px;
   margin-bottom: 6px;
   font-size: 14px;
   line-height: 1;
   font-weight: 600;
   text-transform: uppercase;
   letter-spacing: 0.06em;
   color: var(--Neutrals-Grey);
}

.news--item .button--round {
   display: none;
   position: absolute;
   bottom: 0;
   right: 0;
   margin: 21px;
}

.ag_section--style_sand .news--item {
	background-color: var(--Neutrals-Light-Sand);
}
.ag_section--style_sand .news--excerpt {
	color: var(--Neutrals-Black);
}

@media (hover: hover) and (pointer: fine) {
   .news--item:hover {
      background-color: var(--Neutrals-Light-Sand);
   }
   .news--item:hover .news--excerpt {
      color: var(--Neutrals-Black);
   }
   .news--item:hover .button--round {
      display: block;
   }

   .ag_section--style_sand .news--item:hover {
      background-color: var(--Neutrals-White);
   }
   .ag_section--style_sand .news--item:hover .news--excerpt {
      color: var(--Neutrals-Dark-Grey);
   }
   .ag_section--style_sand .news--item:hover .button--round {
      background-color: var(--Neutrals-Light-Sand);
   }
}

@media screen and (max-width: 1023px) {
   .news--item {
      width: calc(50% - 15px);
   }
}

@media screen and (max-width: 767px) {
   .news--item {
      width: 100%;
   }
   .news--date {
      font-size: 13px;
      margin-bottom: 0;
   }
   .news--item .button--round {
      margin: 16px;
   }
   .section--news_list {
      padding: 0 0 60px;
   }
}

@media screen and (max-width: 450px) {
	.news--text {
		padding: 24px;
	}
   /* listing cards full-bleed — mirrors the collection full_mobile grid */
   .news--list {
      width: calc(100vw - var(--Scroll-Width));
      margin-left: calc((100% - 100vw + var(--Scroll-Width)) / 2);
      margin-right: calc((100% - 100vw + var(--Scroll-Width)) / 2);
      gap: 46px;
   }
   .news--item:hover .button--round {
      display: none;
   }
}


/* Card variants — markers from news-card.twig: news--no_image / news--no_description. */
.news--item.news--no_description .news--text .news--title {
	font-weight: 300;
}
.news--item.news--no_description .news--date {
   padding-top: 16px;
	font-size: 13px;
}

.ex--news .ex--related_news,
.ex--news .wp-block.ex--related_news {
	color: var(--Neutrals-Dark-Grey);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	margin-top: 112px;
	margin-bottom: 28px;
}
@media screen and (max-width: 450px) {
	.ex--news .ex--related_news {
		margin-top: 80px;
	}
}

/* ex-events */
/**
 * Events CPT styles (the /events/ listing + the AG Events block cards).
 * Remaster M8-events (2026-07-11): relocated from css/ (byte-copy), re-banded P60.
 * Events remaster (2026-07-21): renamed to the `events--*` family so ONE card
 * template serves both the listing and the AG Events block — was
 * .events-f--section / .events-row / .event-item / .featured / .logo / .location /
 * .date. Properties, values and breakpoints are otherwise unchanged.
 *
 * On the Collection wrapper the card width is decided by collection.css:
 * `.ag_collection--columns_N .ag_collection--item` (0,2,0) outranks `.events--item`
 * (0,1,0), exactly as it does for news cards — so no override is needed here.
 *
 * 2026-07-21: listing pagination removed (it could never fire — peak simultaneous
 * events in the site's history was 18, and the page now renders the full set), so
 * the `.btn-load-more` copy is gone from here. That also settles the duplicate this
 * header used to flag: the rule now lives only in news.css, which really paginates.
 *
 * 2026-07-22: the /events/ listing is an AG Events block in the page content, so the
 * template-side loop (and with it `.events--section` / `.events--list`, which nothing
 * else emitted) is gone. Card layout on the page is collection.css's grid now, so this
 * file is card visuals only. template-events.php + page-events.twig were retired the
 * same day (the /events/ Page runs on template-default.php), taking the last
 * `.page-template-template-events` scoped rule with them — it was already inert (this
 * poster is textbg_no, not blur).
 */
.events--item.events--featured::before {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    border-style: solid;
    border-width: 0 60px 60px 0;
    border-color: transparent var(--Primary-Light-Green) transparent transparent;

}

.events--item {
    display: flex;
    flex-direction: column;
    color: var(--Neutrals-Black);
    width: calc(33.33% - 20px);
    background: var(--Neutrals-White-Sand);
    padding: 20px;
    position: relative;
    transition: background-color 0.2s ease;
}

.events--item .events--logo {
    height: 40px;
    display: flex;
    margin-bottom: 18px;
    align-items: center;
}

.events--item .events--logo img {
    height: 40px;
    max-width: 100%;
    max-height: 40px;
    width: auto;
    mix-blend-mode: multiply;
    display: block;
}

.events--item .events--location,
.events--item .events--date {
   font-size: 14px;
   text-transform: uppercase;
   font-weight: 600;
   color: var(--Neutrals-Grey);
   line-height: 24px;
   letter-spacing: 0.06em;
}

.events--item .events--location {
    margin-bottom: 20px;
    margin-top: auto;
}

/* Explicit font-size on the title class (not inherited from elements.css `.h4`, which is
   frontend-only) keeps the card title visually constant across h2–h6 in the editor iframe
   when the block's SEO level changes — the tag varies, the look must not. Mirrors AG News
   (library/news/news.css `.news--title`). Frontend is unchanged: 24px == elements.css .h4. */
.events--item .events--title {
    margin: 0 0 20px;
    font-weight: normal;
    letter-spacing: -0.01em;
    font-size: 24px;
    line-height: 1.33;
}

.events--item:hover {
    color: var(--Neutrals-Black);
    background: var(--Neutrals-Light-Sand);
}

.events--item .button--round {
    display: none;
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 16px;
}
.events--item:hover .button--round {
    display: block;
}


/* Editor only (.acf-block-component): the card is a link to the organiser's site.
   `pointer-events` keeps a click selecting the block instead of navigating away;
   `text-decoration` restores the frontend look — the editor never loads
   elements.css, so its global `a { text-decoration: none }` reset is missing and
   the card text would render underlined. */
.acf-block-component .events--item {
    pointer-events: none;
    text-decoration: none;
}


@media screen and (max-width: 1023px) {

    .events--item {
        width: calc(50% - 15px);
    }
}

@media screen and (max-width: 767px) {

    .events--item .events--title {
        font-size: 20px;
        line-height: 28px;
    }

    .events--item {
        width: 100%;
    }

    .events--item:after {
        display: none;
    }
}


/* ag-link */
/* AG Link (acf/ag-link) — a single themed button.
 *
 * The button itself is styled ENTIRELY by the `.button--item` component in css/elements.css;
 * this file owns only the block wrapper. Three additive rules were added to elements.css for
 * this block (`.button--icon_left`, `button_icon--arrow_left`/`_right`, `.button--green`) —
 * see the comment block there. Nothing about the button belongs here, or the component would
 * end up with two homes.
 *
 * Registered `['shared' => true, 'block' => true]` at priority 70 (the block band).
 *
 * ⚠ Editor parity: the canvas iframe has no elements.css. The button restatements for the
 * editor live in library/blocks/assets/admin-assets.css beside the ones that were already
 * there (`.acf-block-component .button--item`), so every ACF block with a button benefits —
 * not just this one. → [[editor-iframe-lacks-elements-css]]
 */


/* Block alignment. WP's align support stores left/center/right and styles it itself in the
   editor canvas, but an ACF block renders its own markup on the front, so ag-link.php emits
   the class and it is handled here.
 *
 * text-align, NOT float: core's float-based .alignleft/.alignright never load — wp-block-library
 * is dequeued in WpCleanup — and floating a button would pull it out of the flow and collapse
 * the wrapper's height. `float: none` is belt-and-braces in case core CSS ever returns.
 * Scoped to .ag_link--container so these can never leak onto anything else. */
.ag_link--container.alignleft {
   text-align: left;
   float: none;
}
.ag_link--container.aligncenter {
   text-align: center;
   float: none;
}
.ag_link--container.alignright {
   text-align: right;
   float: none;
}


/* cr-stories */
/**
 * Stories intro-slider + teaser styles (ex-stories-intro block: home + about-us).
 * Remaster M8-stories (2026-07-11): relocated from css/ (byte-copy), re-banded
 * P70 (BLOCK-enqueued css -- block band per the 2026-07-11 ruling; lives in the
 * CPT folder until the block itself E-moves). ul.page-numbers rules are inert
 * on current consumers (no pagination markup) -- legacy from a listing role.
 * Tie audit: swiper-slide pair vs slider.css is property-disjoint; slider
 * already combines earlier. Flip-free.
 */
.stories-f--section {
    padding: 76px 0 96px;
}

.story-item {
    margin-bottom: 30px;
    transition: all 0.2s ease;
    display: flex;
    min-height: 464px;
    position: relative;
    background: var(--Neutrals-White-Sand);
}

.story-item .text {
    width: 51.2%;
    padding: 30px 60px 102px;
}

.story-item .button--round {
    position: absolute;
    bottom: 0;
    right: 0;
    margin: 30px;
}

.story-item .button--round {
   display: none;
    /* margin: 26px; */
}

@media (hover: hover) and (pointer: fine) {
   .story-item:hover .button--round {
      display: block;
   }
}
.story-item .image {
    width: 48.8%;

    position: relative;
}

.story-item .image img {
    position: absolute;
    left: 0;
    right: 0;
    object-fit: cover;
    top: 0;
    bottom: 0;
    width: 100%;
    min-height: 100%;
    height: 100%;
}

.story-item .title {
    font-size: 32px;
    font-weight: 300;
    line-height: 40px;
    letter-spacing: -0.016em;
    margin-bottom: 32px;
}

.story-item .h4 {
    margin-bottom: 30px;

    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    letter-spacing: 0;
    color: var(--Neutrals-Grey);
}

.story-item p {
    font-size: 16px;
    line-height: 24px;
    font-weight: normal;
    color: var(--Neutrals-Grey);
}

.story-item:hover {
   color: var(--Neutrals-Black);
   background: var(--Neutrals-Light-Sand);
}


ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 56px;
}

ul.page-numbers li {
    padding: 0;
    margin: 0;
    list-style: none;
}

ul.page-numbers .page-numbers {
    transition: all 0.2s ease;
    color: var(--Neutrals-Dark-Sand);
    background: var(--Neutrals-White-Sand);
    width: 40px;
    height: 40px;
    border-radius: 50%;

    font-size: 14px;
    font-weight: 400;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 8px 16px;
}


ul.page-numbers .page-numbers:hover {
    color: var(--Neutrals-Black);
    background: var(--Neutrals-Light-Sand);
}

ul.page-numbers .page-numbers.current {
    color: var(--Neutrals-Black);
    pointer-events: none;
    background: var(--Neutrals-Light-Sand);
}

ul.page-numbers li:before {
    display: none;
}

.section-stories-intro .story-item {
    margin-bottom: 0;
}

.section-stories-intro .story-item .h4 {
    order: 1;
    margin-bottom: 16px;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 600;
    line-height: 24px;
    letter-spacing: 0.06em;
}

.section-stories-intro .story-item .image {
    width: 42.858%;
}

.section-stories-intro .story-item p {
   order: 3;
   color: var(--Neutrals-Black);
}

.section-stories-intro .story-item .button--round {
   display: none;
   margin: 26px;
}

@media (hover: hover) and (pointer: fine) {
   .section-stories-intro .story-item:hover p {
      color: var(--Neutrals-Dark-Grey);
   }
   .section-stories-intro .story-item:hover .button--round {
      display: block;
      background-color: var(--Neutrals-Medium-Sand);
   }
}

.section-stories-intro .story-item .title {
   order: 2;
   margin-bottom: 24px;
   font-size: 24px;
   font-weight: 400;
   line-height: 32px;
   letter-spacing: 0;
   color: var(--Neutrals-Black);
}

.section-stories-intro .story-item {
    background: var(--Neutrals-Light-Sand);
}

.section-stories-intro .story-item:hover {
    background: var(--Neutrals-White);
}

.section-stories-intro .story-item .text {
    display: flex;
    padding: 48px;
    padding-bottom: 92px;
    width: 57.142%;
    flex-direction: column;

}

.section--more-news {
    padding: 32px 0;
    text-align: center;
    background: var(--Neutrals-Light-Sand);
}

@media screen and (max-width: 1023px) {

    
    .section-stories-intro  .story-item .title {
        font-size: 20px;
        line-height: 28px;
        margin-bottom: 24px;
        letter-spacing: 0;
        font-weight: normal;
    }
    
    .stories-row .story-item {
        width: 100%;
    }

    .section-stories-intro .story-item {
        display: block;
        min-width: 100%;
        margin-bottom: 0;
    }

    .section-stories-intro .story-item .image {
        width: 100%;
        padding-bottom: 62.5%;
        height: 0;
    }

    .section-stories-intro .story-item .button--round {
        display: none;
    }

    .section-stories-intro .story-item .text {
        width: 100%;
        padding: 32px;
        padding-bottom: 64px;
    }

    .section-stories-intro .story-item {
        flex-grow: 1;
        background: var(--Neutrals-White);
    }

    .section-stories-intro .swiper-slide {
        display: flex;
        flex-direction: column;
        height: auto;
    }
}

@media screen and (max-width: 767px) {
    
    .stories-f--section {
        padding-bottom: 32px;
    }

    .stories-row .story-item {
        display: block;
        min-width: 100%;
        margin-bottom: 24px
    }

    ul.page-numbers {
        margin-top: 8px;
    }

    .stories-row .story-item .image {
        width: 100%;
        padding-bottom: 62.5%;
        height: 0;
    }
 

    .stories-row .story-item .title {
        font-size: 24px;
        line-height: 32px;
        font-weight: normal;
        margin-bottom: 24px;
    }
 

    .stories-row .story-item p {
        font-size: 14px;
        line-height: 22px;
    }

    .stories-row     .story-item .button--round {
        margin: 16px;
    }

    .stories-row .story-item .h4 {
        font-weight: normal;
        margin-bottom: 24px;
    }

    .stories-row .story-item .text {
        width: 100%;
        padding: 32px;
        padding-bottom: 72px;
    } 

    .section-stories-intro .story-item {
        margin-top: 17px;
    }

    .story-item .h4 {
        font-size: 20px;
        line-height: 28px;
    }

    .stories-row .story-item {
        display: block;
    }
    .story-item {
        width: 100%;
    }

    .story-item .date {
        margin-top: 48px;
    }

    .story-item:after {
        display: none;
    }

    .news-f--section {
        padding-bottom: 60px;
    }
}

/* ex-cta */
/**
 * EX Bottom CTA block styles.
 * Moved from library/block-assets/ (remaster M7-2, E-track pattern-setter) —
 * byte-copy of the old file plus the entry.css successor rule at the bottom.
 * NB: the .page-template-template-landing .content--product rule rode along
 * from the legacy file — it belongs to the landing page, relocate at D4.
 */
.section--cta {
    position: relative;
    padding: 72px 0;
    background: no-repeat 50% 50%;
    background-size: cover;
}

.section--cta .bg {
    position: absolute;
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    left: 0;
    max-height: 100%;
    top: 0;
}

.section--cta h2 {
    margin-bottom: 24px;
}

.section--cta .button--item {
    margin-top: 48px;
}

.section--cta .logo-h {
    margin-bottom: 32px;
}

.section--cta .logo-h img {
    min-height: 40px;
    max-height: 40px;
}

.section--cta .button--item.electronics {
    background-color: #00786E;
}

.section--cta .button--item.electronics:hover:after {
    background-color: rgba(0, 0, 0, .5);
}

.section--cta .button--item.electronics:after {
    background-color: rgba(0, 0, 0, .35);
}

.section--cta .box {
   position: relative;
   z-index: 1;
   max-width: 550px;
   background: var(--Neutrals-White);
   padding: 48px;
}
.section--cta .box p {
   color: var(--Neutrals-Grey);
}

.page-template-template-landing .content--product {
    margin-top: 40px;
}

@media screen and (max-width: 1023px) {

    .section--cta {
        padding-bottom: 31px;
    }

    .section--cta .box {
        max-width: 440px;
    }
}

@media screen and (max-width: 767px) {

    .section--cta h2 {
        margin-bottom: 24px;
        font-size: 32px;
        font-weight: 300;
        letter-spacing: -.025em;
        line-height: 40px;
    }


    .section--cta .button--item {
        width: 100%;
    }

    .section--cta p {
        font-size: 14px;
        line-height: 22px;
    }

    .section--cta .box {
        max-width: none;
        width: 100%;
        padding: 40px 0;
    }

    .section--cta:before {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        background: linear-gradient(0, #232323 0%, rgba(35, 35, 35, 0) 90%);

        content: '';
        display: none;
        height: 62.5vw;
    }

    .section--cta {
        padding: 0 0 40px;
    }

    .section--cta .bg {
        position: static;
        max-height: 62.5vw;
        min-height: 62.5vw;
        height: 62.5vw;
    }
}

/* entry.css successor (remaster M7-2): the retired .entry p:not(:last-child)
   24px rhythm, re-scoped to this block's own markup. */
.section--cta .box p:not(:last-child) {
    margin-bottom: 24px;
}
