/*
 * UTILITY ATTRIBUTE LEGEND
 *
 * Apply these attributes to HTML elements to opt into semantic variants.
 *
 * [u-align]:        center, center-medium, end, start
 * [u-aspect-ratio]: 1-1, 16-9, 2-3, 3-2, 4-5, 5-4, fill
 * [u-button]:       link, secondary
 * [u-card]:         minimal
 * [u-fieldset]:     three-column, two-column, wrap
 * [u-focus]:        inner
 * [u-form-control]: pill, radio, switch
 * [u-grid]:         auto-fill, auto-fit, container
 * [u-icon-button]:  large, large-arrow, large-arrow-only, large-close, large-close-only, large-secondary, medium-arrow, medium-close, medium-secondary
 * [u-label]:        large, visually-hidden
 * [u-layout]:       bleed-split-image-left, bleed-split-image-right, card-split-image-left, card-split-image-right, centered, full-square-image-left, full-square-image-right, hero-overlay, row-wrap, split-image-left, split-image-right, sticky
 * [u-modal]:        full, side
 * [u-nav]:          fixed, horizontal
 * [u-overlay]:      gradient
 * [u-rotate]:       -90, -90-alt, 180, 180-alt, 90, 90-alt
 * [u-slider]:       bleed, hidden
 * [u-spacer]:       large, main, margin, page-top, small
 * [u-tab]:          pill, vertical
 * [u-theme]:        dark, light
 */
:root {
/* --> TYPOGRAPHY <-- */

  /* font-family */
  --_typography---font--primary: "overprint", system-ui, sans-serif;
  --_typography---font--secondary: "inter", system-ui, Robot, sans-serif;
  /* font-weight */
  --_typography---font--weight-thin: 100;
  --_typography---font--weight-extralight: 200;
  --_typography---font--weight-light: 300;
  --_typography---font--weight-regular: 400;
  --_typography---font--weight-medium: 500;
  --_typography---font--weight-semibold: 600;
  --_typography---font--weight-bold: 700;
  --_typography---font--weight-extrabold: 800;
  --_typography---font--weight-black: 900;
  /* font-size min/max (unitless rem values) */
  --_typography---display-min: 4;
  --_typography---display-max: 7;
  --_typography---h1-min: 3;
  --_typography---h1-max: 5;
  --_typography---h2-min: 2.5;
  --_typography---h2-max: 4;
  --_typography---h3-min: 2.25;
  --_typography---h3-max: 3;
  --_typography---h4-min: 1.75;
  --_typography---h4-max: 2;
  --_typography---h5-min: 1.375;
  --_typography---h5-max: 1.5;
  --_typography---h6-min: 1;
  --_typography---h6-max: 1.125;
  --_typography---text-large-min: 1.25;
  --_typography---text-large-max: 1.5;
  --_typography---text-main-min: 1;
  --_typography---text-main-max: 1.125;
  --_typography---text-small-min: .875;
  --_typography---text-small-max: 1;
  /* font-size */
  --_typography---font-size--display: clamp(var(--_typography---display-min) * 1rem, ((var(--_typography---display-min) - ((var(--_typography---display-max) - var(--_typography---display-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---display-max) - var(--_typography---display-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---display-max) * 1rem);
  --_typography---font-size--h1: clamp(var(--_typography---h1-min) * 1rem, ((var(--_typography---h1-min) - ((var(--_typography---h1-max) - var(--_typography---h1-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---h1-max) - var(--_typography---h1-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---h1-max) * 1rem);
  --_typography---font-size--h2: clamp(var(--_typography---h2-min) * 1rem, ((var(--_typography---h2-min) - ((var(--_typography---h2-max) - var(--_typography---h2-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---h2-max) - var(--_typography---h2-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---h2-max) * 1rem);
  --_typography---font-size--h3: clamp(var(--_typography---h3-min) * 1rem, ((var(--_typography---h3-min) - ((var(--_typography---h3-max) - var(--_typography---h3-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---h3-max) - var(--_typography---h3-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---h3-max) * 1rem);
  --_typography---font-size--h4: clamp(var(--_typography---h4-min) * 1rem, ((var(--_typography---h4-min) - ((var(--_typography---h4-max) - var(--_typography---h4-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---h4-max) - var(--_typography---h4-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---h4-max) * 1rem);
  --_typography---font-size--h5: clamp(var(--_typography---h5-min) * 1rem, ((var(--_typography---h5-min) - ((var(--_typography---h5-max) - var(--_typography---h5-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---h5-max) - var(--_typography---h5-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---h5-max) * 1rem);
  --_typography---font-size--h6: clamp(var(--_typography---h6-min) * 1rem, ((var(--_typography---h6-min) - ((var(--_typography---h6-max) - var(--_typography---h6-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---h6-max) - var(--_typography---h6-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---h6-max) * 1rem);
  --_typography---font-size--text-large: clamp(var(--_typography---text-large-min) * 1rem, ((var(--_typography---text-large-min) - ((var(--_typography---text-large-max) - var(--_typography---text-large-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---text-large-max) - var(--_typography---text-large-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---text-large-max) * 1rem);
  --_typography---font-size--text-main: clamp(var(--_typography---text-main-min) * 1rem, ((var(--_typography---text-main-min) - ((var(--_typography---text-main-max) - var(--_typography---text-main-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---text-main-max) - var(--_typography---text-main-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---text-main-max) * 1rem);
  --_typography---font-size--text-small: clamp(var(--_typography---text-small-min) * 1rem, ((var(--_typography---text-small-min) - ((var(--_typography---text-small-max) - var(--_typography---text-small-min)) / (var(--site--viewport-max) - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((var(--_typography---text-small-max) - var(--_typography---text-small-min)) / (var(--site--viewport-max) - var(--site--viewport-min))) * 100vw), var(--_typography---text-small-max) * 1rem);
  /* line-height */
  --_typography---line-height--small: 1;
  --_typography---line-height--medium: 1.1;
  --_typography---line-height--large: 1.3;
  --_typography---line-height--huge: 1.5;
  /* text-transform */
  --_typography---text-transform--none: none;
  --_typography---text-transform--uppercase: uppercase;
  --_typography---text-transform--capitalize: capitalize;
  --_typography---text-transform--lowercase: lowercase;
  /* max-width (per-element reading-line length, in ch) */
  --max-width--h1: 20ch;
  --max-width--h2: 24ch;
  --max-width--h3: 30ch;
  --max-width--h4: 36ch;
  --max-width--h5: 40ch;
  --max-width--h6: 50ch;
  --max-width--p: 60ch;

/* --> SPACING <-- */

  /* spacing scale */
  --_spacing---space--0-5: clamp(.375 * 1rem, ((.375 - ((.5 - .375) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((.5 - .375) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), .5 * 1rem);
  --_spacing---space--0-75: clamp(.625 * 1rem, ((.625 - ((.75 - .625) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((.75 - .625) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), .75 * 1rem);
  --_spacing---space--1: clamp(.875 * 1rem, ((.875 - ((1 - .875) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((1 - .875) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 1 * 1rem);
  --_spacing---space--1-5: clamp(1.25 * 1rem, ((1.25 - ((1.5 - 1.25) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((1.5 - 1.25) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 1.5 * 1rem);
  --_spacing---space--2: clamp(1.75 * 1rem, ((1.75 - ((2 - 1.75) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((2 - 1.75) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 2 * 1rem);
  --_spacing---space--2-5: clamp(2 * 1rem, ((2 - ((2.5 - 2) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((2.5 - 2) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 2.5 * 1rem);
  --_spacing---space--3: clamp(2.25 * 1rem, ((2.25 - ((3 - 2.25) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((3 - 2.25) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 3 * 1rem);
  --_spacing---space--4: clamp(2.5 * 1rem, ((2.5 - ((4 - 2.5) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((4 - 2.5) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 4 * 1rem);
  /* section-space */
  --_spacing---section-space--none: 0px;
  --_spacing---section-space--small: clamp(3 * 1rem, ((3 - ((5 - 3) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((5 - 3) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 5 * 1rem);
  --_spacing---section-space--main: clamp(4 * 1rem, ((4 - ((7 - 4) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((7 - 4) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 7 * 1rem);
  --_spacing---section-space--large: clamp(5.5 * 1rem, ((5.5 - ((10 - 5.5) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((10 - 5.5) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 10 * 1rem);
  --_spacing---section-space--page-top: clamp(10 * 1rem, ((10 - ((14 - 10) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((14 - 10) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 14 * 1rem);

/* --> SIZING & LAYOUT <-- */

  /* viewport */
  --site--viewport-min: 20;
  --site--viewport-max: 90;
  /* margin & gutter */
  --site--margin: clamp(1 * 1rem, ((1 - ((3 - 1) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((3 - 1) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 3 * 1rem);
  --site--gutter: clamp(1 * 1rem, ((1 - ((2 - 1) / (var(--site--viewport-max)  - var(--site--viewport-min)) * var(--site--viewport-min))) * 1rem + ((2 - 1) / (var(--site--viewport-max)  - var(--site--viewport-min))) * 100vw), 2 * 1rem);
  /* columns */
  --site--column-count: 12;
  --site--column-width: calc((min(var(--max-width--main), 100% - var(--site--margin) * 2)  - (var(--site--gutter) * (var(--site--column-count)  - 1))) / var(--site--column-count));
  /* max-width */
  --max-width--small: 50rem;
  --max-width--main: calc(var(--site--viewport-max) * 1rem);
  --max-width--full: 100%;
  /* gap & column-count (consumed by grid utilities) */
  --_gap---size: var(--site--gutter);
  --_column-count---value: 1;
  /* border-width */
  --border-width--main: .15rem;

/* --> COLOR SWATCHES <-- */

  --swatch--transparent: transparent;
  --swatch--primary: #d71503;
  --swatch--white: #f5f5f5;
  --swatch--black: #101010;

/* --> THEME ROLES <-- */
/* Light is the default theme and lives here on :root. The light/dark
   selectors lower in the file only swap background + text; everything else
   re-derives from background / text / primary. */
  --_theme---primary: var(--swatch--primary);
  --_theme---background: var(--swatch--white);
  --_theme---text: var(--swatch--black);
  --_theme---background-2: color-mix(in srgb, var(--_theme---background), var(--_theme---text) 8%);
  --_theme---background-skeleton: color-mix(in lab, currentcolor 10%, transparent);
  --_theme---heading-accent: var(--_theme---primary);
  --_theme---border: color-mix(in srgb, var(--_theme---text) 20%, transparent);
  --_theme---selection--background: var(--_theme---primary);
  --_theme---selection--text: var(--_theme---background);
  --_theme---nav--background: var(--_theme---background-2);
  --_theme---button-primary--background: var(--_theme---primary);
  --_theme---button-primary--text: var(--_theme---background);
  --_theme---button-primary--border: var(--_theme---primary);
  --_theme---button-primary--background-hover: color-mix(in srgb, var(--_theme---primary), var(--_theme---text) 25%);
  --_theme---button-primary--text-hover: var(--_theme---background);
  --_theme---button-primary--border-hover: var(--_theme---button-primary--background-hover);
  --_theme---button-secondary--background: var(--_theme---text);
  --_theme---button-secondary--text: var(--_theme---background);
  --_theme---button-secondary--border: var(--_theme---text);
  --_theme---button-secondary--background-hover: color-mix(in srgb, var(--_theme---text), var(--_theme---background) 25%);
  --_theme---button-secondary--text-hover: var(--_theme---background);
  --_theme---button-secondary--border-hover: var(--_theme---button-secondary--background-hover);
  --_theme---text-link--text: var(--_theme---text);
  --_theme---text-link--border: var(--_theme---border);
  --_theme---text-link--text-hover: var(--_theme---text-link--text);
  --_theme---text-link--border-hover: var(--_theme---primary);
  /* button sizing */
  --button-size--medium: 3rem;
  --button-size--large: 5rem;

/* --> NAVIGATION <-- */

  /* size */
  --nav--height: 4rem;
  --nav--banner-height: 2.4rem;
  --nav--height-total: calc(var(--nav--height)  + var(--nav--spacing-outer-vertical));
  /* radius */
  --nav--radius: var(--radius--small);
  /* max-width */
  --nav--max-width-outer: var(--max-width--main);
  --nav--max-width-inner: var(--max-width--main);
  /* spacing */
  --nav--spacing-outer-horizontal: var(--site--margin);
  --nav--spacing-outer-vertical: var(--site--margin);
  --nav--spacing-inner-horizontal: var(--_spacing---space--2);
  /* hamburger */
  --nav--hamburger-thickness: var(--border-width--main);
  --nav--hamburger-gap: var(--_spacing---space--0-75);

/* --> RADIUS <-- */

  --radius--small: .5rem;
  --radius--main: 1rem;
  --radius--round: 100vw;

/* --> FOCUS <-- */

  --focus--width: .125rem;
  --focus--offset-inner: calc(var(--focus--width) * -1);
  --focus--offset-outer: .1875rem;

/* --> RESPONSIVE <-- */

  /* responsive flags */
  --_responsive---large: 1;
  --_responsive---medium: 0;
  --_responsive---small: 0;
  --_responsive---xsmall: 0;
  /* state */
  --_state---false: 0;
  --_state---true: 1;
  /* trigger */
  --_trigger---on: 1;
  --_trigger---off: 0;
}

/* --> RESET / BASE <-- */

body {
  background-color: var(--_theme---background);
  font-family: var(--_typography---font--primary);
  color: var(--_theme---text);
  font-size: var(--_typography---font-size--text-main);
  line-height: var(--_typography---line-height--huge);
  font-weight: var(--_typography---font--weight-regular);
  letter-spacing: 0em;
  text-transform: none;
}
a {
  width: fit-content;
  height: fit-content;
  color: inherit;
  outline-width: var(--focus--width);
  outline-offset: var(--focus--offset-outer);
  text-transform: uppercase;
  text-decoration: none;
  background-color: inherit;
}
ul, ol {
  margin-bottom: 0;
  padding-left: 0;
  list-style: "";
}
li { display: block; }
img {
  object-fit: cover;
  width: 100%;
  max-width: 100%;
}
strong { font-weight: bold; }
blockquote {
  border-style: none;
  padding: 0;
}
figure { margin-bottom: 0; }

/* --> TYPOGRAPHY (headings, paragraphs, links) <-- */

h1, .h1 {
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--h1);
  line-height: var(--_typography---line-height--small);
  font-weight: var(--_typography---font--weight-medium);
  letter-spacing: .03em;
  text-transform: var(--_typography---text-transform--uppercase);
  text-wrap: balance;
  max-width: var(--max-width--h1);
  margin-top: 0;
  margin-bottom: 2rem;
  display: flow-root;
}

h2, .h2 {
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--h2);
  line-height: var(--_typography---line-height--small);
  font-weight: var(--_typography---font--weight-medium);
  letter-spacing: .03em;
  text-transform: var(--_typography---text-transform--uppercase);
  text-wrap: balance;
  max-width: var(--max-width--h2);
  margin-top: 0;
  margin-bottom: var(--_spacing---space--1);
  display: flow-root;
}

h3, .h3 {
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--h3);
  line-height: var(--_typography---line-height--medium);
  font-weight: var(--_typography---font--weight-medium);
  letter-spacing: .03em;
  text-transform: var(--_typography---text-transform--uppercase);
  text-wrap: balance;
  max-width: var(--max-width--h3);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

h4, .h4 {
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--h4);
  line-height: var(--_typography---line-height--medium);
  font-weight: var(--_typography---font--weight-medium);
  letter-spacing: 0em;
  text-transform: var(--_typography---text-transform--uppercase);
  text-wrap: balance;
  max-width: var(--max-width--h4);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

h5, .h5 {
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--h5);
  line-height: var(--_typography---line-height--medium);
  font-weight: var(--_typography---font--weight-medium);
  letter-spacing: 0em;
  text-transform: var(--_typography---text-transform--uppercase);
  text-wrap: balance;
  max-width: var(--max-width--h5);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

h6, .h6 {
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--h6);
  line-height: var(--_typography---line-height--medium);
  font-weight: var(--_typography---font--weight-medium);
  letter-spacing: 0em;
  text-transform: var(--_typography---text-transform--none);
  text-wrap: balance;
  max-width: var(--max-width--h6);
  margin-top: 0;
  margin-bottom: 0;
  display: flow-root;
}

p {
  font-family: var(--_typography---font--secondary);
  text-wrap: pretty;
  max-width: var(--max-width--p);
  display: flow-root;
  margin-top: 0;
  margin-bottom: 0;
}
.p-large {
  font-size: var(--_typography---font-size--text-large);
}
/* overprint-trim */ 
:is([class*="overprint-trim"], h1, h2, h3, h4, h5, h6, a) {
	display: flow-root;
}
:is([class*="overprint-trim"], h1, h2, h3, h4, h5, h6, a)::before {
	content: "";
	display: table;
	margin-bottom: calc(-0.5lh + 0.47em);
}
:is([class*="overprint-trim"], h1, h2, h3, h4, h5, h6, a)::after {
	content: "";
	display: table;
	margin-bottom: calc(-0.5lh + 0.27em);
}
/* inter-trim */
:is([class*="inter-trim"], p, blockquote) {
	display: flow-root;
}
:is([class*="inter-trim"], p, blockquote)::before {
	content: "";
	display: table;
	margin-bottom: calc(-0.5lh + 0.37em);
}
:is([class*="inter-trim"], p, blockquote)::after {
	content: "";
	display: table;
	margin-bottom: calc(-0.5lh + 0.36em);
}

/* --> UTILITY CLASSES <-- */

/* layout */

.u-fill {
  width: 100% !important;
  margin: 0;
}
.u-hide {
  display: none;
}.u-layout-wrapper[u-layout="card-split-image-right"], .u-layout-wrapper[u-layout="card-split-image-left"] {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
  border-radius: var(--radius--main);
  background-color: var(--_theme---background-2);
  position: relative;
  overflow: clip;
}.u-layout-wrapper[u-layout="bleed-split-image-right"], .u-layout-wrapper[u-layout="bleed-split-image-left"] {
  grid-column-gap: var(--site--gutter);
  flex-flow: row;
  justify-content: center;
  align-items: stretch;
  display: flex;
}.u-layout-wrapper[u-layout="full-square-image-right"], .u-layout-wrapper[u-layout="full-square-image-left"] {
  grid-column-gap: 0rem;
  grid-row-gap: 0rem;
}.u-layout-wrapper[u-layout="hero-overlay"] {
  border-radius: var(--radius--main);
  background-color: var(--_theme---background);
  color: var(--_theme---text);
  overflow: clip;
}

.u-layout {
  grid-column-gap: inherit;
  grid-row-gap: inherit;
  flex-flow: column;
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  width: 100%;
  display: flex;
}.u-layout[u-layout="card-split-image-right"], .u-layout[u-layout="card-split-image-left"] {
  display: var(--flex-medium, grid);
  flex-flow: column;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}.u-layout[u-layout="bleed-split-image-right"], .u-layout[u-layout="bleed-split-image-left"] {
  grid-template-columns: [full-start] minmax(0, 1fr) [content-start] repeat(var(--site--column-count), minmax(0, var(--site--column-width))) [content-end] minmax(0, 1fr) [full-end];
  width: calc(100vw * var(--_responsive---large)  + 100% * max(var(--_responsive---medium), var(--_responsive---small), var(--_responsive---xsmall)));
  display: var(--flex-medium, grid);
  flex-flow: column;
  flex: none;
  justify-content: flex-start;
  align-items: center;
}.u-layout[u-layout="split-image-right"], .u-layout[u-layout="split-image-left"] {
  display: var(--flex-medium, grid);
  flex-flow: column;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}.u-layout[u-layout="hero-overlay"] {
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  min-height: 26rem;
  display: flex;
  position: relative;
}.u-layout[u-layout="full-square-image-right"], .u-layout[u-layout="full-square-image-left"] {
  display: var(--flex-medium, grid);
  flex-flow: column;
  flex: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: 100vw;
}.u-layout[u-layout="sticky"] {
  display: var(--flex-medium, grid);
  flex-flow: column;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}.u-layout[u-layout="row-wrap"] {
  flex-flow: wrap;
  justify-content: space-between;
  align-items: flex-end;
}.u-layout-column-1[u-layout="card-split-image-right"], .u-layout-column-1[u-layout="card-split-image-left"] {
  padding: var(--_spacing---space--2-5);
}.u-layout-column-1[u-layout="bleed-split-image-right"] {
  padding-top: calc(var(--_spacing---space--2-5) * var(--_responsive---large));
  padding-bottom: calc(var(--_spacing---space--2-5) * var(--_responsive---large));
  grid-column: 2 / span 5;
}.u-layout-column-1[u-layout="bleed-split-image-left"] {
  padding-top: calc(var(--_spacing---space--2-5) * var(--_responsive---large));
  padding-bottom: calc(var(--_spacing---space--2-5) * var(--_responsive---large));
  grid-column: 9 / span 5;
}.u-layout-column-1[u-layout="centered"] {
  text-align: center;
  justify-content: center;
  align-items: center;
}.u-layout-column-1[u-layout="hero-overlay"] {
  z-index: 1;
  padding-top: var(--_spacing---section-space--main);
  padding-right: var(--_spacing---space--2);
  padding-bottom: var(--_spacing---section-space--main);
  padding-left: var(--_spacing---space--2);
  text-align: center;
  justify-content: center;
  align-items: center;
  position: relative;
}.u-layout-column-1[u-layout="full-square-image-right"], .u-layout-column-1[u-layout="full-square-image-left"] {
  max-width: var(--max-width--small);
  padding-top: var(--_spacing---section-space--main);
  padding-bottom: var(--_spacing---section-space--main);
  width: calc(100% - var(--site--margin) * 2);
  margin-left: auto;
  margin-right: auto;
}.u-layout-column-1[u-layout="sticky"] {
  top: calc(12rem * var(--_responsive---large)  + 0rem * var(--_responsive---medium));
  position: var(--relative-medium, sticky);
  align-self: start;
}.u-layout-column-1[u-layout="row-wrap"] {
  width: auto;
}.u-layout-column-2[u-layout="split-image-left"] {
  aspect-ratio: 16 / 9;
  grid-row-start: 1;
  grid-column-start: 1;
  overflow: clip;
}.u-layout-column-2[u-layout="card-split-image-left"] {
  aspect-ratio: 16 / 9;
  border-radius: 0;
  grid-row-start: 1;
  grid-column-start: 1;
  overflow: clip;
}.u-grid-wrapper[u-grid="container"] {
  container-type: inline-size;
}

.u-grid {
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: repeat(var(--_column-count---value), minmax(0, 1fr));
  grid-column-gap: inherit;
  grid-row-gap: inherit;
  flex-flow: column;
  width: 100%;
  display: grid;
}.u-grid[u-grid="auto-fit"] {
  grid-template-columns: repeat(auto-fit, minmax(min(max(calc(var(--number, 12) * 1rem), (100% - ((var(--_column-count---value)  - 1) * var(--_gap---size))) / var(--_column-count---value)), 100%), 1fr));
}.u-grid[u-grid="auto-fill"] {
  grid-template-columns: repeat(auto-fill, minmax(min(max(calc(var(--number, 12) * 1rem), (100% - ((var(--_column-count---value)  - 1) * var(--_gap---size))) / var(--_column-count---value)), 100%), 1fr));
}.u-content-wrapper[u-align="center"] {
  text-align: center;
  justify-content: center;
  align-items: center;
}.u-content-wrapper[u-align="end"] {
  text-align: end;
  justify-content: end;
  align-items: end;
}.u-content-wrapper[u-align="center-medium"] {
  text-align: var(--center-medium, start);
  align-items: var(--center-medium, start);
  justify-content: var(--center-medium, start);
}.u-content-wrapper[u-align="start"] {
  text-align: start;
  justify-content: start;
  align-items: start;
}

/* media */
.u-video {
  aspect-ratio: 2;
  background-color: var(--_theme---background-skeleton);
  width: 100%;
  height: 100%;
  padding: 0;
}.u-video[u-aspect-ratio="fill"] {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
  aspect-ratio: unset !important;
}.u-video[u-aspect-ratio="16-9"] {
  aspect-ratio: 16 / 9;
}.u-video[u-aspect-ratio="3-2"] {
  aspect-ratio: 3 / 2;
}.u-video[u-aspect-ratio="1-1"] {
  aspect-ratio: 1;
}.u-video[u-aspect-ratio="5-4"] {
  aspect-ratio: 5 / 4;
}.u-video[u-aspect-ratio="4-5"] {
  aspect-ratio: 4 / 5;
}.u-video[u-aspect-ratio="2-3"] {
  aspect-ratio: 2 / 3;
}

.u-image-wrapper {
  aspect-ratio: 2;
  background-color: var(--_theme---background-skeleton);
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: relative;
  overflow: clip;
}.u-image-wrapper[u-aspect-ratio="fill"] {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
  aspect-ratio: unset !important;
}.u-image-wrapper[u-aspect-ratio="1-1"] {
  aspect-ratio: 1;
}.u-image-wrapper[u-aspect-ratio="16-9"] {
  aspect-ratio: 16 / 9;
}.u-image-wrapper[u-aspect-ratio="2-3"] {
  aspect-ratio: 2 / 3;
}.u-image-wrapper[u-aspect-ratio="3-2"] {
  aspect-ratio: 3 / 2;
}.u-image-wrapper[u-aspect-ratio="4-5"] {
  aspect-ratio: 4 / 5;
}.u-image-wrapper[u-aspect-ratio="5-4"] {
  aspect-ratio: 5 / 4;
}

.u-iframe-wrapper {
  aspect-ratio: 16 / 9;
  position: relative;
}

.u-iframe {
  border: none;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0%;
}.u-overlay[u-overlay="gradient"] {
  background-image: linear-gradient(#0000, #0000009e 84%);
  background-color: color-mix(in srgb, black calc(var(--number) / 100 * 60%), transparent);
}

/* sections, spacers & containers */

.u-section {
  padding-top: var(--_spacing---section-space--small);
  padding-bottom: var(--_spacing---section-space--small);
  background-color: var(--_theme---background);
  color: var(--_theme---text);
  flex-flow: column;
  justify-content: center;
  align-items: stretch;
  display: flex;
  position: relative;
}.u-section-spacer[u-spacer="small"] {
  height: var(--_spacing---section-space--small);
}.u-section-spacer[u-spacer="main"] {
  height: var(--_spacing---section-space--main);
}.u-section-spacer[u-spacer="large"] {
  height: var(--_spacing---section-space--large);
}.u-section-spacer[u-spacer="margin"] {
  height: var(--site--margin);
}.u-section-spacer[u-spacer="page-top"] {
  height: var(--_spacing---section-space--page-top);
}

.u-container {
  max-width: var(--max-width--main);
  grid-column-gap: var(--_spacing---space--4);
  grid-row-gap: var(--_spacing---space--4);
  width: calc(100% - var(--site--margin) * 2);
  flex-flow: column;
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
  container-type: inline-size;
}

.u-container.heading {
  align-items: center;
  border-bottom: 0.25rem solid var(--_theme---text);
  padding-bottom: var(--_spacing---space--2);
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
/* svg, path, embeds */
.u-svg {
  width: 100%;
  height: 100%;
  display: block;
  overflow: visible !important;
}.u-svg[u-rotate="180"] {
  transform: rotate(-180deg);
}.u-svg[u-rotate="-90"] {
  transform: rotate(-90deg);
}.u-svg[u-rotate="90"] {
  transform: rotate(90deg);
}.u-svg[u-rotate="180-alt"] {
  transform: rotate(-180deg);
}.u-svg[u-rotate="-90-alt"] {
  transform: rotate(-90deg);
}.u-svg[u-rotate="90-alt"] {
  transform: rotate(90deg);
}

/* --> THEME ROLES <-- */
/* Light theme lives on :root (top of file). These selectors flip a scope to
   light or dark: only background + text change here, everything else
   re-derives from background / text / primary. */
[u-theme="light"], [u-theme="dark"],
.u-theme-light, .u-theme-dark {
  --_theme---background-2: color-mix(in srgb, var(--_theme---background), var(--_theme---text) 8%);
  --_theme---background-skeleton: color-mix(in lab, currentcolor 10%, transparent);
  --_theme---heading-accent: var(--_theme---primary);
  --_theme---border: color-mix(in srgb, var(--_theme---text) 20%, transparent);
  --_theme---selection--background: var(--_theme---primary);
  --_theme---selection--text: var(--_theme---background);
  --_theme---nav--background: var(--_theme---background-2);
  /* button-primary: brand fill, label in surface color */
  --_theme---button-primary--background: var(--_theme---primary);
  --_theme---button-primary--text: var(--_theme---background);
  --_theme---button-primary--border: var(--_theme---primary);
  --_theme---button-primary--background-hover: color-mix(in srgb, var(--_theme---primary), var(--_theme---text) 25%);
  --_theme---button-primary--text-hover: var(--_theme---background);
  --_theme---button-primary--border-hover: var(--_theme---button-primary--background-hover);
  /* button-secondary: text-color fill, label in surface color */
  --_theme---button-secondary--background: var(--_theme---text);
  --_theme---button-secondary--text: var(--_theme---background);
  --_theme---button-secondary--border: var(--_theme---text);
  --_theme---button-secondary--background-hover: color-mix(in srgb, var(--_theme---text), var(--_theme---background) 25%);
  --_theme---button-secondary--text-hover: var(--_theme---background);
  --_theme---button-secondary--border-hover: var(--_theme---button-secondary--background-hover);
  /* text-link */
  --_theme---text-link--text: var(--_theme---text);
  --_theme---text-link--border: var(--_theme---border);
  --_theme---text-link--text-hover: var(--_theme---text-link--text);
  --_theme---text-link--border-hover: var(--_theme---primary);
}

[u-theme="light"], .u-theme-light {
  --_theme---background: var(--swatch--white);
  --_theme---text: var(--swatch--black);
}

[u-theme="dark"], .u-theme-dark {
  --_theme---background: var(--swatch--black);
  --_theme---text: var(--swatch--white);
}

[u-theme], .u-theme-light, .u-theme-dark {
  background-color: var(--_theme---background);
  color: var(--_theme---text);
}

/* --> BUTTONS (anchor) <-- */
.btn-primary, .btn-secondary {
  padding: var(--_spacing---space--1) var(--_spacing---space--2-5);
  border: var(--border-width--main) solid transparent;
  color: var(--_theme---background);
  font-size: 2rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: all .2s ease;
}
.btn-primary { background-color: var(--_theme---primary); }
.btn-secondary { 
  background-color: var(--_theme---text);
  padding: var(--_spacing---space--0-5) var(--_spacing---space--0-75);
}
.btn-primary:hover, .btn-secondary:hover { 
  color: var(--swatch--white);
  background-color: var(--swatch--primary);
}

/* rich text */
.u-rich-text {
  text-wrap: pretty;
  align-items: inherit;
  justify-content: inherit;
}

.u-rich-text h1, .u-rich-text h2, .u-rich-text h3, .u-rich-text h4, .u-rich-text h5, .u-rich-text h6, .u-rich-text p {
  margin-top: var(--_spacing---space--1-5);
  margin-bottom: var(--_spacing---space--1-5);
}

.u-rich-text blockquote {
  margin-top: var(--_spacing---space--2-5);
  margin-bottom: var(--_spacing---space--2-5);
  font-family: var(--_typography---font--primary);
  font-size: var(--_typography---font-size--text-large);
  line-height: var(--_typography---line-height--huge);
  font-weight: var(--_typography---font--weight-regular);
  letter-spacing: 0em;
  text-transform: var(--_typography---text-transform--none);
  text-wrap: pretty;
  border-left: .2rem solid;
  padding: .5rem 1rem;
}

.u-rich-text ol {
  margin-top: var(--_spacing---space--1-5);
  margin-bottom: var(--_spacing---space--1-5);
  grid-column-gap: .9em;
  grid-row-gap: .9em;
  align-items: inherit;
  flex-flow: column;
  padding-left: 1.2em;
  list-style-type: decimal;
  display: flex;
  overflow: visible;
}

.u-rich-text li {
  display: list-item;
}

.u-rich-text ul {
  margin-top: var(--_spacing---space--1-5);
  margin-bottom: var(--_spacing---space--1-5);
  grid-column-gap: .9em;
  grid-row-gap: .9em;
  align-items: inherit;
  flex-flow: column;
  padding-left: 1.2em;
  list-style-type: disc;
  display: flex;
  overflow: visible;
}

.u-rich-text figure {
  margin-top: var(--_spacing---space--3);
  margin-bottom: var(--_spacing---space--3);
}

/* typography */
.u-line-height-small { line-height: var(--_typography---line-height--small); }

/* accessibility */
.u-sr-only {
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  border-width: 0;
  width: 1px;
  height: 1px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  position: absolute;
  inset: 0% 0% auto;
  overflow: hidden;
}

/* heading accent */
.u-heading-accent strong {
  color: var(--_theme---heading-accent);
  font-weight: inherit;
}

/* flex & grid */
.u-flex-horizontal-wrap {
  align-content: center;
  align-items: center;
  justify-content: inherit;
  flex-flow: wrap;
  display: flex;
}

/* fixed-column grids — collapse to a single column below 40em */
.u-grid-2 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  display: grid;
}

.u-grid-3 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  grid-template-rows: auto;
  grid-auto-columns: minmax(0, 1fr);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

@media screen and (max-width: 40em) {
  .u-grid-2, .u-grid-3 {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* alignment */
.u-align-self-inherit { align-self: inherit; }
.u-align-items-center { align-items: center; }
.u-justify-content-start { justify-content: flex-start; }
.u-justify-content-between { justify-content: space-between; }

/* color & background */
.u-color-inherit { color: inherit; }

/* gap */
.u-gap-0 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  --_gap---size: 0rem;
}

.u-gap-2 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  --_gap---size: var(--_spacing---space--0-75);
}

.u-gap-4 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  --_gap---size: var(--_spacing---space--1-5);
}

.u-gap-6 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  --_gap---size: var(--_spacing---space--2-5);
}

.u-gap-8 {
  grid-column-gap: var(--_gap---size);
  grid-row-gap: var(--_gap---size);
  --_gap---size: var(--_spacing---space--4);
}

/* margin */
.u-margin-top-auto { margin-top: auto; }
.u-margin-bottom-7 { margin-bottom: var(--_spacing---space--3); }

/* font weight */
.u-weight-regular {
  font-family: var(--_typography---font--primary);
  font-weight: var(--_typography---font--weight-regular);
}

/* sizing & span */
.u-min-height-screen { min-height: 100svh; }

/* alignment text & flex */
.u-alignment-inherit {
  text-align: inherit;
  justify-content: inherit;
  align-items: inherit;
}

.u-alignment-center {
  text-align: center !important;
  justify-content: center !important;
  align-items: center !important;
}

/* text transform & wrap */
.u-text-transform-none { text-transform: none; }

/* max-width */
.u-max-width-none { max-width: none; }

/* radius */
.u-radius-none { border-radius: 0; }

/* overflow */
.u-overflow-visible { overflow: visible; }

/* display */
.u-display-block { display: block; }

/* z-index & position */
.u-zindex-negative {
  z-index: -1;
  position: relative;
}

/* width & height */
.u-height-full { height: 100%; }

/* pointer */
.u-pointer-on { pointer-events: auto; }

/* ratio */
.u-ratio-1-1 { aspect-ratio: 1; }

/* margin / order / object-fit */
.u-margin-inline-auto {
  margin-left: auto;
  margin-right: auto;
}

/* padding */
.u-padding-sitemargin { padding: var(--site--margin); }

/* grid placement */
.u-column-start-auto { grid-column-start: auto; }

/* responsive-grid */
.u-large-columns-1  { display: flex; }
.u-large-columns-5  { display: grid; --_column-count---value: 5; }
@container (width < 50em) {
  * {
    --_responsive---large: 0;
    --_responsive---medium: 1;
    --flex-medium: flex;
    --none-medium: none;
    --column-medium: column;
    --row-medium: row;
    --start-medium: start;
    --center-medium: center;
    --end-medium: end;
		--first-medium: -1;
		--last-medium: 1;
		--unset-medium: unset;
    --relative-medium: relative;
  }
  .u-medium-columns-1  { display: flex; }
  .u-medium-columns-2  { display: grid; --_column-count---value: 2; }
  .u-medium-columns-3  { display: grid; --_column-count---value: 3; }
  .u-medium-columns-4  { display: grid; --_column-count---value: 4; }
  .u-medium-columns-5  { display: grid; --_column-count---value: 5; }
  .u-medium-columns-6  { display: grid; --_column-count---value: 6; }
  .u-medium-columns-7  { display: grid; --_column-count---value: 7; }
  .u-medium-columns-8  { display: grid; --_column-count---value: 8; }
  .u-medium-columns-9  { display: grid; --_column-count---value: 9; }
  .u-medium-columns-10 { display: grid; --_column-count---value: 10; }
  .u-medium-columns-11 { display: grid; --_column-count---value: 11; }
  .u-medium-columns-12 { display: grid; --_column-count---value: 12; }
	.slider_offset { --slide-count: var(--md); }
}
@container (width < 35em) {
  * {
    --_responsive---medium: 0;
    --_responsive---small: 1;
    --flex-small: flex;
    --none-small: none;
    --column-small: column;
    --row-small: row;
    --start-small: start;
    --center-small: center;
    --end-small: end;
	--first-small: -1;
	--last-small: 1;
	--unset-small: unset;
	--relative-small: relative;
  }
  .u-small-columns-1  { display: flex; }
  .u-small-columns-2  { display: grid; --_column-count---value: 2; }
  .u-small-columns-3  { display: grid; --_column-count---value: 3; }
  .u-small-columns-4  { display: grid; --_column-count---value: 4; }
  .u-small-columns-5  { display: grid; --_column-count---value: 5; }
  .u-small-columns-6  { display: grid; --_column-count---value: 6; }
  .u-small-columns-7  { display: grid; --_column-count---value: 7; }
  .u-small-columns-8  { display: grid; --_column-count---value: 8; }
  .u-small-columns-9  { display: grid; --_column-count---value: 9; }
  .u-small-columns-10 { display: grid; --_column-count---value: 10; }
  .u-small-columns-11 { display: grid; --_column-count---value: 11; }
  .u-small-columns-12 { display: grid; --_column-count---value: 12; }
	.slider_offset { --slide-count: var(--sm); }
}
@container (width < 26em) {
  * {
    --_responsive---small: 0;
    --_responsive---xsmall: 1;
    --flex-xsmall: flex;
    --none-xsmall: none;
    --column-xsmall: column;
    --row-xsmall: row;
    --start-xsmall: start;
    --center-xsmall: center;
    --end-xsmall: end;
	--first-xsmall: -1;
	--last-xsmall: 1;
	--unset-xsmall: unset;
	--relative-xsmall: relative;
  }
  .u-xsmall-columns-1  { display: flex; }
  .u-xsmall-columns-2  { display: grid; --_column-count---value: 2; }
  .u-xsmall-columns-3  { display: grid; --_column-count---value: 3; }
  .u-xsmall-columns-4  { display: grid; --_column-count---value: 4; }
  .u-xsmall-columns-5  { display: grid; --_column-count---value: 5; }
  .u-xsmall-columns-6  { display: grid; --_column-count---value: 6; }
  .u-xsmall-columns-7  { display: grid; --_column-count---value: 7; }
  .u-xsmall-columns-8  { display: grid; --_column-count---value: 8; }
  .u-xsmall-columns-9  { display: grid; --_column-count---value: 9; }
  .u-xsmall-columns-10 { display: grid; --_column-count---value: 10; }
  .u-xsmall-columns-11 { display: grid; --_column-count---value: 11; }
  .u-xsmall-columns-12 { display: grid; --_column-count---value: 12; }
	.slider_offset { --slide-count: var(--xs); }
}

/* --> NAVIGATION <-- */

header nav,
.header_mobile {
  position: fixed;
  top: 0;
  left: var(--site--margin);
  right: var(--site--margin);
  z-index: 9999;
}.nav_links_wrap[u-nav="horizontal"] {
  flex-flow: row;
  justify-content: center;
  align-items: stretch;
  display: flex;
}.nav_dropdown_mega_content[u-nav="horizontal"] {
  border-radius: var(--nav--radius);
  background-color: var(--_theme---nav--background);
}.nav_dropdown_mega_contain[u-nav="horizontal"] {
  max-width: var(--nav--max-width-inner);
  padding-top: var(--_spacing---space--3);
  padding-bottom: var(--_spacing---space--4);
}.nav_dropdown_main_scroll[u-nav="horizontal"] {
  border-radius: var(--nav--radius);
  background-color: var(--_theme---nav--background);
  max-height: calc(100svh - var(--nav--height-total)  - var(--nav--spacing-outer-vertical) * 2);
  position: relative;
  overflow-x: hidden;
  overflow-y: auto !important;
}.nav_component[u-nav="fixed"] {
  position: fixed;
}.nav_dropdown_main_wrap[u-nav="horizontal"] {
  padding-top: var(--_spacing---space--0-5);
  width: 10rem;
  position: absolute;
}.nav_dropdown_mega_layout[u-nav="horizontal"] {
  grid-column-gap: var(--site--gutter);
  grid-row-gap: var(--_spacing---space--2-5);
  grid-template-rows: auto;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  grid-auto-columns: 1fr;
  display: grid;
}.nav_dropdown_link[u-nav="horizontal"] {
  padding-top: var(--_spacing---space--0-75);
  padding-bottom: var(--_spacing---space--0-75);
  border-bottom: var(--border-width--main) solid var(--_theme---border);
  padding-left: calc(var(--_spacing---space--2-5) / 2);
  padding-right: calc(var(--_spacing---space--2-5) / 2);
  font-size: inherit;
  display: block;
}.nav_buttons_item.is-main[u-nav="horizontal"] {
  margin: 0px var(--_spacing---space--1);
}.nav_links_link[u-nav="horizontal"] {
  padding: 0px var(--_spacing---space--1);
  height: 100%;
}.nav_actions_wrap[u-nav="horizontal"] {
  flex-flow: row;
  justify-content: flex-start;
}.nav_links_component[u-nav="horizontal"] {
  flex-flow: row;
  padding-top: 0;
  padding-bottom: 0;
  display: flex;
}.nav_dropdown_mega_scroll[u-nav="horizontal"] {
  margin-top: var(--nav--height);
  padding-right: var(--nav--spacing-inner-horizontal);
  padding-left: var(--nav--spacing-inner-horizontal);
  max-height: calc(100svh - var(--nav--height-total)  - var(--nav--spacing-outer-vertical) * 2);
  overflow: hidden auto;
}.nav_dropdown_mega_wrap[u-nav="horizontal"] {
  max-width: var(--nav--max-width-outer);
  width: calc(100% - var(--nav--spacing-outer-horizontal) * 2);
  min-width: 0;
  margin-left: auto;
  margin-right: auto;
  position: absolute;
  inset: 0% 0% auto;
}

/* --> HEADER <-- */

html { scroll-padding-top: 5rem; }

.site_header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  width: 100%;
}

.header_nav {
  width: calc(100% - var(--site--margin) * 2);
  max-width: var(--max-width--main);
  margin-inline: auto;
  padding-block: var(--_spacing---space--1-5);
  border-bottom: var(--border-width--main) solid var(--swatch--white);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--_spacing---space--2);
}
.header_link {
  font-family: var(--_typography---font--primary);
  font-weight: var(--_typography---font--weight-bold);
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: .02em;
  color: var(--swatch--white);
  transition: color .2s ease-in-out;
}
.header_link:hover { color: var(--swatch--primary); }

/* PL/EN language switch */
.lang_switch {
  flex: none;
  display: flex;
  align-items: center;
  gap: .35rem;
  font-family: var(--_typography---font--primary);
  font-weight: var(--_typography---font--weight-bold);
  font-size: 1.25rem;
}
.lang_link {
  color: var(--swatch--white);
  text-decoration: none;
  opacity: .5;
}
.lang_link.is-active { opacity: 1; }
.lang_link:hover { color: var(--swatch--primary); opacity: 1; }
.lang_sep { color: var(--swatch--white); opacity: .5; }

.site_header.is-over-light .header_nav { border-bottom-color: var(--swatch--black); }
.site_header.is-over-light .header_link,
.site_header.is-over-light .lang_link,
.site_header.is-over-light .lang_sep { color: var(--swatch--black); }
.site_header.is-over-light .header_link:hover,
.site_header.is-over-light .lang_link:hover { color: var(--swatch--primary); }
.site_header.is-over-light .header_burger span { background: var(--swatch--black); }
.site_header.is-over-light .header_logo { filter: invert(1); }

/* mobile bar (shown below 50em) */
.header_mobile { display: none; }

/* fullscreen mobile nav (black, opened by the burger) */
.mobile_nav {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 100;
  background-color: var(--swatch--black);
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: var(--_spacing---space--1);
  padding: var(--_spacing---space--4);
}
.site_header.is-active .mobile_nav { display: flex; }
/* while the menu is open, hide the burger bar so only the close (×) shows */
.site_header.is-active .header_mobile { display: none; }
.mobile_nav_close {
  position: absolute;
  top: var(--_spacing---space--2);
  right: var(--_spacing---space--2);
  background: none;
  border: 0;
  color: var(--_theme---text);
  font-size: 3rem;
  line-height: 1;
  cursor: pointer;
}
.mobile_nav_links {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--_spacing---space--2);
}
.mobile_nav_link {
  font-family: var(--_typography---font--primary);
  font-weight: var(--_typography---font--weight-bold);
  font-size: 2rem;            /* equal to btn-primary */
  text-transform: uppercase;
  text-decoration: none;
  color: var(--_theme---text);
}
.mobile_nav_link:hover { color: var(--_theme---primary); }
.mobile_nav_socials { justify-content: center; }

@media (max-width: 50em) {
  .header_nav { display: none; }
  .header_mobile {
    width: calc(100% - var(--site--margin) * 2);
    margin-inline: auto;
    padding-block: var(--_spacing---space--1-5);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .header_logo { 
    height: 100%; 
    width: auto;
    max-width: min(19.75rem, 65vw);
    display: block; }
  .header_burger {
    flex: none;
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: .5rem;
    background: none;
    border: 0;
    cursor: pointer;
  }
  .header_burger span {
    width: 2rem;
    height: 0.25rem;
    background: var(--swatch--white);
    display: block;
  }
}

/* --> HERO <-- */

#hero {
  min-height: 95svh;
  background-image: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)), url("images/hero bg image.webp");
  background-size: cover;
  justify-content: flex-end;
  background-position: center top;
  background-repeat: no-repeat;
}

.hero_vector {
  width: 100%;
  height: auto;
  display: block;
}

/* intro: two columns on large, stacked on medium and smaller */
@media (max-width: 50em) {
  #intro .u-grid-2 { grid-template-columns: 1fr; }
}


/* --> INTRO <-- */

.social_link {
  flex: none;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: var(--radius--round);
  background-color: var(--_theme---text);
  color: var(--_theme---background);
  transition: background-color .2s ease, color .2s ease;
  display: inline-flex;
}
.social_link:hover {
  background-color: var(--_theme---primary);
  color: var(--_theme---background);
}
.social_link::before, .social_link::after { content: none; }
.social_link svg {
  width: 1.15rem;
  height: 1.15rem;
  fill: currentColor;
  display: block;
}

/* --> MUZYKA <-- */

.theme-dark #nonartarea {
  background-color: transparent;
  color: var(--_theme---text);
}
.theme-dark #infolayer  {
  background-color: transparent !important;
}

#iframe-wrap {
  margin: 0;
  width: 100%;
}

/* --> OPINIE <-- */

#opinie .p-large {
  font-weight: 700;
}

.opinia {
  font-weight: 900;
  font-size: var(--_typography---font-size--h1);
  text-align: center;
  letter-spacing: -0.02em;
  line-height: 1.1;
  width: 100%;
  max-width: 24ch;
  text-wrap: balance;
}

/* --> KONCERTY <-- */

#koncerty-wrap {
  width: 100%;
}
.koncert {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--_spacing---space--4);
  padding-bottom: var(--_spacing---space--4);
  border-bottom: var(--border-width--main) solid var(--swatch--white);
}
.koncert > :last-child { justify-self: end; }
.koncert .btn-secondary.is-empty { opacity: .5; pointer-events: none; }
.u-container.in-koncert {
  align-items: center;
  gap: var(--_spacing---space--1);
  margin: 0 !important;
  width: auto;
  max-width: none;
  container-type: normal;
}
/* city: same font + weight as .opinia, but keep the h3 size */
.in-koncert h3 {
  font-family: var(--_typography---font--secondary);
  font-weight: 900;
}

/* medium screens and smaller: stack into a single column */
@container (width < 50em) {
  .koncert {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: var(--_spacing---space--2);
  }
  .koncert > :last-child { justify-self: center; }
}

/* --> SKLEP <-- */

#sklep {
  text-align: center;
}

#sklep .btn-primary {
  color: var(--swatch--black);
  font-size: var(--_typography---font-size--h3);
  padding: var(--_spacing---space--0-75);
}

/* --> FOOTER <-- */

.u-ratio-auto { aspect-ratio: auto; }

#footer-section {
  justify-content: flex-end;
  padding-top: var(--_spacing---section-space--large);
  padding-bottom: var(--_spacing---space--1) !important;
}
.footer_img {
  width: 100%;
  height: auto;
  display: block;
}
#f-img-wrap {
  width: 100%;
  padding-bottom: var(--_spacing---space--4);
  border-bottom: var(--border-width--main) solid var(--swatch--primary);
}
.footer_email {
  font-family: var(--_typography---font--secondary);
  color: var(--_theme---text);
  text-transform: none;
  text-decoration: none;
}

.footer_grid > .u-container {
  width: 100%;
  max-width: none;
  margin: 0;
  grid-row-gap: var(--_spacing---space--1);
  justify-content: flex-start;
}
#copyright-wrap {
  width: 100%;
  display: flex;
  justify-content: center;
}

#copyright {
  font-size: 0.75rem;
  opacity: 0.75;
  width: fit-content;
}

/* --> 404 <-- */

.page-404 { overflow: hidden; }
#error-404 {
  height: 100vh;
  background-image: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)), url("images/hero bg image.webp");
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
}

/* --> MEDIA QUERIES <-- */

@container (width < 50em) {
  .footer_management { grid-column-end: span 2; }
}

@media screen and (max-width: 479px) {
  .u-max-width-full { max-width: 100%; }
  .opinia { font-size: var(--_typography---font-size--h4);}
}