:root{
	--default-font-size:16px;
	--max-width:1280px;
	--header-height:0px;
	
	--width-xxs: 280px;
	--width-xs: 480px;
	--width-s: 576px;
	--width-m: 768px;
	--width-l: 992px;
	--width-xl: 1200px;
	--width-xxl: 1600px;

	--font-color:#F5F8FA;
	--header-font-color:#FFFFFF;
	--color-text-secondary:rgba(245, 248, 250, 0.82);
	--brand-primary-color: var(--blue);
	--font-color-secondary: var(--color-text-secondary);
	--font-color-header: var(--header-font-color);
	--brand-color-primary: var(--brand-primary-color);

	--background-color:#24292E;
	--background-color-light:#2f363d;
	--background-color-dark:#1f2227;
	--background-color-fade:rgb(0 0 0 / 20%);

	--button-bg: var(--background-color-light);
	--button-bg-hover: var(--background-color-dark);
	--button-bg-active: var(--background-color-dark);
	--button-bg-focus:  var(--background-color-fade);
	--button-bg-disabled:  var(--background-color-fade);
	--button-text: var(--font-color);
	--button-text-hover: #F5F8FA;
	--button-text-active:#F5F8FA;
	--button-text-focus: var(--font-color);
	--button-text-disabled:  var(--font-color);

	--yellow:#F2C94C;
	--pink:#E91E63;
	--blue:#0077AA;
	--orange:#F2994A;
	--green:#27AE60;
	--purple:#9B51E0;
	--white:#FFFFFF;
	--red:#EB5757;
	--beige:#A1887F;
	--brown:#6D4C41;
	--black:#24292E;
	
	--line-color:rgba(0 0 0 / 10%);
	--shadow:0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px 0 rgba(0,0,0,0.06);

	--font-stack: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--font:300 1em/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--image-xxs: 64px;
	--image-xs:  90px;
	--image-s: 300px;
	--image-m: 600px;
	--image-l: 1024px;
	--image-xl:  1280px;
	--image-xxl: 100%;
	--image-thumbnail: var(--image-xs);
	--image-medium: var(--image-m);
	--image-large: var(--image-l);

	--text-xxs: 0.5rem;
	--text-xs:  0.75rem;
	--text-s: 0.875rem;
	--text-m: 1rem;
	--text-l: clamp(1.125rem, 1.2vw, 1.125rem);
	--text-xl:  clamp(1.125rem, 1.5vw, 1.25rem);
	--text-xxl: clamp(1.25rem, 2vw, 1.5rem);
	
	--text-3xl: clamp(1.5rem, 3vw, 1.6rem);
	--text-4xl: clamp(1.75rem, 4vw, 2.25rem);
	--text-5xl: clamp(2rem, 5vw, 3rem);
	--text-6xl: clamp(2.25rem, 6vw, 3.75rem);
	--text-7xl: clamp(2.5rem, 7vw, 4.5rem);
	--text-8xl: clamp(3rem, 8vw, 6rem);
	--text-9xl: clamp(3.5rem, 10vw, 8rem);
	
	--text-light:200;
	--text-regular:300;
	--text-normal:300;
	--text-medium:500;
	--text-semibold:600;
	--text-strong:700;
	--text-bold:700;
	--text-extra-strong:900;
	--text-extra-bold:900;

	--size-xxs:0.12rem; 
	--size-xs:0.25rem; 
	--size-s:0.5rem;
	--size-m: clamp(0.5rem, 2vw, 0.75rem);
	--size-l: clamp(1.125rem, 3vw, 1.5rem);
	--size-xl:  clamp(1.75rem, 4vw, 2rem);
	--size-xxl: clamp(1.75rem, 5vw, 4rem);	
	  
	--border-thin:1px;
	--border-medium:2px;
	--border-thick:3px;
}


[data-theme="dark"]{
  --header-font-color:#ffffff;
  --color-text-secondary:rgba(245, 248, 250, 0.82);
}

[data-theme="light"]{
	--font-color: #24292E;
	--header-font-color:#24292E;
	--color-text-secondary:rgba(36, 41, 46, 0.72);
	--background-color:#F5F8FA;
	--background-color-light:#FFFFFF;
	--background-color-dark:#E9EDF1;
	--background-color-fade:rgba(0, 0, 0, 0.02);
	--button-bg: var(--background-color-light); 
	--button-bg-hover: var(--background-color-dark);
	--button-bg-active: var(--background-color-fade);
	--button-bg-focus:  var(--background-color-fade);
	--button-bg-disabled:  var(--background-color-fade);
	--button-text: var(--font-color);
	--button-text-hover: var(--font-color);
	--button-text-active:var(--font-color);
	--button-text-focus: var(--font-color);
	--button-text-disabled:  var(--font-color);	
	--line-color:rgba(0 0 0 / 10%);
}

html { font-size: 100%; box-sizing: border-box; scroll-behavior: smooth;}
*, *::before,
*::after{box-sizing:inherit;}

body { 
	font-family: var(--font-stack);
	background-color: var(--background-color); 
	color: var(--font-color); 
	text-rendering: optimizeLegibility; 
	-webkit-font-smoothing: antialiased;
	min-height: 100vh; 
	margin: 0; 
	line-height: 1.6;
}

#site-header{height: var(--header-height)}

.text-hero {
font-size: clamp(var(--text-4xl), 10vw, var(--text-9xl));
line-height: 1.05;
font-weight: var(--text-extra-strong);
letter-spacing: -0.02em;
}

.text-hero2 {
font-size: var(--text-7xl);
line-height: 1.1;
font-weight: var(--text-extra-strong);
letter-spacing: -0.01em;
}
.text-shadow{text-shadow: var(--shadow)}

h1, .ws-title{font-size: var(--text-5xl);line-height: 1.1;font-weight: var(--text-bold);margin: 0;}
h2, .alternativeHeadline {font-size: var(--text-4xl);font-weight: var(--text-bold);line-height: 1.2;margin: 0;}
h3, .ws-subhead{font-size: var(--text-3xl);font-weight: var(--text-semibold);line-height: 1.3;margin: 0;}
h4, .ws-heading, .ws-headline {font-size: var(--text-xl);line-height: 1.3;margin: 0;}
p, .ws-text{ font-size: var(--text-m);margin: 0;}
.ws-intro{font-size: var(--text-l);line-height: 1.5;color: var(--color-text-secondary);}
.ws-kicker, .ws-label{display: block;font-size: var(--text-s);font-weight: var(--text-strong);text-transform: uppercase;letter-spacing: 0.05em;opacity: 0.8;margin-bottom: var(--size-s);}
figcaption, .ws-caption, .ws-meta, .datePublished, .author, .cite, .byline {display: block;font-size: var(--text-xs);padding: var(--size-s);line-height: 1.4;opacity: 0.7;}
.ws-legal, .copyrightNotice, .fine-print, .small, small {font-size: var(--text-xs);line-height: 1.4;opacity: 0.7;}
.tags { display: flex; flex-wrap: wrap; gap: var(--size-xs); list-style: none; padding: 0; margin-top: var(--size-m); }
.tag {display: inline-block;padding: var(--size-xxs) var(--size-s);background-color: var(--green);color: var(--white);font-size: var(--text-s);font-weight: var(--text-medium);border-radius: var(--size-xl);text-decoration: none;transition: background-color 0.2s;}

blockquote, .quote {
display: block;
font-size: clamp(var(--text-xl), 3vw, var(--text-xxl));
font-weight: var(--text-medium);
font-style: italic;
margin: var(--size-l) auto;
padding-left: var(--size-s);
border-left: var(--border-thick) solid var(--black);
max-width: 90%;
}

h1,h2,h3,h4,h5,h6{color: var(--header-font-color)}
h1 + *, h2 + *, h3 + *, h4 + *, p + * { margin-top: var(--size-m); }
h4 + p, p + p, p + ol, p + ul, ul+* {margin-top: var(--size-s); }
h1+h2{margin-top: var(--size-xs);font-weight: var(--text-semibold);}
h1,h2{letter-spacing: -0.01em;}
p + .button, p+button,
p + h1, p + h2, ul + h1, ul + h2, ol + h1, ol + h2{margin-top: var(--size-xl)}

figure + h3, 
h3 + figure,
span + p{ margin-top: var(--size-m); } 
figure + h1, figure + h2,
h1 + figure, h2 + figure{ margin-top: var(--size-l);} 

a{color:var(--brand-primary-color);text-decoration:none;cursor:pointer;transition:color 0.2s ease;display:inline-flex;gap: var(--size-s)}
a:hover{ filter: brightness(1.2);text-decoration:underline;}
a:focus{outline:2px solid var(--line-color); outline-offset:2px;}
 
ul,ol{margin: var(--size-m);padding:0 var(--size-m);}
li{margin: var(--size-s) 0;}

ul.columns,
ol.columns,
ul.no-bullets,
ol.no-bullets{margin:0;padding:0;}
ul.no-bullets > li,
ol.no-bullets >li{list-style: none;line-height: 1.6;margin:0}

dl {display: grid;grid-template-columns: auto 1fr;margin: var(--size-m) 0;padding: 0;border-bottom: 1px solid var(--line-color);overflow: hidden;}
dt, dd {margin: 0;padding: var(--size-s);border-top: 1px solid var(--line-color);}

strong, .strong{font-weight:var(--text-strong);}

.primary-color{color:var(--brand-primary-color);}
.secondary-color{color:var(--purple);}

.yellow{background:var(--yellow);}
.pink{background:var(--pink);}
.blue{background:var(--blue);}
.orange{background:var(--orange);}
.green{background:var(--green);}
.purple{background:var(--purple);}
.white{background:var(--white);}
.red{background:var(--red);}
.beige{background:var(--beige);}
.brown{background:var(--brown);}
.black{background:var(--black);}
.yellow-text{color:var(--yellow);}
.pink-text{color:var(--pink);}
.blue-text{color:var(--blue);}
.orange-text{color:var(--orange);}
.green-text{color:var(--green);}
.purple-text{color:var(--purple);}
.white-text{color:var(--white);}
.red-text{color:var(--red);}
.beige-text{color:var(--beige);}
.brown-text{color:var(--brown);}
.black-text{color:var(--black);}

.white-text :where(h1,h2,h3,h4,h5,h6){color:inherit;}
.white-text .button, .white-text button{color:inherit;}
.button.white-text{color:var(--white);}

.yellow-highlight {color:var(--yellow);background-color: color-mix(in srgb, var(--yellow) 15%, transparent);}
.pink-highlight {color:var(--pink);background-color: color-mix(in srgb, var(--pink) 15%, transparent);}
.blue-highlight {color:var(--blue);background-color: color-mix(in srgb, var(--blue) 15%, transparent);}
.orange-highlight {color:var(--orange);background-color: color-mix(in srgb, var(--orange) 15%, transparent);}
.green-highlight {color:var(--green);background-color: color-mix(in srgb, var(--green) 15%, transparent);}
.purple-highlight {color:var(--purple);background-color: color-mix(in srgb, var(--purple) 15%, transparent);}
.white-highlight {color:var(--white);background-color: color-mix(in srgb, var(--white) 15%, transparent);}
.red-highlight {color:var(--red);background-color: color-mix(in srgb, var(--red) 15%, transparent);}
.beige-highlight {color:var(--beige);background-color: color-mix(in srgb, var(--beige) 15%, transparent);}
.brown-highlight {color:var(--brown);background-color: color-mix(in srgb, var(--brown) 15%, transparent);}
.black-highlight {color:var(--black);background-color: color-mix(in srgb, var(--black) 15%, transparent);}

.text-xxs{font-size:var(--text-xxs);line-height: 1}
.text-xs{font-size:var(--text-xs);line-height: 1.3}
.text-s{font-size:var(--text-s);}
.text-m{font-size:var(--text-m)}
.text-l{font-size:var(--text-l)}
.text-xl{font-size:var(--text-xl)}
.text-xxl{font-size:var(--text-xxl);letter-spacing: -0.01em;}

.text-3xl, .text-h3{font-size:var(--text-3xl);letter-spacing: -0.02em;}
.text-4xl, .text-h2{font-size:var(--text-4xl);letter-spacing: -0.02em;}
.text-5xl, .text-h1{font-size:var(--text-5xl);letter-spacing: -0.02em;}
.text-6xl{font-size:var(--text-6xl);letter-spacing: -0.02em;}
.text-7xl{font-size:var(--text-7xl);letter-spacing: -0.04em;}
.text-8xl{font-size:var(--text-8xl);letter-spacing: -0.04em;}
.text-9xl{font-size:var(--text-9xl);letter-spacing: -0.04em;}

.block{display:block}
.grid{display:grid}
.flex{display:flex}
.flex-column{flex-direction:column}
.cover{width: 100%;height: 100%;object-fit: cover;display: block; aspect-ratio: 16 / 9;}
.object-cover{object-fit:cover}
.overlay{position: absolute;display: flex;top:0;left:0;width: 100%;height: 100%;}
.overlay::before {content: '';position: absolute;pointer-events: none;top: 0;left: 0;width: 100%;height: 100%;background: rgba(0, 0, 0, 0.2);inset: 0;mix-blend-mode: soft-light;}

.space-between{justify-content: space-between;}
.justify-center{justify-content:center}
.justify-around{justify-content:space-around}
.flex-grow{flex: 1;}
.items-start{align-items:flex-start}
.items-center{align-items:center}
.relative{position: relative}
.fade{opacity:0.7}
.blur{backdrop-filter: blur(4px)}
.fixed{position: fixed;}

hr {border-color: var(--line-color);margin-top: var(--size-m);margin-bottom: var(--size-m);padding: 0;display: block;}
svg{display:block;height: auto;}
picture{overflow: hidden;display: block}

.columns {display: grid;position: relative;z-index: 2;align-items: start;width: 100%;grid-template-columns: repeat(var(--count, auto-fill), minmax(1px, 1fr));}
.columns > * {width: 100%;position: relative;min-width: 0;}
.columns.count-1 { --count: 1; }
.columns.count-2 { --count: 2; }
.columns.count-3 { --count: 3; }
.columns.count-4 { --count: 4; }
.columns.count-5 { --count: 5; }
.columns.count-6 { --count: 6; }
.columns.count-1.locked { --count: 1; }
.columns.count-2.locked { --count: 2; }
.columns.count-3.locked { --count: 3; }
.columns.count-4.locked { --count: 4; }
.columns.count-5.locked { --count: 5; }
.columns.count-6.locked { --count: 6; }
@media (max-width: 1024px) {
  .columns.count-4,
  .columns.count-5,
  .columns.count-6 { --count: 3; }

}
@media (max-width: 768px) {
  .columns.count-3,
  .columns.count-4,
  .columns.count-5,
  .columns.count-6 { --count: 2; }
  .cover{object-fit: initial;height: auto}
}
@media (max-width: 590px) {
  .columns.count-2,
  .columns.count-3,
  .columns.count-4,
  .columns.count-5,
  .columns.count-6 { --count: 1; column-gap: 0}  
}
.span-2{grid-column:span 2;}
.span-3{grid-column:span 3;}
.span-4{grid-column:span 4;}
.span-5{grid-column:span 5;}
.span-6{grid-column:span 6;}
.order-1{order:1}
.order-2{order:2}
@media (min-width: 900px){
	.desktop-order-1{order:1}
	.desktop-order-2{order:2}
}

.aspect{overflow: hidden;background: var(--line-color);}
.aspect img{width: 100%;height: 100%;object-fit: cover;display: block;}
.aspect-1{aspect-ratio:1/1}
.aspect-3-4{aspect-ratio:3/4}
.aspect-16-9{aspect-ratio:16/9}

.fit-content{grid-auto-flow:column;grid-auto-columns:max-content;grid-template-columns:none;justify-content:start; width: fit-content;}

.padded-0 > * {padding:0;}
.padded-xxs > * {padding:var(--size-xxs);}
.padded-xs > *  {padding:var(--size-xs);}
.padded-s > * {padding:var(--size-s);}
.padded > *, .padded-m > * {padding:var(--size-m);}
.padded-l > * {padding:var(--size-l);}
.padded-xl > *  {padding:var(--size-xl);}
.padded-xxl > * {padding:var(--size-xxl);}

.rounded-0 > * {padding:0;}
.rounded-xxs > *, .round-xxs {border-radius:2px;}
.rounded-xs > *, .round-xs {border-radius:4px;}
.rounded-s > *, .round-s {border-radius:8px;}
.rounded > *, .rounded-m > *, .round-m, .round {border-radius:12px;}
.rounded-l > *, .round-l {border-radius:16px;overflow: hidden}
.rounded-xl > *, .round-xl {border-radius:24px;overflow: hidden}
.rounded-xxl > *, .round-xxl {border-radius:32px;}

.fill, .filled > * {background-color: var(--background-color)}
.fill-light, .filled-light > * {background-color: var(--background-color-light)}
.fill-dark, .filled-dark > * {background-color: var(--background-color-dark)}
.fill-fade, .filled-fade > * {background-color: var(--background-color-fade)}
.shadow, .columns.shadows > *{box-shadow:var(--shadow);}

.border, .borders > *{border:1px solid var(--line-color);}
.border-top, .borders-top > * {border-top:1px solid var(--line-color); border-right:0; border-bottom:0; border-left:0;}
.border-right, .borders-right > *{border-right:1px solid var(--line-color); border-top:0; border-bottom:0; border-left:0;}
.border-bottom, .borders-bottom > *{border-bottom:1px solid var(--line-color); border-top:0; border-right:0; border-left:0;}
.border-left, .borders-left > * {border-left:1px solid var(--line-color); border-top:0; border-right:0; border-bottom:0;}
.border-0{border:0px solid transparent}
.border-thin, .borders-thin > *  {border-width:var(--border-thin);}
.border-medium, .borders-medium > *{border-width:var(--border-medium);}
.border-thick, .borders-thick > *{border-width:var(--border-thick);}

.gap-0{gap:0;}.gap-xxs{gap:var(--size-xxs)}.gap-xs{gap:var(--size-xs)}.gap-s{gap:var(--size-s)}.gap, .gap-m{gap:var(--size-m)}.gap-l{gap:var(--size-l)}.gap-xl{gap:var(--size-xl)}.gap-xxl{gap:var(--size-xxl)}
.gap-row-0{gap:0;}.gap-row-xxs{gap:var(--size-xxs)}.gap-row-xs{gap:var(--size-xs)}.gap-row-s{gap:var(--size-s)}.gap-row, .gap-row-m{gap:var(--size-m)}.gap-row-l{gap:var(--size-l)}.gap-row-xl{gap:var(--size-xl)}.gap-row-xxl{gap:var(--size-xxl)}
.gap-column-0{gap:0;}.gap-column-xxs{gap:var(--size-xxs)}.gap-column-xs{gap:var(--size-xs)}.gap-column-s{gap:var(--size-s)}.gap-column, .gap-column-m{gap:var(--size-m)}.gap-column-l{gap:var(--size-l)}.gap-column-xl{gap:var(--size-xl)}.gap-column-xxl{gap:var(--size-xxl)}

.pad-0 {padding:0;}.pad-xxs{padding:var(--size-xxs);}.pad-xs {padding:var(--size-xs);}.pad-s  {padding:var(--size-s);}.pad, .pad-m{padding:var(--size-m);}.pad-l  {padding:var(--size-l);}.pad-xl {padding:var(--size-xl);}.pad-xxl{padding:var(--size-xxl);}
.pad-top-0 {padding-top:0;}.pad-top-xxs{padding-top:var(--size-xxs);}.pad-top-xs {padding-top:var(--size-xs);}.pad-top-s  {padding-top:var(--size-s);}.pad-top, .pad-top-m  {padding-top:var(--size-m);}.pad-top-l  {padding-top:var(--size-l);}.pad-top-xl {padding-top:var(--size-xl);}.pad-top-xxl{padding-top:var(--size-xxl);}
.pad-right-0 {padding-right:0;}.pad-right-xxs{padding-right:var(--size-xxs);}.pad-right-xs {padding-right:var(--size-xs);}.pad-right-s{padding-right:var(--size-s);}.pad-right, .pad-right-m  {padding-right:var(--size-m);}.pad-right-l  {padding-right:var(--size-l);}.pad-right-xl {padding-right:var(--size-xl);}.pad-right-xxl{padding-right:var(--size-xxl);}
.pad-bottom-0 {padding-bottom:0;}.pad-bottom-xxs{padding-bottom:var(--size-xxs);}.pad-bottom-xs {padding-bottom:var(--size-xs);}.pad-bottom-s  {padding-bottom:var(--size-s);}.pad-bottom, .pad-bottom-m  {padding-bottom:var(--size-m);}.pad-bottom-l  {padding-bottom:var(--size-l);}.pad-bottom-xl {padding-bottom:var(--size-xl);}.pad-bottom-xxl{padding-bottom:var(--size-xxl);}
.pad-left-0 {padding-left:0;}.pad-left-xxs{padding-left:var(--size-xxs);}.pad-left-xs {padding-left:var(--size-xs);}.pad-left-s  {padding-left:var(--size-s);}.pad-left, .pad-left-m  {padding-left:var(--size-m);}.pad-left-l  {padding-left:var(--size-l);}.pad-left-xl {padding-left:var(--size-xl);}.pad-left-xxl{padding-left:var(--size-xxl);}
.margin-0 {margin:0;}.margin-xxs{margin:var(--size-xxs);}.margin-xs {margin:var(--size-xs);}.margin-s  {margin:var(--size-s);}.margin, .margin-m  {margin:var(--size-m);}.margin-l  {margin:var(--size-l);}.margin-xl {margin:var(--size-xl);}.margin-xxl{margin:var(--size-xxl);}
.margin-top-0 {margin-top:0;}.margin-top-xxs{margin-top:var(--size-xxs);}.margin-top-xs {margin-top:var(--size-xs);}.margin-top-s  {margin-top:var(--size-s);}.margin-top, .margin-top-m  {margin-top:var(--size-m);}.margin-top-l  {margin-top:var(--size-l);}.margin-top-xl {margin-top:var(--size-xl);}.margin-top-xxl{margin-top:var(--size-xxl);}
.margin-right-0 {margin-right:0;}.margin-right-xxs{margin-right:var(--size-xxs);}.margin-right-xs {margin-right:var(--size-xs);}.margin-right-s  {margin-right:var(--size-s);}.margin-right, .margin-right-m  {margin-right:var(--size-m);}.margin-right-l  {margin-right:var(--size-l);}.margin-right-xl {margin-right:var(--size-xl);}.margin-right-xxl{margin-right:var(--size-xxl);}
.margin-bottom-0 {margin-bottom:0;}.margin-bottom-xxs{margin-bottom:var(--size-xxs);}.margin-bottom-xs {margin-bottom:var(--size-xs);}.margin-bottom-s  {margin-bottom:var(--size-s);}.margin-bottom, .margin-bottom-m  {margin-bottom:var(--size-m);}.margin-bottom-l  {margin-bottom:var(--size-l);}.margin-bottom-xl {margin-bottom:var(--size-xl);}.margin-bottom-xxl{margin-bottom:var(--size-xxl);}
.margin-left-0 {margin-left:0;}.margin-left-xxs{margin-left:var(--size-xxs);}.margin-left-xs {margin-left:var(--size-xs);}.margin-left-s  {margin-left:var(--size-s);}.margin-left, .margin-left-m  {margin-left:var(--size-m);}.margin-left-l  {margin-left:var(--size-l);}.margin-left-xl {margin-left:var(--size-xl);}.margin-left-xxl{margin-left:var(--size-xxl);}

.max-width {width: 100%;max-width: var(--max-width);}
.width-xxs { max-width: var(--width-xxs);}
.width-xs { max-width: var(--width-xs);}
.width-s { max-width: var(--width-s);}
.width-m { max-width: var(--width-m);}
.width-l { max-width: var(--width-l);}
.width-xl { max-width: var(--width-xl);}
.width-xxl { max-width: var(--width-xxl);}

.width-10{width: 10%}
.width-20{width: 20%}
.width-25{width: 25%}
.width-30{width: 30%}
.width-33{width: 33.3%}
.width-40{width: 40%}
.width-50{width: 50%}
.width-60{width: 60%}
.width-66{width: 66.6%}
.width-70{width: 70%}
.width-75{width: 75%}
.width-80{width: 80%}
.width-100{width: 100%}

.match-height > *{height:100%}

.align-top, .align-top > img  {align-self:start;align-items: flex-start;}
.align-right, .align-right > img {justify-self:end;	justify-content: end;}
.align-bottom, .align-bottom > img {align-self:end;align-items: flex-end;}
.align-left, .align-left > img {justify-self:start;}
.align-middle, .align-middle > img  {align-self:center;align-items: center;}
.align-center, .align-center > img {margin-left:auto!important;margin-right:auto!important;justify-content:center;left:0;right:0}
.align-bottom, .align-bottom > img{margin-top: auto;}

.center {text-align:center}
.right {text-align:right}
.left {text-align:left}

.text-light{font-weight: var(--text-light)}
.text-normal{font-weight: var(--text-normal)}
.text-medium{font-weight: var(--text-medium)}
.text-bold, bold, .text-strong{font-weight: var(--text-strong)}
.text-extra-bold, .text-extra-strong{font-weight: var(--text-extra-strong)}

.uppercase{text-transform: uppercase}

.layer-1 {z-index:1;position: relative}
.layer-2 {z-index:2;position: relative}
.layer-3 {z-index:3;position: relative}
.layer-top {z-index:999;}

.height-25 {display:grid;min-height:25vh}
.height-30 {display:grid;min-height:30vh}
.height-35 {display:grid;min-height:35vh}
.height-40 {display:grid;min-height:40vh}
.height-45 {display:grid;min-height:45vh}
.height-50 {display:grid;min-height:50vh}
.height-55 {display:grid;min-height:55vh}
.height-60 {display:grid;min-height:60vh}
.height-65 {display:grid;min-height:65vh}
.height-70 {display:grid;min-height:70vh}
.height-75 {display:grid;min-height:75vh}
.height-80 {display:grid;min-height:80vh}
.height-85 {display:grid;min-height:85vh}
.height-90 {display:grid;min-height:90vh}
.height-100 {display:grid;min-height:calc(100vh - var(--header-height))}

.opacity-1{opacity:0.1}
.opacity-2{opacity:0.2}
.opacity-3{opacity:0.3}
.opacity-4{opacity:0.4}
.opacity-5{opacity:0.5}
.opacity-6{opacity:0.6}
.opacity-7{opacity:0.7}
.opacity-8{opacity:0.8}
.opacity-9{opacity:0.9}
.opacity-10{opacity:1}
.opacity-85{opacity:0.85}

.shadow,
.shadows > * {box-shadow:var(--shadow);}

.background-color {background-color:var(--background-color)}
.background-color-light {background-color:var(--background-color-light)}
.background-color-dark {background-color:var(--background-color-dark)}
.background-color-fade {background-color:var(--background-color-fade)}

.button, button{line-height:1;overflow-wrap: break-word;white-space: normal;max-width: 100%;border:1px solid var(--line-color);background-color:var(--button-bg);color:var(--button-text);font-weight:var(--text-semibold);padding: var(--size-m)  var(--size-l);cursor:pointer;transition:all 0.2s ease-in-out;text-decoration:none;display:flex;height: auto;width:fit-content;column-gap: 8px;align-items: center;justify-content: center;font-size: var(--text-m)}
.button.size-xxs, button.size-xxs {font-size:var(--text-xxs);  padding:var(--size-s) var(--size-s);}
.button.size-xs, button.size-xs {font-size:var(--text-xs);  padding:var(--size-s) var(--size-m);}
.button.size-s, button.size-s {font-size:var(--text-s);padding:var(--size-s) var(--size-m);}
.button.size-l, button.size-l {font-size:var(--text-l);padding:var(--size-m) var(--size-l);}
.button.size-xl, button.size-xl {font-size:var(--text-xl);padding:var(--size-m) var(--size-l);}
.button.size-xxl, button.size-xxl {font-size:var(--text-xxl);  padding:var(--size-m) var(--size-l);}
.center .button, .center button{	margin-left: auto;margin-right: auto;}
.icon-button {display: flex;width:44px;height:44px;padding:0;line-height:1;justify-content: center;align-items: center;}
.icon-button.size-s{width:36px;height:36px;padding:var(--size-s)}
.icon-button.size-l{width:60px;height:60px;padding:var(--size-s)}
.button.outline, button.outline{background-color: transparent;border: 1px solid var(--line-color)}
.button.text, button.text{background: transparent;border:1px solid transparent;padding:0;color: var(--font-color);}

.button.icon-right,button.icon-right{flex-direction: row-reverse;}
.button.width-100, button.width-100{width:auto}
.button:hover, button:hover {background-color:var(--button-bg-hover);color:var(--button-text-hover);text-decoration: none;}
.button:active, button:active {background-color:var(--button-bg-active);color:var(--button-text-active);}
.button:focus, button:focus {outline:2px solid var(--line-color);}
button.disabled, .button.disabled, .button:disabled, button:disabled {background-color:var(--button-bg-disabled);color:var(--button-text-disabled);cursor:not-allowed;opacity:0.6;}

section, figure {margin: 0;padding: 0;display: block;position: relative}
figure {width: 100%;position: relative;}
img, video, iframe {max-width: 100%;height: auto;vertical-align: middle;font-style: italic;}

img{width:100%;max-width:100%;height:auto;display: block;}
img.thumbnail{max-width:var(--image-thumbnail)}
img.medium{max-width:var(--image-medium);}
img.large{max-width:var(--image-large);}

.background-video{position: relative; padding-bottom: 56.25%; height: auto; overflow: hidden; max-width: 100%;}
.background-video iframe, .background-video object, .background-video embed { position: absolute; top: 0; left: 0; width: 100%; height:auto;}
	
.video-background {position: relative;overflow: hidden;background-color: transparent;}
.video-background .ws-video,.video-background video{position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;z-index: -1;}

.ws-embed, 
.ws-video {width: 100%;height: auto;aspect-ratio: 16 / 9;border: 0;display: block;object-fit: cover;}
.ws-embed-google-maps {aspect-ratio: 21 / 9;min-height: 350px;}

.image-right, .image-left {display: flex;align-items: center;justify-content: space-between;}
.image-right .media-image, 
.image-left .media-image {width: 50%; height: 100%;position: relative;}
.image-right { flex-direction: row; }
.image-left { flex-direction: row-reverse; }

.bg-fadeout, .bg-fadeout-default {position: absolute;width: 100%;height: 200px;background: linear-gradient(to top, var(--background-color), transparent);pointer-events: none;z-index: -1;bottom: 0;}
.bg-fadeout-dark {position: absolute;width: 100%;height: 200px;background: linear-gradient(to top, var(--background-color-dark), transparent);pointer-events: none;z-index: -1;bottom: 0;}
.bg-fadeout-light {position: absolute;width: 100%;height: 200px;background: linear-gradient(to top, var(--background-color-light), transparent);pointer-events: none;z-index: -1;bottom: 0;}
.bg-fadeout-fade {position: absolute;width: 100%;height: 200px;background: linear-gradient(to top, var(--background-color-fade), transparent);pointer-events: none;z-index: -1;bottom: 0;}

.flex-group {display: flex;flex-wrap: wrap;}
.flex-group > *,
.flex-group li {width: fit-content;}
@media (max-width: 480px) {
  .flex-group {
	flex-direction: column;
	align-items: stretch;
  }
  .flex-group > *,
  .flex-group li,
  .flex-group li .button {
	width: 100% !important;
	justify-content: center;
  }
}

/* =========================================
 1. BASE STYLES (Global)
 ========================================= */

.glow {background-image: radial-gradient(50% 100% at 50% 100%, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0) 100%);border: 1px solid rgba(255, 255, 255, 0.1);}

.ribbon{text-align: center;font-size: var(--text-s);padding: var(--size-m);background-color: var(--background-color-fade)}

ul.checkmarks {list-style: none;padding-left: 1.2em;margin: 0;}
ul.checkmarks li::marker {content: "✓ ";color: var(--font-color);font-weight: bold;}

.mobile-only { display: none; }

.ws-icon {width: 1em;height: 1em;display: inline-flex;fill: currentColor;}
.ws-icon use {width: 100%;height: 100%;}
.wckd-icon-slot,
.wckd-icon{display:inline-flex;align-items:center;flex-shrink:0;height:auto;width:auto;}
.wckd-icon{transition: transform 0.2s ease;}
.wckd-icon svg{width: 24px;height: 24px;stroke-width:1.8px;stroke:var(--font-color);fill:none;background-repeat: no-repeat;background-position: center;transition: fill 0.2s ease, stroke 0.2s ease; }
a .wckd-icon svg,
button .wckd-icon svg{height:1em;width: 1em;margin-left: auto;margin-right: auto;}
a.button:not(.outline):not(.text) .wckd-icon svg,
button.button:not(.outline):not(.text) .wckd-icon svg{stroke: var(--button-text);}

.wckd-icon.size-xs svg{width:16px;height:16px}
.wckd-icon.size-s svg{width: 24px;height:24px}
.wckd-icon.size-m svg{width:32px;height:32px}
.wckd-icon.size-l svg{width:48px;height:48px}
.wckd-icon.size-xl svg{width:64px;height:64px}

.wckd-icon.rotate-north{transform: rotate(-90deg);-webkit-transform: rotate(-90deg)}
.wckd-icon.rotate-north-east{transform: rotate(-45deg);-webkit-transform: rotate(-45deg)}
.wckd-icon.rotate-east{transform: rotate(0deg)}
.wckd-icon.rotate-south{transform: rotate(90deg);-webkit-transform: rotate(90deg)}
.wckd-icon.rotate-south-east{transform: rotate(45deg);-webkit-transform: rotate(45deg)}
.wckd-icon.rotate-west{transform: rotate(-180deg);-webkit-transform: rotate(-180deg)}
.wckd-icon.rotate-south-west{transform: rotate(135deg);-webkit-transform: rotate(135deg)}
.wckd-icon.rotate-north-west{transform: rotate(225deg);-webkit-transform: rotate(225deg)}
.text > .wckd-icon svg,
.outline > .wckd-icon svg,
.outline:hover > .wckd-icon svg{stroke:var(--font-color)}
.text:hover > .wckd-icon svg{stroke:var(--font-color)}
.wckd-icon.solid svg{fill:var(--font-color)}

a.icon-label, button.icon-label{font-size: var(--text-xs)!important;display: grid!important;align-items: stretch!important;line-height: 1!important;justify-content: center !important;padding-bottom: 14px !important;background: none;border: 1px solid transparent;color: var(--font-color);stroke: var(--font-color);}
a.icon-label > .wckd-icon, button.icon-label > .wckd-icon{font-size: var(--size-m)!important;margin-bottom: var(--size-xs);display: grid!important;}
a.icon-label > .wckd-icon svg, button.icon-label > .wckd-icon svg{padding:4px}

input, textarea, select {border: 1px solid var(--line-color);box-sizing: border-box;font-size: 90%;padding: var(--size-m);width: 100%;outline: none;border-radius: var(--size-s);background: var(--background-color-fade);color: var(--font-color);}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {outline: 2px solid var(--line-color); outline-offset: 2px;}
label {display: inline-block;font-size: 90%;margin: var(--size-s) 6px var(--size-xs);color: var(--font-color);}
input[type="checkbox"], 
input[type="radio"] {width: auto;margin: 0;appearance: auto;-webkit-appearance: checkbox;cursor: pointer;}
input[type="checkbox"]:focus-visible,
input[type="radio"]:focus-visible {outline: 2px solid var(--line-color); outline-offset: 2px;}

.wckd-form > div{position: relative;margin-bottom: 12px;}
.wckd-form label {position: absolute;pointer-events: none;left: 0;top: 14px;padding: 0 var(--size-m);transition: all 0.3s ease-in-out;z-index: 10;margin: 0;line-height: 1;}
.wckd-form label:has(+ :focus),
.wckd-form label:has(+ :not(:placeholder-shown)),
.wckd-form label:has(+ select:not([value=""])) {top: -10px;left: 8px;font-size: 75%;padding: 2px 6px;background: var(--button-bg-active);color: var(--button-text-active);border-radius: var(--size-s);}
.wckd-form label:has(+ .ws-checkbox),
.wckd-form label:has(+ input[type="checkbox"]),
.wckd-form label:has(+ input[type="radio"]) {pointer-events: auto !important;font-size: var(--text-s);display: inline-block;width: auto;margin: 12px;background: transparent;}

.card{display:block}

.images-xxs .image, .image-xxs  { max-width: var(--image-xxs); width: 100%; }
.images-xs  .image, .image-xs  { max-width: var(--image-xs);  width: 100%; }
.images-s .image, .image-s { max-width: var(--image-s); width: 100%; }
.images-m .image, .image-m { max-width: var(--image-m); width: 100%; }
.images-l .image, .image-l { max-width: var(--image-l); width: 100%; }
.images-xl  .image, .image-xl  { max-width: var(--image-xl);  width: 100%; }
.images-full .image, .image-full { max-width: var(--image-xxl); width: 100%; }

.image-left { text-align: left; margin-right: auto; }
.image-center { text-align: center; margin-inline: auto; }
.image-right  { text-align: right;  margin-left: auto; }

.sticky{top:0;position:sticky;z-index:100}

.hide-overflow{overflow: hidden;}

@media (max-width: 768px) {
	.mobile-width-full{width:100%!important;}
	.desktop-only { display: none; }  
	.mobile-only{display: block}
	.overlay{position: relative;}
}

ws-youtube {background-color: #000;position: relative;display: block;contain: content;background-position: center center;background-size: cover;cursor: pointer;aspect-ratio: 16 / 9;width: 100%;}
	ws-youtube::before {content: attr(data-title);display: block;position: absolute;top: 0;background-image: linear-gradient(180deg, rgb(0 0 0 / 67%) 0%, rgb(0 0 0 / 54%) 14%, rgb(0 0 0 / 15%) 54%, rgb(0 0 0 / 5%) 72%, rgb(0 0 0 / 0%) 94%);height: 99px;width: 100%;font-family: "YouTube Noto", Roboto, Arial, Helvetica, sans-serif;color: hsl(0deg 0% 93.33%);text-shadow: 0 0 2px rgba(0,0,0,.5);font-size: 18px;padding: 25px 20px;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;box-sizing: border-box;transition: opacity 0.2s cubic-bezier(0, 0, 0.2, 1);z-index: 2;}
	ws-youtube:hover::before {color: white;}
	ws-youtube > iframe,
	ws-youtube > div {width: 100% !important;height: 100% !important;position: absolute;top: 0;left: 0;border: 0;}
	ws-youtube[params*="controls=0"] iframe {pointer-events: none;}
	ws-youtube > .lyt-playbtn {display: block;width: 100%;height: 100%;background: no-repeat center/68px 48px;background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 68 48"><path d="M66.52 7.74c-.78-2.93-2.49-5.41-5.42-6.19C55.79.13 34 0 34 0S12.21.13 6.9 1.55c-2.93.78-4.63 3.26-5.42 6.19C.06 13.05 0 24 0 24s.06 10.95 1.48 16.26c.78 2.93 2.49 5.41 5.42 6.19C12.21 47.87 34 48 34 48s21.79-.13 27.1-1.55c2.93-.78 4.64-3.26 5.42-6.19C67.94 34.95 68 24 68 24s-.06-10.95-1.48-16.26z" fill="red"/><path d="M45 24 27 14v20" fill="white"/></svg>');position: absolute;cursor: pointer;z-index: 3;filter: grayscale(100%);transition: filter .1s cubic-bezier(0, 0, 0.2, 1), opacity 0.2s;border: 0;background-color: transparent;}
	ws-youtube:hover > .lyt-playbtn,
	ws-youtube .lyt-playbtn:focus {filter: none;}
	ws-youtube.lyt-activated {cursor: unset;}
	ws-youtube.lyt-activated::before,
	ws-youtube.lyt-activated > .lyt-playbtn {opacity: 0;pointer-events: none;}
	.lyt-visually-hidden {clip: rect(0 0 0 0);clip-path: inset(50%);height: 1px;overflow: hidden;position: absolute;white-space: nowrap;width: 1px;}


.skip-link {
	position: absolute;
	left: -10000px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.skip-link:focus {
	position: fixed;
	left: 0.5rem;
	top: 0.5rem;
	width: auto;
	height: auto;
	padding: 0.5rem 1rem;
	overflow: visible;
	z-index: 10000;
	background: #ffffff;
	color: #111827;
	text-decoration: none;
}