/* ------------------------------------------------------------------
 * Greyson UVP Widget  v1.6.0
 * Every value below is a default. Each one has an Elementor control
 * that overrides it, so nothing here needs editing to change the design.
 * ---------------------------------------------------------------- */

.gr-uvp{
	--gr-align:center;
	--gr-serif:"Playfair Display",Georgia,"Times New Roman",serif;
	--gr-gap:34px;
	--gr-disc:54px;
	--gr-disc-c:#25313F;
	--gr-disc-bw:1px;
	--gr-disc-r:10px;
	--gr-icon:26px;
	--gr-icon-c:#FFFFFF;
	--gr-icon-gap:20px;
	--gr-line:#D09748;
	--gr-line-w:1.7px;
	--gr-band:120px;
	--gr-brace-w:120px;
	--gr-node:11px;
	--gr-tick:18px;
	--gr-mrule-c:#D09748;
	--gr-mrule-w:100%;
	--gr-plate:#25313F;
	--gr-n:3;

	text-align:var(--gr-align,center);
}
.gr-uvp *{box-sizing:border-box}
.gr-uvp img{max-width:100%;height:auto}
.gr-uvp__inner{margin-inline:auto}

/* ---- header ---- */
.gr-uvp__head{margin-bottom:44px}
.gr-uvp__headline{
	font-family:var(--gr-serif);font-weight:400;
	font-size:clamp(28px,3.4vw,40px);line-height:1.16;
	color:#25313F;margin:0 0 18px;text-wrap:balance;
	margin-inline:auto;
}
.gr-uvp__lede{font-size:17px;line-height:1.7;color:#25313F;margin:0 auto;text-wrap:balance}

/* ---- items ---- */
.gr-uvp__items{
	display:grid;
	grid-template-columns:repeat(var(--gr-n,3),minmax(0,1fr));
	column-gap:var(--gr-gap);
	align-items:start;
}
.gr-uvp__item{min-width:0}
.gr-uvp__icon{
	display:inline-flex;align-items:center;justify-content:center;
	width:var(--gr-disc);height:var(--gr-disc);
	margin-bottom:var(--gr-icon-gap);
	color:var(--gr-icon-c);
	flex:0 0 auto;
}
.gr-uvp-shape-disc .gr-uvp__icon{background:var(--gr-disc-c);border-radius:50%}
.gr-uvp-shape-ring .gr-uvp__icon{border:var(--gr-disc-bw) solid var(--gr-disc-c);border-radius:50%}
.gr-uvp-shape-square .gr-uvp__icon{background:var(--gr-disc-c);border-radius:var(--gr-disc-r)}
.gr-uvp-shape-bare .gr-uvp__icon{width:auto;height:auto;background:none;border:0}
.gr-uvp__icon svg{width:var(--gr-icon);height:var(--gr-icon);display:block}
.gr-uvp__icon svg path,.gr-uvp__icon svg circle,.gr-uvp__icon svg rect,
.gr-uvp__icon svg polygon,.gr-uvp__icon svg polyline{fill:currentColor}
.gr-uvp__img{width:var(--gr-icon);height:var(--gr-icon);object-fit:contain;display:block}
.gr-uvp__glyph{display:block;font-family:var(--gr-serif);font-size:var(--gr-icon);line-height:1}
.gr-uvp__label{font-family:var(--gr-serif);font-size:27px;line-height:1.2;color:#25313F;margin-bottom:8px}
.gr-uvp__desc{font-size:15.5px;line-height:1.5;color:#7A828C}

/* ---- connector, layouts A and B ---- */
.gr-uvp__connector{position:relative;width:100%;height:var(--gr-band);margin-top:var(--gr-conn-gap,0px)}
.gr-uvp__lines{display:block;width:100%;height:100%;overflow:visible}
.gr-uvp__lines path{
	fill:none;
	stroke:var(--gr-line);
	stroke-width:var(--gr-line-w);
	stroke-linecap:round;
	stroke-linejoin:round;
	stroke-dasharray:var(--gr-dash,none);
}
.gr-uvp__node{
	position:absolute;left:50%;top:86%;
	width:var(--gr-node);height:var(--gr-node);border-radius:50%;
	background:var(--gr-node-c,var(--gr-line));
	transform:translate(-50%,-50%);
}

/* ---- the mark ---- */
.gr-uvp__mark{display:inline-block;text-decoration:none;color:inherit}
.gr-uvp__word{display:block;font-family:var(--gr-serif);font-size:28px;letter-spacing:.26em;line-height:1;color:#25313F}
.gr-uvp__mrule{display:block;height:1px;background:var(--gr-mrule-c);width:var(--gr-mrule-w);margin:11px auto 9px}
.gr-uvp__sub{display:block;font-size:10px;letter-spacing:.42em;line-height:1;color:#7A828C}
.gr-uvp__mark-img{display:block;width:230px;max-width:100%}
/* Inline vector mark. overflow:visible matters: this logo's last glyph sits
   exactly on its viewBox edge, so any clipping shaves the N. */
.gr-uvp__mark-svg{display:block;width:230px;max-width:100%;height:auto;overflow:visible}

/* ---- layout B, the sign ---- */
.gr-uvp__plate{display:inline-block;background:var(--gr-plate);padding:30px 60px 34px;border-radius:2px}
.gr-uvp--b .gr-uvp__word{color:#FFFFFF}
.gr-uvp--b .gr-uvp__sub{color:rgba(255,255,255,.75)}

/* ---- layout C, the brace ---- */
.gr-uvp__c{
	display:grid;
	grid-template-columns:minmax(0,1fr) var(--gr-brace-w) minmax(0,.85fr);
	column-gap:var(--gr-gap);align-items:center;
}
.gr-uvp__c-items{display:grid;row-gap:var(--gr-gap);text-align:left}
.gr-uvp__item--row{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:center;text-align:left}
.gr-uvp__item--row .gr-uvp__icon{margin-bottom:0}
.gr-uvp__c-brace{position:relative;align-self:stretch;min-height:170px;margin-left:var(--gr-conn-gap,0px)}
.gr-uvp__brace{position:absolute;inset:0;width:100%;height:100%}
.gr-uvp__node--brace{left:52%;top:50%}
.gr-uvp__c-mark{text-align:left}

/* ---- layout D, one line ---- */
.gr-uvp__d{
	display:grid;
	grid-template-columns:auto minmax(0,1fr);
	column-gap:var(--gr-gap);align-items:end;
}
.gr-uvp__d-word{grid-column:1;grid-row:1;align-self:end;text-align:center}
.gr-uvp--d .gr-uvp__items{grid-column:2;grid-row:1;align-items:end}
.gr-uvp__d-rule{grid-column:1 / -1;grid-row:2;height:var(--gr-line-w);background:var(--gr-line);border-radius:99px}
.gr-uvp__d-sub{grid-column:1;grid-row:3;margin-top:9px;text-align:center}
.gr-uvp--d .gr-uvp__item{position:relative;padding-bottom:calc(var(--gr-tick) + 4px + var(--gr-conn-gap,0px))}
.gr-uvp__tick{
	position:absolute;left:50%;bottom:0;transform:translateX(-50%);
	width:var(--gr-line-w);height:var(--gr-tick);background:var(--gr-line);
}
.gr-uvp__tick::after{
	content:"";position:absolute;left:50%;
	bottom:calc(var(--gr-line-w) / 2 - var(--gr-node) / 2);
	width:var(--gr-node);height:var(--gr-node);border-radius:50%;
	background:var(--gr-node-c,var(--gr-line));
	transform:translateX(-50%);
}
.gr-uvp--d .gr-uvp__mark{display:block}

/* ---- closing line ---- */
.gr-uvp__payoff{font-family:var(--gr-serif);font-size:23px;line-height:1.4;color:#25313F;margin:40px auto 0;text-wrap:balance}

/* ---- stacking ---- */

.gr-uvp-stack-yes .gr-uvp__items{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-yes .gr-uvp__connector .gr-uvp__lines{display:none}
.gr-uvp-stack-yes .gr-uvp__connector{height:calc(var(--gr-band) * .55);min-height:52px;margin-bottom:18px}
.gr-uvp-stack-yes .gr-uvp__connector::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--gr-line-w);background:var(--gr-line);transform:translateX(-50%)}
.gr-uvp-stack-yes .gr-uvp__node{top:100%;transform:translate(-50%,-50%)}
.gr-uvp-stack-yes .gr-uvp__c{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-yes .gr-uvp__c-brace{display:none}
.gr-uvp-stack-yes .gr-uvp__c-mark{text-align:var(--gr-align,center)}
.gr-uvp-stack-yes .gr-uvp__d{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-yes .gr-uvp__d-word{grid-column:1;grid-row:1}
.gr-uvp-stack-yes .gr-uvp--d .gr-uvp__items{grid-column:1;grid-row:2}
.gr-uvp-stack-yes .gr-uvp__d-rule{grid-column:1;grid-row:3}
.gr-uvp-stack-yes .gr-uvp__d-sub{grid-column:1;grid-row:4}
.gr-uvp-stack-yes .gr-uvp--d .gr-uvp__item{padding-bottom:0}
.gr-uvp-stack-yes .gr-uvp__tick{display:none}

@media (max-width:1366px){
.gr-uvp-stack-laptop-yes .gr-uvp__items{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-laptop-yes .gr-uvp__connector .gr-uvp__lines{display:none}
.gr-uvp-stack-laptop-yes .gr-uvp__connector{height:calc(var(--gr-band) * .55);min-height:52px;margin-bottom:18px}
.gr-uvp-stack-laptop-yes .gr-uvp__connector::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--gr-line-w);background:var(--gr-line);transform:translateX(-50%)}
.gr-uvp-stack-laptop-yes .gr-uvp__node{top:100%;transform:translate(-50%,-50%)}
.gr-uvp-stack-laptop-yes .gr-uvp__c{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-laptop-yes .gr-uvp__c-brace{display:none}
.gr-uvp-stack-laptop-yes .gr-uvp__c-mark{text-align:var(--gr-align,center)}
.gr-uvp-stack-laptop-yes .gr-uvp__d{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-laptop-yes .gr-uvp__d-word{grid-column:1;grid-row:1}
.gr-uvp-stack-laptop-yes .gr-uvp--d .gr-uvp__items{grid-column:1;grid-row:2}
.gr-uvp-stack-laptop-yes .gr-uvp__d-rule{grid-column:1;grid-row:3}
.gr-uvp-stack-laptop-yes .gr-uvp__d-sub{grid-column:1;grid-row:4}
.gr-uvp-stack-laptop-yes .gr-uvp--d .gr-uvp__item{padding-bottom:0}
.gr-uvp-stack-laptop-yes .gr-uvp__tick{display:none}
}

@media (max-width:810px){
.gr-uvp-stack-tablet_extra-yes .gr-uvp__items{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__connector .gr-uvp__lines{display:none}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__connector{height:calc(var(--gr-band) * .55);min-height:52px;margin-bottom:18px}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__connector::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--gr-line-w);background:var(--gr-line);transform:translateX(-50%)}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__node{top:100%;transform:translate(-50%,-50%)}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__c{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__c-brace{display:none}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__c-mark{text-align:var(--gr-align,center)}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__d{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__d-word{grid-column:1;grid-row:1}
.gr-uvp-stack-tablet_extra-yes .gr-uvp--d .gr-uvp__items{grid-column:1;grid-row:2}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__d-rule{grid-column:1;grid-row:3}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__d-sub{grid-column:1;grid-row:4}
.gr-uvp-stack-tablet_extra-yes .gr-uvp--d .gr-uvp__item{padding-bottom:0}
.gr-uvp-stack-tablet_extra-yes .gr-uvp__tick{display:none}
}

@media (max-width:1024px){
.gr-uvp-stack-tablet-yes .gr-uvp__items{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-tablet-yes .gr-uvp__connector .gr-uvp__lines{display:none}
.gr-uvp-stack-tablet-yes .gr-uvp__connector{height:calc(var(--gr-band) * .55);min-height:52px;margin-bottom:18px}
.gr-uvp-stack-tablet-yes .gr-uvp__connector::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--gr-line-w);background:var(--gr-line);transform:translateX(-50%)}
.gr-uvp-stack-tablet-yes .gr-uvp__node{top:100%;transform:translate(-50%,-50%)}
.gr-uvp-stack-tablet-yes .gr-uvp__c{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-tablet-yes .gr-uvp__c-brace{display:none}
.gr-uvp-stack-tablet-yes .gr-uvp__c-mark{text-align:var(--gr-align,center)}
.gr-uvp-stack-tablet-yes .gr-uvp__d{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-tablet-yes .gr-uvp__d-word{grid-column:1;grid-row:1}
.gr-uvp-stack-tablet-yes .gr-uvp--d .gr-uvp__items{grid-column:1;grid-row:2}
.gr-uvp-stack-tablet-yes .gr-uvp__d-rule{grid-column:1;grid-row:3}
.gr-uvp-stack-tablet-yes .gr-uvp__d-sub{grid-column:1;grid-row:4}
.gr-uvp-stack-tablet-yes .gr-uvp--d .gr-uvp__item{padding-bottom:0}
.gr-uvp-stack-tablet-yes .gr-uvp__tick{display:none}
}

@media (max-width:767px){
.gr-uvp-stack-mobile-yes .gr-uvp__items{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-mobile-yes .gr-uvp__connector .gr-uvp__lines{display:none}
.gr-uvp-stack-mobile-yes .gr-uvp__connector{height:calc(var(--gr-band) * .55);min-height:52px;margin-bottom:18px}
.gr-uvp-stack-mobile-yes .gr-uvp__connector::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--gr-line-w);background:var(--gr-line);transform:translateX(-50%)}
.gr-uvp-stack-mobile-yes .gr-uvp__node{top:100%;transform:translate(-50%,-50%)}
.gr-uvp-stack-mobile-yes .gr-uvp__c{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-mobile-yes .gr-uvp__c-brace{display:none}
.gr-uvp-stack-mobile-yes .gr-uvp__c-mark{text-align:var(--gr-align,center)}
.gr-uvp-stack-mobile-yes .gr-uvp__d{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp-stack-mobile-yes .gr-uvp__d-word{grid-column:1;grid-row:1}
.gr-uvp-stack-mobile-yes .gr-uvp--d .gr-uvp__items{grid-column:1;grid-row:2}
.gr-uvp-stack-mobile-yes .gr-uvp__d-rule{grid-column:1;grid-row:3}
.gr-uvp-stack-mobile-yes .gr-uvp__d-sub{grid-column:1;grid-row:4}
.gr-uvp-stack-mobile-yes .gr-uvp--d .gr-uvp__item{padding-bottom:0}
.gr-uvp-stack-mobile-yes .gr-uvp__tick{display:none}
}

@media (max-width:640px){
.gr-uvp .gr-uvp__items{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp .gr-uvp__connector .gr-uvp__lines{display:none}
.gr-uvp .gr-uvp__connector{height:calc(var(--gr-band) * .55);min-height:52px;margin-bottom:18px}
.gr-uvp .gr-uvp__connector::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:var(--gr-line-w);background:var(--gr-line);transform:translateX(-50%)}
.gr-uvp .gr-uvp__node{top:100%;transform:translate(-50%,-50%)}
.gr-uvp .gr-uvp__c{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp .gr-uvp__c-brace{display:none}
.gr-uvp .gr-uvp__c-mark{text-align:var(--gr-align,center)}
.gr-uvp .gr-uvp__d{grid-template-columns:minmax(0,1fr);row-gap:var(--gr-gap)}
.gr-uvp .gr-uvp__d-word{grid-column:1;grid-row:1}
.gr-uvp .gr-uvp--d .gr-uvp__items{grid-column:1;grid-row:2}
.gr-uvp .gr-uvp__d-rule{grid-column:1;grid-row:3}
.gr-uvp .gr-uvp__d-sub{grid-column:1;grid-row:4}
.gr-uvp .gr-uvp--d .gr-uvp__item{padding-bottom:0}
.gr-uvp .gr-uvp__tick{display:none}
}

/* ==================================================================
 * Connector variants
 * ================================================================ */
.gr-uvp{--gr-cap:9px;--gr-term:11px;--gr-conn-gap:0px;--gr-dur:900ms;--gr-stag:140ms;--gr-delay:150ms;--gr-ease:cubic-bezier(.22,.61,.36,1)}

.gr-uvp__lines--taper path{fill:var(--gr-line);stroke:none}
.gr-uvp__connector--bus .gr-uvp__node{top:55%}
.gr-uvp__c-brace--bracket .gr-uvp__node--brace{left:13%}
.gr-uvp__c-brace--line .gr-uvp__node--brace{left:15%}

/* line end markers */
.gr-uvp__cap{
	position:absolute;top:0;
	width:var(--gr-cap);height:var(--gr-cap);
	background:var(--gr-node-c,var(--gr-line));
	transform:translate(-50%,-50%);
}
.gr-uvp-cap-none .gr-uvp__cap{display:none}
.gr-uvp-cap-dot .gr-uvp__cap{border-radius:50%}
.gr-uvp-cap-diamond .gr-uvp__cap{border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.gr-uvp-cap-bar .gr-uvp__cap{width:calc(var(--gr-cap) * 2);height:calc(var(--gr-cap) * .34);border-radius:99px}

/* node shapes */
.gr-uvp-node-circle .gr-uvp__node{border-radius:50%}
.gr-uvp-node-square .gr-uvp__node{border-radius:2px}
.gr-uvp-node-diamond .gr-uvp__node{border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.gr-uvp-node-ring .gr-uvp__node{background:none;border:2px solid var(--gr-node-c,var(--gr-line));border-radius:50%}
.gr-uvp-node-none .gr-uvp__node{display:none}

/* terminal marker, where the line meets the brand mark */
.gr-uvp__term{
	position:absolute;left:50%;top:100%;
	width:var(--gr-term);height:var(--gr-term);
	background:var(--gr-term-c,var(--gr-line));
	transform:translate(-50%,-50%);
	display:none;
}
.gr-uvp__term--brace{left:98%;top:50%}
.gr-uvp-term-circle .gr-uvp__term{display:block;border-radius:50%}
.gr-uvp-term-square .gr-uvp__term{display:block;border-radius:2px}
.gr-uvp-term-diamond .gr-uvp__term{display:block;border-radius:1px;transform:translate(-50%,-50%) rotate(45deg)}
.gr-uvp-term-ring .gr-uvp__term{display:block;background:none;border:2px solid var(--gr-term-c,var(--gr-line));border-radius:50%}
.gr-uvp-term-bar .gr-uvp__term{display:block;width:var(--gr-term-w,34px);height:var(--gr-term);border-radius:99px}
.gr-uvp-term-bar .gr-uvp__term--brace{width:var(--gr-term);height:var(--gr-term-w,34px)}
.gr-uvp-term-bar .gr-uvp__term--brace{width:calc(var(--gr-term) * .34);height:calc(var(--gr-term) * 2)}

/* ==================================================================
 * Motion. No JavaScript, so delayed-JS caching cannot hold it back.
 * Base state is always the finished state: every animation runs from
 * an offset with fill both, so with animation off nothing is hidden.
 * ================================================================ */
@keyframes gr-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes gr-grow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes gr-pop{from{opacity:0;transform:translate(-50%,-50%) scale(.25)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes gr-popd{from{opacity:0;transform:translate(-50%,-50%) rotate(45deg) scale(.25)}to{opacity:1;transform:translate(-50%,-50%) rotate(45deg) scale(1)}}
@keyframes gr-fade{from{opacity:0}to{opacity:1}}
@keyframes gr-rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes gr-mark{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes gr-wipe{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0 0 0 0)}}

/* the lines draw themselves */
.gr-uvp-anim-draw .gr-uvp:not(.gr-uvp--wipe) .gr-uvp__lines path,
.gr-uvp-anim-settle .gr-uvp:not(.gr-uvp--wipe) .gr-uvp__lines path,
.gr-uvp-anim-full .gr-uvp:not(.gr-uvp--wipe) .gr-uvp__lines path{
	stroke-dasharray:1;
	animation:gr-draw var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-i,0) * var(--gr-stag));
}

/* a dotted or dashed line keeps its pattern and is revealed downward instead */
.gr-uvp-anim-draw .gr-uvp--wipe .gr-uvp__lines,
.gr-uvp-anim-settle .gr-uvp--wipe .gr-uvp__lines,
.gr-uvp-anim-full .gr-uvp--wipe .gr-uvp__lines{
	animation:gr-wipe var(--gr-dur) var(--gr-ease) both;
	animation-delay:var(--gr-delay);
}
/* solid wedges have no stroke to draw, so they grow downward instead */
.gr-uvp-anim-draw .gr-uvp__lines--taper,
.gr-uvp-anim-settle .gr-uvp__lines--taper,
.gr-uvp-anim-full .gr-uvp__lines--taper{
	transform-origin:50% 0;
	animation:gr-grow var(--gr-dur) var(--gr-ease) both;
	animation-delay:var(--gr-delay);
}
.gr-uvp-anim-draw .gr-uvp__lines--taper path,
.gr-uvp-anim-settle .gr-uvp__lines--taper path,
.gr-uvp-anim-full .gr-uvp__lines--taper path{animation:none;stroke-dasharray:none}

/* markers, node, marks */
.gr-uvp-anim-settle .gr-uvp__cap,
.gr-uvp-anim-full .gr-uvp__cap{
	animation:gr-pop calc(var(--gr-dur) * .5) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-i,0) * var(--gr-stag));
}
.gr-uvp-cap-diamond.gr-uvp-anim-settle .gr-uvp__cap,
.gr-uvp-cap-diamond.gr-uvp-anim-full .gr-uvp__cap{animation-name:gr-popd}

.gr-uvp-anim-settle .gr-uvp__term,
.gr-uvp-anim-full .gr-uvp__term{
	animation:gr-pop calc(var(--gr-dur) * .5) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-dur) * .8);
}
.gr-uvp-term-diamond.gr-uvp-anim-settle .gr-uvp__term,
.gr-uvp-term-diamond.gr-uvp-anim-full .gr-uvp__term{animation-name:gr-popd}

.gr-uvp-anim-settle .gr-uvp__node,
.gr-uvp-anim-full .gr-uvp__node{
	animation:gr-pop calc(var(--gr-dur) * .55) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-dur) * .72);
}
.gr-uvp-node-diamond.gr-uvp-anim-settle .gr-uvp__node,
.gr-uvp-node-diamond.gr-uvp-anim-full .gr-uvp__node{animation-name:gr-popd}

.gr-uvp-anim-settle .gr-uvp__icon{
	animation:gr-fade calc(var(--gr-dur) * .7) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-i,0) * var(--gr-stag));
}

.gr-uvp-anim-settle .gr-uvp__mark,
.gr-uvp-anim-settle .gr-uvp__plate,
.gr-uvp-anim-full .gr-uvp__mark,
.gr-uvp-anim-full .gr-uvp__plate{
	animation:gr-mark var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-dur) * .85);
}
.gr-uvp-anim-settle .gr-uvp--b .gr-uvp__mark,
.gr-uvp-anim-full .gr-uvp--b .gr-uvp__mark{animation:none}

/* The box is the object on the page, so the box is what should arrive. Same
   pattern as layout B's plate: animate the container and switch the mark's own
   animation off, otherwise the border appears instantly and the logo rises
   inside it, which reads as two separate things happening. */
.gr-uvp-anim-settle .gr-uvp--markbox .gr-uvp__markbox,
.gr-uvp-anim-full .gr-uvp--markbox .gr-uvp__markbox{
	animation:gr-mark var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-dur) * .85);
}
.gr-uvp-anim-settle .gr-uvp--markbox .gr-uvp__mark,
.gr-uvp-anim-full .gr-uvp--markbox .gr-uvp__mark{animation:none}

/* full sequence also lifts the disciplines */
.gr-uvp-anim-full .gr-uvp__item{
	animation:gr-rise var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + var(--gr-i,0) * var(--gr-stag));
}
.gr-uvp-anim-full .gr-uvp__icon{animation:none}

/* Scroll trigger.
 * animation-timeline: view() was tried and is unsafe here: it binds to the
 * nearest scroll container, and any ancestor with overflow:hidden makes the
 * timeline inactive, which parks every animation at frame zero permanently.
 * So the animations are simply held paused until the observer adds gr-uvp-in.
 * If the script never runs, nothing is stranded, because the rule below only
 * pauses; with the class absent AND no script the noscript block printed by
 * the widget removes the animations entirely and the finished frame shows. */
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__lines,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__lines path,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__cap,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__node,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__term,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__icon,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__item,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__mark,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__markbox,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__o-line,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__o-node,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__outcome,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__outcome-sub,
.gr-uvp-trigger-scroll:not(.gr-uvp-in) .gr-uvp__plate{
	/* important is required: every animation above is set with the shorthand,
	   which resets play-state to running and outranks this on specificity.
	   The reduced-motion block below still wins, which is the right order. */
	animation-play-state:paused !important;
}
/* the start delay is spent before the section is reached, so it plays at once */
.gr-uvp-trigger-scroll .gr-uvp__lines,
.gr-uvp-trigger-scroll .gr-uvp__lines path,
.gr-uvp-trigger-scroll .gr-uvp__cap,
.gr-uvp-trigger-scroll .gr-uvp__icon,
.gr-uvp-trigger-scroll .gr-uvp__item{
	animation-delay:calc(var(--gr-i,0) * var(--gr-stag));
}

/* anything that carries meaning is readable with motion off */
@media (prefers-reduced-motion: reduce){
	.gr-uvp,
	.gr-uvp *,
	.gr-uvp *::before,
	.gr-uvp *::after{
		animation:none !important;
		transition:none !important;
	}
}

/* =====================================================================
 * Outcome stage (v1.8.0)
 * Three disciplines converge on the mark, the mark leads to one outcome.
 * Entirely additive: none of these selectors match unless the widget has
 * gr-uvp--stage3, so every block already published renders as before.
 * ================================================================== */
/* The mark replaces the junction dot: it is lifted up onto the connector so the
   rail runs into its left and right edges, and it paints an opaque background so
   the line does not show through behind the logo. z-index keeps it over the SVG. */
.gr-uvp__markbox{display:inline-block;position:relative;z-index:2}
/* block, not inline-block: vertical margins on an inline-level box do not move
   it the way this needs, and the lift has to be a real layout shift so the
   outcome below moves up with it. */
.gr-uvp--stage3 .gr-uvp__markbox{
	display:block;
	width:max-content;
	max-width:100%;
	margin-left:auto;
	margin-right:auto;
	margin-top:var(--gr-mark-lift,-96px);
}
/* :where() so this carries zero specificity. It is only a sane fallback for the
   moment before Elementor has regenerated the widget CSS, and it must never
   outrank the padding, border, radius and background controls. Fighting the
   control was why box padding appeared to do nothing. */
:where(.gr-uvp--markbox) .gr-uvp__markbox{
	border:1px solid #D09748;
	border-radius:10px;
	padding:22px 34px;
	background:#FFFFFF;
}
/* without the box the mark still has to hide the line it sits on */
.gr-uvp--stage3:not(.gr-uvp--markbox) .gr-uvp__mark{position:relative;z-index:2}
/* the mark is now the junction, so the dot underneath it is redundant, and the
   terminal marker had marked where the line met the mark, which no longer
   describes anything now that the mark straddles the line */
.gr-uvp--nonode .gr-uvp__node{display:none}
.gr-uvp--stage3 .gr-uvp__term{display:none}
/* v1.8.3: the mark sits on the junction, so the SVG trunk (junction -> bottom of
   the connector) is either behind the box or duplicating the outcome line below
   it. Its last ~18px poked out under the box and overlapped the CSS outcome line,
   two differently rendered strokes on top of each other, which read as two lines
   joined together. The outcome line alone now runs from the box down. */
.gr-uvp--stage3 .gr-uvp__lines .gr-uvp__trunk{display:none}

.gr-uvp__stage3{display:block;text-align:center}
.gr-uvp__o-line{
	display:block;
	width:var(--gr-line-w);
	height:var(--gr-o-line,64px);
	margin:0 auto;
	background-image:var(--gr-rail-v,linear-gradient(var(--gr-line),var(--gr-line)));
	transform-origin:top center;
}
.gr-uvp__o-node{
	display:block;
	width:var(--gr-o-node,11px);
	height:var(--gr-o-node,11px);
	margin:0 auto;
	background:var(--gr-o-node-c,var(--gr-line));
	border-radius:50%;
}
.gr-uvp--onode-square .gr-uvp__o-node{border-radius:2px}
.gr-uvp--onode-diamond .gr-uvp__o-node{border-radius:1px;transform:rotate(45deg)}
.gr-uvp--onode-ring .gr-uvp__o-node{background:none;border:2px solid var(--gr-o-node-c,var(--gr-line))}
.gr-uvp--onode-bar .gr-uvp__o-node{width:var(--gr-o-node-w,34px);border-radius:99px}

.gr-uvp__outcome{
	font-family:var(--gr-serif);
	font-size:30px;
	line-height:1.25;
	color:#25313F;
	margin:18px 0 0;
	text-wrap:balance;
}
.gr-uvp__outcome-sub{
	font-size:15px;
	line-height:1.6;
	color:#7A828C;
	margin:8px 0 0;
}
/* the closing line belongs to the whole block, so it keeps its distance
   from stage three rather than crowding it */
.gr-uvp--stage3 .gr-uvp__payoff{margin-top:52px}

@media (max-width:767px){
	.gr-uvp__outcome{font-size:24px}
}

/* --- stage three motion, mirroring the existing node and mark handling --- */
.gr-uvp-anim-draw .gr-uvp__o-line,
.gr-uvp-anim-settle .gr-uvp__o-line,
.gr-uvp-anim-full .gr-uvp__o-line{
	animation:gr-grow var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + (var(--gr-n,3) + 1) * var(--gr-stag));
}
.gr-uvp-anim-settle .gr-uvp__o-node,
.gr-uvp-anim-full .gr-uvp__o-node{
	animation:gr-fade var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + (var(--gr-n,3) + 2) * var(--gr-stag));
}
.gr-uvp-anim-settle .gr-uvp__outcome,
.gr-uvp-anim-settle .gr-uvp__outcome-sub,
.gr-uvp-anim-full .gr-uvp__outcome,
.gr-uvp-anim-full .gr-uvp__outcome-sub{
	animation:gr-mark var(--gr-dur) var(--gr-ease) both;
	animation-delay:calc(var(--gr-delay) + (var(--gr-n,3) + 2.5) * var(--gr-stag));
}

/* =====================================================================
 * Stacked spine (v1.8.0)
 * ================================================================== */
/* Centred spine, drawn as segments in the gaps rather than one long line behind
   the content. Nothing has to be painted over to hide it, which is what keeps it
   working on any section background. */
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__items{row-gap:var(--gr-stack-gap,64px)}
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__item{position:relative}
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__item + .gr-uvp__item::before{
	content:"";position:absolute;
	left:50%;
	top:calc((var(--gr-stack-gap,64px) + var(--gr-seg,36px)) / -2);
	width:var(--gr-line-w);
	height:var(--gr-seg,36px);
	background-image:var(--gr-rail-v);
	transform:translateX(-50%);
}
/* the caps and the terminal marker are placed by percentage across the SVG,
   which means nothing once the SVG is gone */
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__cap,
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__term{display:none}
/* segment from the last discipline down to the mark */
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__connector{
	height:var(--gr-stack-gap,64px);
	min-height:0;
	margin-top:0;
	margin-bottom:0;
	padding:0;
}
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__connector::before{
	left:50%;
	top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
	bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
	background:none;
	background-image:var(--gr-rail-v);
}
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__node{display:none}
/* stacked, there is no rail for the mark to straddle */
.gr-uvp-stack-yes .gr-uvp--rail.gr-uvp--stage3 .gr-uvp__markbox{margin-top:0}
.gr-uvp-stack-yes .gr-uvp--rail .gr-uvp__o-line{
	height:var(--gr-seg,36px);
	margin-top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
	margin-bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2 - var(--gr-o-node,11px) / 2);
}
@media (max-width:1366px){
	/* Centred spine, drawn as segments in the gaps rather than one long line behind
	   the content. Nothing has to be painted over to hide it, which is what keeps it
	   working on any section background. */
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__items{row-gap:var(--gr-stack-gap,64px)}
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__item{position:relative}
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__item + .gr-uvp__item::before{
		content:"";position:absolute;
		left:50%;
		top:calc((var(--gr-stack-gap,64px) + var(--gr-seg,36px)) / -2);
		width:var(--gr-line-w);
		height:var(--gr-seg,36px);
		background-image:var(--gr-rail-v);
		transform:translateX(-50%);
	}
	/* the caps and the terminal marker are placed by percentage across the SVG,
	   which means nothing once the SVG is gone */
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__cap,
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__term{display:none}
	/* segment from the last discipline down to the mark */
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__connector{
		height:var(--gr-stack-gap,64px);
		min-height:0;
		margin-top:0;
		margin-bottom:0;
		padding:0;
	}
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__connector::before{
		left:50%;
		top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		background:none;
		background-image:var(--gr-rail-v);
	}
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__node{display:none}
	/* stacked, there is no rail for the mark to straddle */
	.gr-uvp-stack-laptop-yes .gr-uvp--rail.gr-uvp--stage3 .gr-uvp__markbox{margin-top:0}
	.gr-uvp-stack-laptop-yes .gr-uvp--rail .gr-uvp__o-line{
		height:var(--gr-seg,36px);
		margin-top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		margin-bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2 - var(--gr-o-node,11px) / 2);
	}
	
}
@media (max-width:810px){
	/* Centred spine, drawn as segments in the gaps rather than one long line behind
	   the content. Nothing has to be painted over to hide it, which is what keeps it
	   working on any section background. */
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__items{row-gap:var(--gr-stack-gap,64px)}
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__item{position:relative}
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__item + .gr-uvp__item::before{
		content:"";position:absolute;
		left:50%;
		top:calc((var(--gr-stack-gap,64px) + var(--gr-seg,36px)) / -2);
		width:var(--gr-line-w);
		height:var(--gr-seg,36px);
		background-image:var(--gr-rail-v);
		transform:translateX(-50%);
	}
	/* the caps and the terminal marker are placed by percentage across the SVG,
	   which means nothing once the SVG is gone */
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__cap,
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__term{display:none}
	/* segment from the last discipline down to the mark */
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__connector{
		height:var(--gr-stack-gap,64px);
		min-height:0;
		margin-top:0;
		margin-bottom:0;
		padding:0;
	}
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__connector::before{
		left:50%;
		top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		background:none;
		background-image:var(--gr-rail-v);
	}
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__node{display:none}
	/* stacked, there is no rail for the mark to straddle */
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail.gr-uvp--stage3 .gr-uvp__markbox{margin-top:0}
	.gr-uvp-stack-tablet_extra-yes .gr-uvp--rail .gr-uvp__o-line{
		height:var(--gr-seg,36px);
		margin-top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		margin-bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2 - var(--gr-o-node,11px) / 2);
	}
	
}
@media (max-width:1024px){
	/* Centred spine, drawn as segments in the gaps rather than one long line behind
	   the content. Nothing has to be painted over to hide it, which is what keeps it
	   working on any section background. */
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__items{row-gap:var(--gr-stack-gap,64px)}
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__item{position:relative}
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__item + .gr-uvp__item::before{
		content:"";position:absolute;
		left:50%;
		top:calc((var(--gr-stack-gap,64px) + var(--gr-seg,36px)) / -2);
		width:var(--gr-line-w);
		height:var(--gr-seg,36px);
		background-image:var(--gr-rail-v);
		transform:translateX(-50%);
	}
	/* the caps and the terminal marker are placed by percentage across the SVG,
	   which means nothing once the SVG is gone */
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__cap,
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__term{display:none}
	/* segment from the last discipline down to the mark */
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__connector{
		height:var(--gr-stack-gap,64px);
		min-height:0;
		margin-top:0;
		margin-bottom:0;
		padding:0;
	}
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__connector::before{
		left:50%;
		top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		background:none;
		background-image:var(--gr-rail-v);
	}
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__node{display:none}
	/* stacked, there is no rail for the mark to straddle */
	.gr-uvp-stack-tablet-yes .gr-uvp--rail.gr-uvp--stage3 .gr-uvp__markbox{margin-top:0}
	.gr-uvp-stack-tablet-yes .gr-uvp--rail .gr-uvp__o-line{
		height:var(--gr-seg,36px);
		margin-top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		margin-bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2 - var(--gr-o-node,11px) / 2);
	}
	
}
@media (max-width:767px){
	/* Centred spine, drawn as segments in the gaps rather than one long line behind
	   the content. Nothing has to be painted over to hide it, which is what keeps it
	   working on any section background. */
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__items{row-gap:var(--gr-stack-gap,64px)}
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__item{position:relative}
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__item + .gr-uvp__item::before{
		content:"";position:absolute;
		left:50%;
		top:calc((var(--gr-stack-gap,64px) + var(--gr-seg,36px)) / -2);
		width:var(--gr-line-w);
		height:var(--gr-seg,36px);
		background-image:var(--gr-rail-v);
		transform:translateX(-50%);
	}
	/* the caps and the terminal marker are placed by percentage across the SVG,
	   which means nothing once the SVG is gone */
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__cap,
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__term{display:none}
	/* segment from the last discipline down to the mark */
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__connector{
		height:var(--gr-stack-gap,64px);
		min-height:0;
		margin-top:0;
		margin-bottom:0;
		padding:0;
	}
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__connector::before{
		left:50%;
		top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		background:none;
		background-image:var(--gr-rail-v);
	}
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__node{display:none}
	/* stacked, there is no rail for the mark to straddle */
	.gr-uvp-stack-mobile-yes .gr-uvp--rail.gr-uvp--stage3 .gr-uvp__markbox{margin-top:0}
	.gr-uvp-stack-mobile-yes .gr-uvp--rail .gr-uvp__o-line{
		height:var(--gr-seg,36px);
		margin-top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		margin-bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2 - var(--gr-o-node,11px) / 2);
	}
	
}
@media (max-width:640px){
	/* Centred spine, drawn as segments in the gaps rather than one long line behind
	   the content. Nothing has to be painted over to hide it, which is what keeps it
	   working on any section background. */
	.gr-uvp--rail .gr-uvp__items{row-gap:var(--gr-stack-gap,64px)}
	.gr-uvp--rail .gr-uvp__item{position:relative}
	.gr-uvp--rail .gr-uvp__item + .gr-uvp__item::before{
		content:"";position:absolute;
		left:50%;
		top:calc((var(--gr-stack-gap,64px) + var(--gr-seg,36px)) / -2);
		width:var(--gr-line-w);
		height:var(--gr-seg,36px);
		background-image:var(--gr-rail-v);
		transform:translateX(-50%);
	}
	/* the caps and the terminal marker are placed by percentage across the SVG,
	   which means nothing once the SVG is gone */
	.gr-uvp--rail .gr-uvp__cap,
	.gr-uvp--rail .gr-uvp__term{display:none}
	/* segment from the last discipline down to the mark */
	.gr-uvp--rail .gr-uvp__connector{
		height:var(--gr-stack-gap,64px);
		min-height:0;
		margin-top:0;
		margin-bottom:0;
		padding:0;
	}
	.gr-uvp--rail .gr-uvp__connector::before{
		left:50%;
		top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		background:none;
		background-image:var(--gr-rail-v);
	}
	.gr-uvp--rail .gr-uvp__node{display:none}
	/* stacked, there is no rail for the mark to straddle */
	.gr-uvp--rail.gr-uvp--stage3 .gr-uvp__markbox{margin-top:0}
	.gr-uvp--rail .gr-uvp__o-line{
		height:var(--gr-seg,36px);
		margin-top:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2);
		margin-bottom:calc((var(--gr-stack-gap,64px) - var(--gr-seg,36px)) / 2 - var(--gr-o-node,11px) / 2);
	}
	
}
