
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url("../fonts/inter-latin.woff2") format("woff2");
}
@font-face {
  font-family: "Lora";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/lora-latin.woff2") format("woff2");
}

img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}

.wp-block-post-content{display:flow-root}

500;600&family=Lora:wght@600&display=swap");

:root {
    --content-width: 1200px;
    --gutter: 24px;
    --section-space-m: clamp(64px, 8vw, 96px);
    --section-space-l: clamp(80px, 10vw, 120px);
    --primary: #29443b;
    --primary-ultra-light: #dde7e0;
    --secondary-ultra-light: #f2e8da;
    --base-ultra-light: #faf8f3;
    --text-dark: #24302c;
    --text-light: #59645f;
    --boutique-line: #c8d4cd;
    --boutique-radius-s: 10px;
    --boutique-radius-m: 18px;
    --boutique-radius-l: 28px;
    --boutique-shadow-s: 0 10px 30px color-mix(in oklch, #24302c 9%, transparent);
    --boutique-shadow-m: 0 24px 64px color-mix(in oklch, #24302c 14%, transparent);
    --boutique-transition: 220ms ease;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background-color: #faf8f3;
    color: #24302c;
    font-family: Inter, sans-serif;
    font-size: 18px;
    line-height: 1.7;
}

*, *::before, *::after {
    box-sizing: border-box;
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
}

@layer etch-defaults {
	body {
		line-height: 1.5;
		-webkit-font-smoothing: antialiased;
		font-family: system-ui;
		display: flex;
		flex-direction: column;
	}
}

@layer etch-reset {
	/* Box sizing rules */
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	/* Remove default margins */
	* {
		margin: 0;
	}

	/* Prevent font size inflation */
	html {
		-moz-text-size-adjust: none;
		-webkit-text-size-adjust: none;
		text-size-adjust: none;
		scrollbar-gutter: stable;
	}

	/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
	ul[role='list'],
	ol[role='list'] {
		list-style: none;
	}

	ul[class]:not(
			[data-etch-has-custom-classes='false'], /* data-etch-has-custom-classes is builder only (not output on frontend) */
			.wp-block-list,
			.list,
			[class*='marker']
		),
	ol[class]:not(
			[data-etch-has-custom-classes='false'], /* data-etch-has-custom-classes is builder only (not output on frontend) */
			.wp-block-list,
			.list,
			[class*='marker']
		) {
		padding: 0;
		list-style: none;
	}

	/* Set body min height */
	body {
		min-block-size: 100svh;
		display: flex;
		flex-direction: column;

		main {
			flex-grow: 1;
		}
	}

	/* A elements that don't have a class get default styles */
	a:not([class]) {
		text-decoration-skip-ink: auto;
	}

	/* Make media easier to work with */
	img,
	picture,
	video,
	canvas,
	svg:not(.block-editor-list-view-tree svg),
	a:not(
		p > a,
		span > a,
		h1 > a,
		h2 > a,
		h3 > a,
		h4 > a,
		h5 > a,
		h6 > a,
		li > a,
		em > a,
		q > a,
		label > a,
		strong > a,
		figcaption > a,
		.editor-styles-wrapper a
	) {
		max-inline-size: 100%;
		height: auto;
		display: block;
	}

	/* Inherit fonts for inputs and buttons */
	input,
	button,
	textarea,
	select {
		font: inherit;
		font-size: inherit;
	}

	button {
		cursor: pointer;
		background-color: transparent;
		border: none;
		color: currentColor;
	}

	/* Make sure textareas without a rows attribute are not tiny */
	textarea:not([rows]) {
		min-height: 10em;
	}

	/* Avoid text overflows */
	p,
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		overflow-wrap: break-word;
	}

	figure > img {
		inline-size: 100%;
	}

	img {
		block-size: auto;
	}

	/* Add back select GB styles that are removed by global settings toggle */
	.has-text-align-center {
		text-align: center;
	}

	.has-text-align-left {
		text-align: left;
	}

	.has-text-align-right {
		text-align: right;
	}

	.has-fit-text {
		white-space: nowrap !important;
	}

	#end-resizable-editor-section {
		display: none;
	}

	.aligncenter {
		clear: both;
	}

	.items-justified-left {
		justify-content: flex-start;
	}

	.items-justified-center {
		justify-content: center;
	}

	.items-justified-right {
		justify-content: flex-end;
	}

	.items-justified-space-between {
		justify-content: space-between;
	}

	.screen-reader-text {
		border: 0;
		clip-path: inset(50%);
		height: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
		width: 1px;
		word-wrap: normal !important;
	}

	.screen-reader-text:focus {
		background-color: #ddd;
		clip-path: none;
		color: #444;
		display: block;
		font-size: 1em;
		height: auto;
		left: 5px;
		line-height: normal;
		padding: 15px 23px 14px;
		text-decoration: none;
		top: 5px;
		width: auto;
		z-index: 100000;
	}
}

.site-header { 
        background-color: #faf8f3; border-block-end: 1px solid #dde7e0;
       }
.site-header__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px); display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; padding-block: 14px; @media (width >= 992px) { grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; padding-block: 18px; } @media (width >= 992px) and (width < 1200px) { gap: 14px; }
           }
.site-header__brand { 
                color: #29443b;
                font-family: Inter, sans-serif;
                font-size: 16px;
                font-weight: 600;
                text-decoration-thickness: 1px;
                text-underline-offset: 5px;
                transition: color var(--boutique-transition, 220ms ease), text-decoration-color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease);
                &:hover { color: #24302c; text-decoration-color: #9a8f81; }
                &:active { color: #59645f; transform: translateY(1px); }
                &:focus-visible { outline: 3px solid #29443b; outline-offset: 4px; border-radius: 4px; }
                @media (prefers-reduced-motion: reduce) { transition: none; }
                display: inline-flex; flex-direction: column; gap: 2px; text-decoration: none;
               }
.site-header__brand-row { 
                    display: inline-flex; flex-direction: row; align-items: center; gap: 12px;
                   }
.site-header__logo { 
                        display: block; inline-size: 48px; block-size: 48px; flex: 0 0 auto; object-fit: contain;
                       }
.site-header__brand-text { 
                        display: inline-flex; flex-direction: column; gap: 2px;
                       }
.site-header__name { 
                            font-family: Lora, serif; font-size: 24px; font-weight: 600; color: #24302c; @media (width >= 992px) and (width < 1200px) { font-size: 20px; }
                           }
.site-header__tagline { 
                            font-family: Inter, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.04em; color: #59645f; @media (width >= 992px) and (width < 1200px) { display: none; }
                           }
.site-header__menu-toggle { 
                display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 9px; min-block-size: 46px; padding-block: 10px; padding-inline: 14px; border: 2px solid #29443b; border-radius: 8px; background-color: #faf8f3; color: #29443b; font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; cursor: pointer; transition: background-color 180ms ease, color 180ms ease; &:hover { background-color: #dde7e0; } &:active { background-color: #f2e8da; } &:focus-visible { outline: 3px solid #29443b; outline-offset: 3px; } @media (prefers-reduced-motion: reduce) { transition: none; } @media (width >= 992px) { display: none; }
               }
.site-header__menu-icon { 
                    display: block; inline-size: 21px; block-size: 21px;
                   }
.site-header__nav { 
                grid-column: 1 / -1; display: flex; flex-direction: column; gap: 16px; padding-block-start: 14px; border-block-start: 1px solid #dde7e0; &[hidden] { display: none; } @media (width >= 992px) { display: contents; &[hidden] { display: contents; } }
               }
.site-header__menu { 
                    display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 10px 22px; margin-block: 0; padding-inline-start: 0; list-style: none; @media (width >= 992px) { grid-column: 2; justify-self: center; justify-content: center; } @media (width >= 992px) and (width < 1200px) { gap: 10px; & .site-header__menu-link { font-size: 14px; } }
                   }
.site-header__menu-link { 
                            color: #29443b;
                            font-family: Inter, sans-serif;
                            font-size: 16px;
                            font-weight: 600;
                            text-decoration-thickness: 1px;
                            text-underline-offset: 5px;
                            transition: color var(--boutique-transition, 220ms ease), text-decoration-color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease);
                            &:hover { color: #24302c; text-decoration-color: #9a8f81; }
                            &:active { color: #59645f; transform: translateY(1px); }
                            &:focus-visible { outline: 3px solid #29443b; outline-offset: 4px; border-radius: 4px; }
                            @media (prefers-reduced-motion: reduce) { transition: none; }
                           }
.site-header__cta { 
                    display: inline-flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: center;
                    min-block-size: 48px;
                    padding-block: 13px;
                    padding-inline: 22px;
                    border: 2px solid #29443b;
                    border-radius: var(--boutique-radius-s, 10px);
                    background-color: #29443b;
                    color: #ffffff;
                    font-family: Inter, sans-serif;
                    font-size: 16px;
                    font-weight: 600;
                    line-height: 1.3;
                    text-decoration: none;
                    box-shadow: 0 8px 22px color-mix(in oklch, #24302c 16%, transparent);
                    transition: background-color var(--boutique-transition, 220ms ease), color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease), box-shadow var(--boutique-transition, 220ms ease);
                    &:hover { background-color: #24302c; border-color: #24302c; transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in oklch, #24302c 22%, transparent); }
                    &:active { transform: translateY(1px); }
                    &:focus-visible { outline: 3px solid #f2e8da; outline-offset: 3px; }
                    @media (prefers-reduced-motion: reduce) { transition: none; }
                    align-self: center; margin-block: 0; white-space: nowrap; @media (width >= 992px) { grid-column: 3; justify-self: end; } @media (width >= 992px) and (width < 1200px) { min-block-size: 44px; padding-block: 10px; padding-inline: 14px; font-size: 14px; }
                   }
.hero-primary { 
        position: relative; overflow: hidden; background: linear-gradient(145deg, #faf8f3 0%, #faf8f3 58%, #f2e8da 100%); padding-block: clamp(58px, 7vw, 92px); &::after { content: ""; position: absolute; inset-block-start: -150px; inset-inline-end: -120px; inline-size: 380px; block-size: 380px; border-radius: 45% 55% 62% 38%; background-color: color-mix(in oklch, #dde7e0 58%, transparent); transform: rotate(18deg); pointer-events: none; }
       }
.hero-primary__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px); display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; @media (width >= 992px) { grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr); gap: 72px; }
           }
.hero-primary__content { 
                position: relative; z-index: 1; max-inline-size: 680px;
               }
.hero-primary__eyebrow { 
                    font-family: Inter, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: #29443b; margin-block: 0 18px;
                   }
.hero-primary__heading { 
                    font-family: Lora, serif; font-size: clamp(40px, 10.5vw, 48px); font-weight: 600; line-height: 1.07; letter-spacing: -0.035em; color: #24302c; margin-block: 0 24px; text-wrap: balance; @media (width >= 768px) { font-size: 64px; }
                   }
.hero-primary__intro { 
                    max-inline-size: 68ch; color: #59645f; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.7; margin-block: 0; font-size: 20px;
                   }
.hero-primary__actions { 
                    display: flex; flex-direction: row; flex-wrap: wrap; gap: 18px; align-items: center; margin-block-start: 32px;
                   }
.hero-primary__cta { 
                        display: inline-flex;
                        flex-direction: row;
                        align-items: center;
                        justify-content: center;
                        min-block-size: 48px;
                        padding-block: 13px;
                        padding-inline: 22px;
                        border: 2px solid #29443b;
                        border-radius: var(--boutique-radius-s, 10px);
                        background-color: #29443b;
                        color: #ffffff;
                        font-family: Inter, sans-serif;
                        font-size: 16px;
                        font-weight: 600;
                        line-height: 1.3;
                        text-decoration: none;
                        box-shadow: 0 8px 22px color-mix(in oklch, #24302c 16%, transparent);
                        transition: background-color var(--boutique-transition, 220ms ease), color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease), box-shadow var(--boutique-transition, 220ms ease);
                        &:hover { background-color: #24302c; border-color: #24302c; transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in oklch, #24302c 22%, transparent); }
                        &:active { transform: translateY(1px); }
                        &:focus-visible { outline: 3px solid #f2e8da; outline-offset: 3px; }
                        @media (prefers-reduced-motion: reduce) { transition: none; }
                       }
.hero-primary__link { 
                        color: #29443b;
                        font-family: Inter, sans-serif;
                        font-size: 16px;
                        font-weight: 600;
                        text-decoration-thickness: 1px;
                        text-underline-offset: 5px;
                        transition: color var(--boutique-transition, 220ms ease), text-decoration-color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease);
                        &:hover { color: #24302c; text-decoration-color: #9a8f81; }
                        &:active { color: #59645f; transform: translateY(1px); }
                        &:focus-visible { outline: 3px solid #29443b; outline-offset: 4px; border-radius: 4px; }
                        @media (prefers-reduced-motion: reduce) { transition: none; }
                       }
.hero-primary__media { 
                position: relative; z-index: 1; margin-block: 0; margin-inline: 0; padding: 10px; border: 1px solid color-mix(in oklch, #29443b 16%, transparent); border-radius: var(--boutique-radius-l, 28px); background-color: color-mix(in oklch, #ffffff 72%, transparent); box-shadow: var(--boutique-shadow-m, 0 24px 64px color-mix(in oklch, #24302c 14%, transparent)); transform: rotate(0.6deg); @media (prefers-reduced-motion: reduce) { transform: none; }
               }
.hero-primary__image { 
                    display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--boutique-radius-m, 18px);
                   }
.recognition { 
        background-color: #ffffff; padding-block: var(--section-space-m, 72px);
       }
.recognition__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px);
           }
.recognition__heading { 
                font-family: Lora, serif; font-size: var(--h2, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.02em; color: #24302c; margin-block: 0 20px; @media (width >= 768px) { font-size: var(--h2, 46px); }
               }
.recognition__list { 
                display: grid; grid-template-columns: 1fr; gap: 18px; margin-block: 32px 0; padding-inline-start: 0; list-style: none; @media (width >= 768px) { grid-template-columns: repeat(2, 1fr); }
               }
.info-item { 
      display: grid;
      grid-template-columns: 42px 1fr;
      gap: 18px;
      align-items: start;
      min-block-size: 100%;
      padding-block: 24px;
      padding-inline: 22px;
      border: 1px solid color-mix(in oklch, #29443b 18%, transparent);
      border-radius: var(--boutique-radius-m, 18px);
      background-color: color-mix(in oklch, #ffffff 76%, transparent);
      box-shadow: 0 8px 24px color-mix(in oklch, #24302c 7%, transparent);
      transition: transform var(--boutique-transition, 220ms ease), border-color var(--boutique-transition, 220ms ease), box-shadow var(--boutique-transition, 220ms ease);

      &:hover {
        transform: translateY(-3px);
        border-color: color-mix(in oklch, #29443b 34%, transparent);
        box-shadow: var(--boutique-shadow-s, 0 10px 30px color-mix(in oklch, #24302c 9%, transparent));
      }

      @media (prefers-reduced-motion: reduce) {
        transition: none;
      }
     }
.info-item__number { 
          display: inline-flex;
          flex-direction: row;
          align-items: center;
          justify-content: center;
          inline-size: 38px;
          block-size: 38px;
          border-radius: 999px;
          background-color: #dde7e0;
          border: 1px solid color-mix(in oklch, #29443b 18%, transparent);
          color: #29443b;
          font-family: Inter, sans-serif;
          font-size: 14px;
          font-weight: 700;
         }
.info-item__title { 
              font-family: Lora, serif;
              font-size: 22px;
              font-weight: 600;
              line-height: 1.3;
              color: #24302c;
              margin-block: 2px 8px;
             }
.info-item__text { 
              color: #59645f;
              font-family: Inter, sans-serif;
              font-size: 17px;
              line-height: 1.65;
              margin-block: 0;
             }
.therapy { background-color: #dde7e0; padding-block: var(--section-space-l, 88px); scroll-margin-block-start: 24px; }
.therapy__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px);
           }
.therapy__heading { 
                font-family: Lora, serif; font-size: var(--h2, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.02em; color: #24302c; margin-block: 0 20px; @media (width >= 768px) { font-size: var(--h2, 46px); }
               }
.therapy__intro { 
                max-inline-size: 68ch; color: #59645f; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.7; margin-block: 0;
               }
.therapy__media { 
                margin-block: 42px 0; margin-inline: 0; padding: 10px; border: 1px solid color-mix(in oklch, #29443b 20%, transparent); border-radius: var(--boutique-radius-l, 28px); background-color: color-mix(in oklch, #ffffff 55%, transparent); box-shadow: var(--boutique-shadow-s, 0 10px 30px color-mix(in oklch, #24302c 9%, transparent));
               }
.therapy__image { 
                    display: block; inline-size: 100%; block-size: auto; max-block-size: 520px; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--boutique-radius-m, 18px);
                   }
.therapy__list { 
                display: grid; grid-template-columns: 1fr; gap: 24px; margin-block: 42px 0; padding-inline-start: 0; list-style: none; @media (width >= 992px) { grid-template-columns: repeat(3, 1fr); }
               }
.process { background-color: #faf8f3; padding-block: var(--section-space-l, 88px); }
.process__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px);
           }
.process__heading { 
                font-family: Lora, serif; font-size: var(--h2, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.02em; color: #24302c; margin-block: 0 20px; @media (width >= 768px) { font-size: var(--h2, 46px); }
               }
.process__list { 
                display: grid; grid-template-columns: 1fr; gap: 24px; margin-block: 38px 0; padding-inline-start: 0; list-style: none; counter-reset: process; @media (width >= 992px) { grid-template-columns: repeat(3, 1fr); }
               }
.process__media { 
                margin-block: 48px 0; margin-inline: 0; padding: 10px; border: 1px solid color-mix(in oklch, #9a8f81 24%, transparent); border-radius: var(--boutique-radius-l, 28px); background-color: #ffffff; box-shadow: var(--boutique-shadow-s, 0 10px 30px color-mix(in oklch, #24302c 9%, transparent));
               }
.process__image { 
                    display: block; inline-size: 100%; block-size: auto; max-block-size: 460px; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; border-radius: var(--boutique-radius-m, 18px);
                   }
.practical { 
        background-color: #dde7e0; padding-block: var(--section-space-l, 88px); scroll-margin-block-start: 24px;
       }
.practical__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px); display: grid; grid-template-columns: 1fr; gap: 38px; @media (width >= 992px) { grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr); gap: 72px; align-items: start; }
           }
.practical__heading { 
                    font-family: Lora, serif; font-size: var(--h2, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.02em; color: #24302c; margin-block: 0 20px; @media (width >= 768px) { font-size: var(--h2, 46px); }
                   }
.practical__description { 
                    max-inline-size: 68ch; color: #59645f; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.7; margin-block: 0;
                   }
.practical__cta { 
                    display: inline-flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: center;
                    min-block-size: 48px;
                    padding-block: 13px;
                    padding-inline: 22px;
                    border: 2px solid #29443b;
                    border-radius: var(--boutique-radius-s, 10px);
                    background-color: #29443b;
                    color: #ffffff;
                    font-family: Inter, sans-serif;
                    font-size: 16px;
                    font-weight: 600;
                    line-height: 1.3;
                    text-decoration: none;
                    box-shadow: 0 8px 22px color-mix(in oklch, #24302c 16%, transparent);
                    transition: background-color var(--boutique-transition, 220ms ease), color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease), box-shadow var(--boutique-transition, 220ms ease);
                    &:hover { background-color: #24302c; border-color: #24302c; transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in oklch, #24302c 22%, transparent); }
                    &:active { transform: translateY(1px); }
                    &:focus-visible { outline: 3px solid #f2e8da; outline-offset: 3px; }
                    @media (prefers-reduced-motion: reduce) { transition: none; }
                    margin-block-start: 28px;
                   }
.practical__facts { 
                display: grid; grid-template-columns: 1fr; gap: 0; margin-block: 0; padding-block: 10px; padding-inline: 26px; border: 1px solid color-mix(in oklch, #29443b 32%, transparent); border-radius: var(--boutique-radius-m, 18px); background-color: #faf8f3; box-shadow: var(--boutique-shadow-s, 0 10px 30px color-mix(in oklch, #24302c 9%, transparent)); @media (width >= 768px) and (width < 992px) { grid-template-columns: repeat(3, 1fr); gap: 18px; }
               }
.practical__fact { 
                    padding-block: 4px; border-block-end: 1px solid #dde7e0; &:last-child { border-block-end: 0; } @media (width >= 768px) and (width < 992px) { border-block-end: 0; }
                   }
.practical__term { 
                        margin-block: 0; padding-block: 14px 5px; color: #59645f; font-family: Inter, sans-serif; font-size: 14px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase;
                       }
.practical__detail { 
                        margin-block: 0; margin-inline: 0; padding-block: 0 14px; color: #24302c; font-family: Lora, serif; font-size: 25px; font-weight: 600; line-height: 1.25;
                       }
.about { 
        background-color: #f2e8da; padding-block: var(--section-space-l, 88px); scroll-margin-block-start: 24px;
       }
.about__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px); display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; @media (width >= 992px) { grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr); gap: 72px; }
           }
.about__image { 
                display: block; inline-size: 100%; block-size: auto; aspect-ratio: 4 / 5; object-fit: cover; object-position: 64% center; border: 10px solid color-mix(in oklch, #ffffff 66%, transparent); border-radius: var(--boutique-radius-l, 28px); box-shadow: var(--boutique-shadow-m, 0 24px 64px color-mix(in oklch, #24302c 14%, transparent));
               }
.about__heading { 
                    font-family: Lora, serif; font-size: var(--h2, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.02em; color: #24302c; margin-block: 0 20px; @media (width >= 768px) { font-size: var(--h2, 46px); }
                   }
.about__intro { 
                    max-inline-size: 68ch; color: #59645f; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.7; margin-block: 0;
                   }
.about__facts { 
                    display: grid; grid-template-columns: 1fr; gap: 12px; margin-block: 28px 0; padding-inline-start: 0; list-style: none;
                   }
.about__fact { 
                        padding-block: 14px; padding-inline: 16px; border: 1px solid color-mix(in oklch, #9a8f81 72%, transparent); border-radius: var(--boutique-radius-s, 10px); background-color: color-mix(in oklch, #ffffff 42%, transparent); color: #24302c; font-family: Inter, sans-serif; font-size: 16px; box-shadow: 0 5px 16px color-mix(in oklch, #24302c 6%, transparent);
                       }
.contact { background-color: #29443b; padding-block: var(--section-space-l, 88px); scroll-margin-block-start: 24px; }
.contact__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px); display: grid; grid-template-columns: 1fr; gap: 38px; @media (width >= 992px) { grid-template-columns: 1.2fr 0.8fr; gap: 72px; align-items: end; }
           }
.contact__heading { 
                    font-family: Lora, serif; font-size: var(--h2, 38px); font-weight: 600; line-height: 1.16; letter-spacing: -0.02em; color: #24302c; margin-block: 0 20px; @media (width >= 768px) { font-size: var(--h2, 46px); } color: #ffffff;
                   }
.contact__text { 
                    max-inline-size: 68ch; color: #59645f; font-family: Inter, sans-serif; font-size: 18px; line-height: 1.7; margin-block: 0; color: #dde7e0;
                   }
.contact__cta { 
                    display: inline-flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: center;
                    min-block-size: 48px;
                    padding-block: 13px;
                    padding-inline: 22px;
                    border: 2px solid #29443b;
                    border-radius: var(--boutique-radius-s, 10px);
                    background-color: #29443b;
                    color: #ffffff;
                    font-family: Inter, sans-serif;
                    font-size: 16px;
                    font-weight: 600;
                    line-height: 1.3;
                    text-decoration: none;
                    box-shadow: 0 8px 22px color-mix(in oklch, #24302c 16%, transparent);
                    transition: background-color var(--boutique-transition, 220ms ease), color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease), box-shadow var(--boutique-transition, 220ms ease);
                    &:hover { background-color: #24302c; border-color: #24302c; transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in oklch, #24302c 22%, transparent); }
                    &:active { transform: translateY(1px); }
                    &:focus-visible { outline: 3px solid #f2e8da; outline-offset: 3px; }
                    @media (prefers-reduced-motion: reduce) { transition: none; }
                    margin-block-start: 28px; background-color: #f2e8da; border-color: #f2e8da; color: #24302c; &:hover { background-color: #ffffff; border-color: #ffffff; } &:focus-visible { outline-color: #ffffff; }
                   }
.contact__details { 
                display: flex; flex-direction: column; gap: 14px; padding-block: 28px; padding-inline: 28px; border: 1px solid #7d9189; border-radius: var(--boutique-radius-m, 18px); background-color: color-mix(in oklch, #ffffff 7%, transparent); color: #ffffff; font-family: Inter, sans-serif; font-size: 16px; font-style: normal; line-height: 1.6; box-shadow: 0 18px 44px color-mix(in oklch, #24302c 24%, transparent);
               }
.contact__detail { 
                    margin-block: 0;
                   }
.contact__detail-link { 
                    color: inherit; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: color 220ms ease; &:hover { color: #f2e8da; } &:focus-visible { outline: 2px solid #f2e8da; outline-offset: 3px; border-radius: 2px; } @media (prefers-reduced-motion: reduce) { transition: none; }
                   }
.booking-dialog { 
        position: fixed; inset: 0; z-index: 1000; display: flex; flex-direction: row; align-items: center; justify-content: center; padding: 16px; background-color: color-mix(in oklch, #24302c 74%, transparent); backdrop-filter: blur(7px); &[hidden] { display: none; }
       }
.booking-dialog__container { 
            position: relative; inline-size: min(680px, 100%); max-block-size: calc(100dvh - 32px); overflow-block: auto; padding-block: 28px; padding-inline: 24px; border: 1px solid color-mix(in oklch, #29443b 24%, transparent); border-radius: var(--boutique-radius-l, 28px); background: linear-gradient(145deg, #faf8f3 0%, #ffffff 100%); color: #24302c; box-shadow: 0 30px 90px color-mix(in oklch, #24302c 34%, transparent); @media (width >= 768px) { padding-block: 42px; padding-inline: 42px; }
           }
.booking-dialog__close { 
                position: absolute; inset-block-start: 16px; inset-inline-end: 16px; display: inline-flex; flex-direction: row; align-items: center; justify-content: center; inline-size: 44px; block-size: 44px; padding: 0; border: 1px solid #9aa9a3; border-radius: 999px; background-color: #ffffff; color: #29443b; font-family: Inter, sans-serif; font-size: 26px; line-height: 1; cursor: pointer; transition: background-color 180ms ease, transform 180ms ease; &:hover { background-color: #dde7e0; } &:active { transform: scale(0.96); } &:focus-visible { outline: 3px solid #29443b; outline-offset: 3px; } @media (prefers-reduced-motion: reduce) { transition: none; }
               }
.booking-dialog__heading { 
                max-inline-size: 15ch; margin-block: 0 14px; padding-inline-end: 52px; font-family: Lora, serif; font-size: 34px; font-weight: 600; line-height: 1.15; color: #24302c; @media (width >= 768px) { font-size: 42px; }
               }
.booking-dialog__description { 
                max-inline-size: 58ch; margin-block: 0 8px; color: #59645f; font-family: Inter, sans-serif; font-size: 17px; line-height: 1.65;
               }
.booking-dialog__demo-note { 
                margin-block: 0 26px; padding-block: 10px; padding-inline: 12px; border-inline-start: 4px solid #29443b; background-color: #dde7e0; color: #24302c; font-family: Inter, sans-serif; font-size: 14px; line-height: 1.5;
               }
.booking-dialog__form { 
                display: grid; grid-template-columns: 1fr; gap: 18px; &[hidden] { display: none; }
               }
.booking-dialog__field { 
                    display: flex; flex-direction: column; gap: 7px;
                   }
.booking-dialog__label { 
                        font-family: Inter, sans-serif; font-size: 15px; font-weight: 600; color: #24302c;
                       }
.booking-dialog__input { 
                        inline-size: 100%; min-block-size: 48px; padding-block: 11px; padding-inline: 13px; border: 1px solid #9aa9a3; border-radius: 8px; background-color: #ffffff; color: #24302c; font-family: Inter, sans-serif; font-size: 16px; &:focus-visible { outline: 3px solid #29443b; outline-offset: 2px; border-color: #29443b; }
                       }
.booking-dialog__textarea { 
                        inline-size: 100%; min-block-size: 120px; padding-block: 11px; padding-inline: 13px; border: 1px solid #9aa9a3; border-radius: 8px; background-color: #ffffff; color: #24302c; font-family: Inter, sans-serif; font-size: 16px; line-height: 1.5; resize: block; &:focus-visible { outline: 3px solid #29443b; outline-offset: 2px; border-color: #29443b; }
                       }
.booking-dialog__submit { 
                    display: inline-flex;
                    flex-direction: row;
                    align-items: center;
                    justify-content: center;
                    min-block-size: 48px;
                    padding-block: 13px;
                    padding-inline: 22px;
                    border: 2px solid #29443b;
                    border-radius: var(--boutique-radius-s, 10px);
                    background-color: #29443b;
                    color: #ffffff;
                    font-family: Inter, sans-serif;
                    font-size: 16px;
                    font-weight: 600;
                    line-height: 1.3;
                    text-decoration: none;
                    box-shadow: 0 8px 22px color-mix(in oklch, #24302c 16%, transparent);
                    transition: background-color var(--boutique-transition, 220ms ease), color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease), box-shadow var(--boutique-transition, 220ms ease);
                    &:hover { background-color: #24302c; border-color: #24302c; transform: translateY(-2px); box-shadow: 0 12px 28px color-mix(in oklch, #24302c 22%, transparent); }
                    &:active { transform: translateY(1px); }
                    &:focus-visible { outline: 3px solid #f2e8da; outline-offset: 3px; }
                    @media (prefers-reduced-motion: reduce) { transition: none; }
                   }
.booking-dialog__confirmation { 
                padding-block: 24px; padding-inline: 22px; border-radius: 12px; background-color: #dde7e0; color: #24302c; font-family: Inter, sans-serif;
               }
.booking-dialog__confirmation-title { 
                    margin-block: 0 8px; font-family: Lora, serif; font-size: 26px; font-weight: 600;
                   }
.booking-dialog__confirmation-text { 
                    margin-block: 0; font-size: 16px; line-height: 1.6;
                   }
.site-footer { 
        background-color: #24302c; padding-block: 34px;
       }
.site-footer__container { 
            max-inline-size: var(--content-width, 1200px); margin-inline: auto; padding-inline: var(--gutter, 24px); display: flex; flex-direction: column; gap: 20px; @media (width >= 768px) { flex-direction: row; justify-content: space-between; align-items: end; }
           }
.site-footer__brand { 
                    display: flex; align-items: center; gap: 12px; margin-block-end: 6px;
                   }
.site-footer__logo { 
                        display: block; inline-size: 44px; block-size: 44px; object-fit: contain;
                       }
.site-footer__name { 
                        font-family: Lora, serif; font-size: 20px; font-weight: 600; color: #ffffff; margin-block: 0;
                       }
.site-footer__demo { 
                    font-family: Inter, sans-serif; font-size: 13px; color: #c8d4cd; margin-block: 0;
                   }
.site-footer__ready2go-link { 
                        color: inherit; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; &:hover { color: #ffffff; } &:focus-visible { outline: 2px solid #f2e8da; outline-offset: 3px; border-radius: 2px; }
                       }
.site-footer__contact { 
                    display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px 16px; margin-block: 12px 0; color: #c8d4cd; font-family: Inter, sans-serif; font-size: 13px; font-style: normal;
                   }
.site-footer__contact-link { 
                        color: inherit; text-decoration-line: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; &:hover { color: #ffffff; } &:focus-visible { outline: 2px solid #f2e8da; outline-offset: 3px; border-radius: 2px; }
                       }
.site-footer__billing { 
                    color: #c8d4cd; font-family: Inter, sans-serif; font-size: 13px; margin-block: 0;
                   }
.site-footer__copyright { 
                    font-family: Inter, sans-serif; font-size: 13px; color: #c8d4cd; margin-block: 8px 0;
                   }
.site-footer__nav { 
                display: flex; flex-direction: row; flex-wrap: wrap; gap: 16px;
               }
.site-footer__link { 
                    color: #29443b;
                    font-family: Inter, sans-serif;
                    font-size: 16px;
                    font-weight: 600;
                    text-decoration-thickness: 1px;
                    text-underline-offset: 5px;
                    transition: color var(--boutique-transition, 220ms ease), text-decoration-color var(--boutique-transition, 220ms ease), transform var(--boutique-transition, 220ms ease);
                    &:hover { color: #24302c; text-decoration-color: #9a8f81; }
                    &:active { color: #59645f; transform: translateY(1px); }
                    &:focus-visible { outline: 3px solid #29443b; outline-offset: 4px; border-radius: 4px; }
                    @media (prefers-reduced-motion: reduce) { transition: none; }
                    color: #ffffff; &:hover { color: #dde7e0; } &:active { color: #f2e8da; } &:focus-visible { outline-color: #f2e8da; }
                   }
:root { /* ACSS VARIABLES: START - managed automatically */

/* Primary */
--primary: oklch(0.65 0.107 221); /* ≈ #2D9EBD */
--primary-hover: oklch(0.552 0.107 221); /* ≈ #007F9E */
--primary-ultra-light: oklch(0.95 0.107 221); /* ≈ #98FFFF */
--primary-light: oklch(0.85 0.107 221); /* ≈ #76DEFF */
--primary-semi-light: oklch(0.65 0.107 221); /* ≈ #2D9EBD */
--primary-semi-dark: oklch(0.35 0.107 221); /* ≈ #004561 */
--primary-dark: oklch(0.25 0.107 221); /* ≈ #002945 */
--primary-ultra-dark: oklch(0.1 0.107 221); /* ≈ #00031D */

/* Base */
--base: oklch(0.65 0.044 239); /* ≈ #7793A8 */
--base-hover: oklch(0.138 0.044 239); /* ≈ #000A18 */
--base-ultra-light: oklch(0.95 0.044 239); /* ≈ #D5F3FF */
--base-light: oklch(0.85 0.044 239); /* ≈ #B4D2E8 */
--base-semi-light: oklch(0.65 0.044 239); /* ≈ #7793A8 */
--base-semi-dark: oklch(0.35 0.044 239); /* ≈ #243E4F */
--base-dark: oklch(0.25 0.044 239); /* ≈ #0A2434 */
--base-ultra-dark: oklch(0.1 0.044 239); /* ≈ #000410 */

/* Neutral */
--neutral: oklch(0 0 0); /* ≈ #000000 */
--neutral-hover: oklch(0 0 0); /* ≈ #000000 */
--neutral-ultra-light: oklch(0.95 0 0); /* ≈ #EEEEEE */
--neutral-light: oklch(0.85 0 0); /* ≈ #CECECE */
--neutral-semi-light: oklch(0.65 0 0); /* ≈ #8F8F8F */
--neutral-semi-dark: oklch(0.35 0 0); /* ≈ #3A3A3A */
--neutral-dark: oklch(0.25 0 0); /* ≈ #222222 */
--neutral-ultra-dark: oklch(0.1 0 0); /* ≈ #030303 */

/* Black & White */
--white: #fff;
--black: #000;

/* ACSS VARIABLES: END */ }

/* Add your custom media definitions here using @custom-media rules. Example: @custom-media --small-screen (max-width: 600px);*/
@custom-media --article-card-bravo-not-sm (width >= 400px); /* imported */
@custom-media --article-card-bravo-sm (width < 400px); /* imported */

@view-transition {
  navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
  animation-duration: 620ms;
  animation-timing-function: cubic-bezier(.2, .8, .2, 1);
}

/* Default: normal link navigation slides up */
::view-transition-old(root) {
  animation-name: page-out-up;
}

::view-transition-new(root) {
  animation-name: page-in-up;
}

/* Back / forward browser traversal slides down */
:root[data-nav-direction="back"]::view-transition-old(root) {
  animation-name: page-out-down;
}

:root[data-nav-direction="back"]::view-transition-new(root) {
  animation-name: page-in-down;
}

@keyframes page-out-up {
   from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    transform: translateY(-3rem);
    opacity: 0;
  }
}

@keyframes page-in-up {
  from {
    opacity: 0;
    transform: translateY(3rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes page-out-down {

  from {

    opacity: 1;

    transform: translateY(0);

  }

  to {

    opacity: 0;

    transform: translateY(3rem);

  }

}

@keyframes page-in-down {

  from {

    opacity: 0;

    transform: translateY(-3rem);

  }

  to {

    opacity: 1;

    transform: translateY(0);

  }

}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none;
  }
}
@keyframes mission-panel-alpha-out {

  from {

    opacity: 1;

    transform: perspective(var(--mp-perspective)) rotateY(0deg);

  }

  to {

    opacity: 0;

    transform: perspective(var(--mp-perspective)) rotateY(-90deg);

  }

}

@keyframes mission-panel-alpha-in {

  from {

    opacity: 0;

    transform: perspective(var(--mp-perspective)) rotateY(90deg);

  }

  to {

    opacity: 1;

    transform: perspective(var(--mp-perspective)) rotateY(0deg);

  }

}

/* File: automatic-tokens.css - Version: 4.0.1 - Generated: 2026-08-14 17:29:28 */
/* Feat: Text, Headings, & Spacing */
:root {
  --root-font-size: 100%;
}
/* Feat: Palette */
:root {
  --primary: oklch(0.65 0.107 221);
  --primary-hover: oklch(0.552 0.107 221);
  --primary-ultra-light: oklch(0.95 0.107 221);
  --primary-light: oklch(0.85 0.107 221);
  --primary-semi-light: oklch(0.65 0.107 221);
  --primary-semi-dark: oklch(0.35 0.107 221);
  --primary-dark: oklch(0.25 0.107 221);
  --primary-ultra-dark: oklch(0.1 0.107 221);
  --base: oklch(0.65 0.044 239);
  --base-hover: oklch(0.138 0.044 239);
  --base-ultra-light: oklch(0.95 0.044 239);
  --base-light: oklch(0.85 0.044 239);
  --base-semi-light: oklch(0.65 0.044 239);
  --base-semi-dark: oklch(0.35 0.044 239);
  --base-dark: oklch(0.25 0.044 239);
  --base-ultra-dark: oklch(0.1 0.044 239);
  --neutral: oklch(0 0 0);
  --neutral-hover: oklch(0 0 0);
  --neutral-ultra-light: oklch(0.95 0 0);
  --neutral-light: oklch(0.85 0 0);
  --neutral-semi-light: oklch(0.65 0 0);
  --neutral-semi-dark: oklch(0.35 0 0);
  --neutral-dark: oklch(0.25 0 0);
  --neutral-ultra-dark: oklch(0.1 0 0);
  --white: #fff;
  --black: #000;
  --heading-color: var(--text-dark);
}
/* Feat: Default Section Styles */
:root {
  --content-width: 85.375rem;
  --content-width-safe: min(var(--content-width), calc(100% - var(--gutter) * 2));
}
/* Feat: Focus Styles */
:root {
  --focus-color: var(--primary);
  --focus-width: 2px;
  --focus-offset: 2px;
}
/* Feat: Text Defaults */
:root {
  --text-xxl-max-width: 100%;
  --text-xl-max-width: 100%;
  --text-l-max-width: 100%;
  --text-m-line-height: calc(6px + 2ex);
  --text-m-max-width: 100%;
  --text-s-max-width: 100%;
  --text-xs-max-width: 100%;
  --base-text-lh: calc(6px + 2ex);
  --text-color: var(--text-dark-muted);
  --text-line-height: calc(6px + 2ex);
  --text-text-wrap: pretty;
}
/* Feat: Heading Defaults */
:root {
  --heading-color: var(--text-dark);
  --heading-line-height: calc(4px + 2ex);
  --heading-font-weight: 700;
  --heading-text-wrap: balance;
  --base-heading-lh: calc(4px + 2ex);
  --h1-max-width: 100%;
  --h4-line-height: calc(4px + 2ex);
}
/* Feat: Text Size Variables */
:root {
  --text-xs: clamp(0.8125rem, calc(0.0994035785vw + 0.7901341948rem), 0.875rem);
  --text-s: clamp(0.875rem, calc(0.0994035785vw + 0.8526341948rem), 0.9375rem);
  --text-m: clamp(1rem, calc(0.1988071571vw + 0.9552683897rem), 1.125rem);
  --text-l: clamp(1.2rem, calc(0.4765407555vw + 1.09277833rem), 1.499625rem);
  --text-xl: clamp(1.44rem, calc(0.8890658052vw + 1.2399601938rem), 1.999000125rem);
  --text-xxl: clamp(1.728rem, calc(1.489729092vw + 1.3928109543rem), 2.6646671666rem);
  --text-s-to-xs: clamp(0.8125rem, calc(0.1988071571vw + 0.7677683897rem), 0.9375rem);
  --text-m-to-s: clamp(0.875rem, calc(0.3976143141vw + 0.7855367793rem), 1.125rem);
  --text-m-to-xs: clamp(0.8125rem, calc(0.4970178926vw + 0.7006709742rem), 1.125rem);
  --text-l-to-m: clamp(1rem, calc(0.7946322068vw + 0.8212077535rem), 1.499625rem);
  --text-l-to-s: clamp(0.875rem, calc(0.9934393638vw + 0.6514761431rem), 1.499625rem);
  --text-l-to-xs: clamp(0.8125rem, calc(1.0928429423vw + 0.566610338rem), 1.499625rem);
  --text-xl-to-l: clamp(1.2rem, calc(1.2707755467vw + 0.914075502rem), 1.999000125rem);
  --text-xl-to-m: clamp(1rem, calc(1.588866998vw + 0.6425049254rem), 1.999000125rem);
  --text-xl-to-s: clamp(0.875rem, calc(1.7876741551vw + 0.4727733151rem), 1.999000125rem);
  --text-xl-to-xs: clamp(0.8125rem, calc(1.8870777336vw + 0.3879075099rem), 1.999000125rem);
  --text-xxl-to-xl: clamp(1.44rem, calc(1.9477807819vw + 1.0017493241rem), 2.6646671666rem);
  --text-xxl-to-l: clamp(1.2rem, calc(2.3294905235vw + 0.6758646322rem), 2.6646671666rem);
  --text-xxl-to-m: clamp(1rem, calc(2.6475819748vw + 0.4042940557rem), 2.6646671666rem);
  --text-xxl-to-s: clamp(0.875rem, calc(2.8463891318vw + 0.2345624453rem), 2.6646671666rem);
  --text-xxl-to-xs: clamp(0.8125rem, calc(2.9457927103vw + 0.1496966402rem), 2.6646671666rem);
}
/* Feat: Heading Size Variables */
:root {
  --h6: clamp(0.8125rem, calc(0.0994035785vw + 0.7901341948rem), 0.875rem);
  --h5: clamp(0.875rem, calc(0.0994035785vw + 0.8526341948rem), 0.9375rem);
  --h4: clamp(1.125rem, calc(0.1988071571vw + 1.0802683897rem), 1.25rem);
  --h3: clamp(1.35rem, calc(0.5029821074vw + 1.2368290258rem), 1.66625rem);
  --h2: clamp(1.62rem, calc(0.9560417495vw + 1.4048906064rem), 2.22111125rem);
  --h1: clamp(1.944rem, calc(1.6170835726vw + 1.5801561962rem), 2.9607412962rem);
  --h5-to-h6: clamp(0.8125rem, calc(0.1988071571vw + 0.7677683897rem), 0.9375rem);
  --h4-to-h5: clamp(0.875rem, calc(0.5964214712vw + 0.740805169rem), 1.25rem);
  --h4-to-h6: clamp(0.8125rem, calc(0.6958250497vw + 0.6559393638rem), 1.25rem);
  --h3-to-h4: clamp(1.125rem, calc(0.8608349901vw + 0.9313121272rem), 1.66625rem);
  --h3-to-h5: clamp(0.875rem, calc(1.2584493042vw + 0.5918489066rem), 1.66625rem);
  --h3-to-h6: clamp(0.8125rem, calc(1.3578528827vw + 0.5069831014rem), 1.66625rem);
  --h2-to-h3: clamp(1.35rem, calc(1.3854652087vw + 1.038270328rem), 2.22111125rem);
  --h2-to-h4: clamp(1.125rem, calc(1.7433180915vw + 0.7327534294rem), 2.22111125rem);
  --h2-to-h5: clamp(0.875rem, calc(2.1409324056vw + 0.3932902087rem), 2.22111125rem);
  --h2-to-h6: clamp(0.8125rem, calc(2.2403359841vw + 0.3084244036rem), 2.22111125rem);
  --h1-to-h2: clamp(1.62rem, calc(2.1323917237vw + 1.1402118622rem), 2.9607412962rem);
  --h1-to-h3: clamp(1.35rem, calc(2.5618151829vw + 0.7735915838rem), 2.9607412962rem);
  --h1-to-h4: clamp(1.125rem, calc(2.9196680656vw + 0.4680746852rem), 2.9607412962rem);
  --h1-to-h5: clamp(0.875rem, calc(3.3172823797vw + 0.1286114646rem), 2.9607412962rem);
  --h1-to-h6: clamp(0.8125rem, calc(3.4166859583vw + 0.0437456594rem), 2.9607412962rem);
}
/* Feat: Default Section Styles */
:root {
  --section-padding-block: var(--section-space-m);
  --gutter: clamp(1rem, calc(6.3618290258vw + -0.4314115308rem), 5rem);
}
/* Feat: Space Variables */
:root {
  --space-xs: clamp(0.8333333333rem, calc(-0.0172384889vw + 0.8480506933rem), 0.8441720333rem);
  --space-s: clamp(1.1252813203rem, calc(0.1983597291vw + 1.0806503813rem), 1.25rem);
  --space-s-to-xs: clamp(0.8441720333rem, calc(0.6454520346vw + 0.6989453255rem), 1.25rem);
  --space-m: clamp(1.5rem, calc(0.5964214712vw + 1.365805169rem), 1.875rem);
  --space-m-to-s: clamp(1.1252813203rem, calc(1.1923955144vw + 0.8569923296rem), 1.875rem);
  --space-m-to-xs: clamp(0.8441720333rem, calc(1.6394878199vw + 0.4752872738rem), 1.875rem);
  --space-l: clamp(1.9995rem, calc(1.2930417495vw + 1.7085656064rem), 2.8125rem);
  --space-l-to-m: clamp(1.5rem, calc(2.0874751491vw + 1.0303180915rem), 2.8125rem);
  --space-l-to-s: clamp(1.1252813203rem, calc(2.6834491923vw + 0.5215052521rem), 2.8125rem);
  --space-l-to-xs: clamp(0.8441720333rem, calc(3.1305414978vw + 0.1398001963rem), 2.8125rem);
  --space-xl: clamp(2.6653335rem, calc(2.4706425447vw + 2.1094389274rem), 4.21875rem);
  --space-xl-to-l: clamp(1.9995rem, calc(3.5296222664vw + 1.2053349901rem), 4.21875rem);
  --space-xl-to-m: clamp(1.5rem, calc(4.324055666vw + 0.5270874751rem), 4.21875rem);
  --space-xl-to-s: clamp(1.1252813203rem, calc(4.9200297092vw + 0.0182746358rem), 4.21875rem);
  --space-xl-to-xs: clamp(0.8441720333rem, calc(5.3671220147vw + -0.3634304201rem), 4.21875rem);
  --space-xxl: clamp(3.5528895555rem, calc(4.4138933511vw + 2.5597635515rem), 6.328125rem);
  --space-xxl-to-xl: clamp(2.6653335rem, calc(5.8255133201vw + 1.354593003rem), 6.328125rem);
  --space-xxl-to-l: clamp(1.9995rem, calc(6.8844930417vw + 0.4504890656rem), 6.328125rem);
  --space-xxl-to-m: clamp(1.5rem, calc(7.6789264414vw + -0.2277584493rem), 6.328125rem);
  --space-xxl-to-s: clamp(1.1252813203rem, calc(8.2749004846vw + -0.7365712887rem), 6.328125rem);
  --space-xxl-to-xs: clamp(0.8441720333rem, calc(8.7219927901vw + -1.1182763445rem), 6.328125rem);
}
/* Feat: Section Space Variables */
:root {
  --section-space-xs: clamp(1.6883440665rem, calc(1.2909040692vw + 1.3978906509rem), 2.5rem);
  --section-space-s: clamp(2.2505626407rem, calc(2.3847910288vw + 1.7139846592rem), 3.75rem);
  --section-space-s-to-xs: clamp(1.6883440665rem, calc(3.2789756397vw + 0.9505745476rem), 3.75rem);
  --section-space-m: clamp(3rem, calc(4.1749502982vw + 2.0606361829rem), 5.625rem);
  --section-space-m-to-s: clamp(2.2505626407rem, calc(5.3668983846vw + 1.0430105041rem), 5.625rem);
  --section-space-m-to-xs: clamp(1.6883440665rem, calc(6.2610829956vw + 0.2796003925rem), 5.625rem);
  --section-space-l: clamp(3.999rem, calc(7.0592445328vw + 2.4106699801rem), 8.4375rem);
  --section-space-l-to-m: clamp(3rem, calc(8.648111332vw + 1.0541749503rem), 8.4375rem);
  --section-space-l-to-s: clamp(2.2505626407rem, calc(9.8400594184vw + 0.0365492715rem), 8.4375rem);
  --section-space-l-to-xs: clamp(1.6883440665rem, calc(10.7342440294vw + -0.7268608401rem), 8.4375rem);
  --section-space-xl: clamp(5.330667rem, calc(11.6510266402vw + 2.709186006rem), 12.65625rem);
  --section-space-xl-to-l: clamp(3.999rem, calc(13.7689860835vw + 0.9009781312rem), 12.65625rem);
  --section-space-xl-to-m: clamp(3rem, calc(15.3578528827vw + -0.4555168986rem), 12.65625rem);
  --section-space-xl-to-s: clamp(2.2505626407rem, calc(16.5498009691vw + -1.4731425774rem), 12.65625rem);
  --section-space-xl-to-xs: clamp(1.6883440665rem, calc(17.4439855801vw + -2.236552689rem), 12.65625rem);
  --section-space-xxl: clamp(7.105779111rem, calc(18.8923990282vw + 2.8549893296rem), 18.984375rem);
  --section-space-xxl-to-xl: clamp(5.330667rem, calc(21.7156389662vw + 0.4446482326rem), 18.984375rem);
  --section-space-xxl-to-l: clamp(3.999rem, calc(23.8335984095vw + -1.3635596421rem), 18.984375rem);
  --section-space-xxl-to-m: clamp(3rem, calc(25.4224652087vw + -2.720054672rem), 18.984375rem);
  --section-space-xxl-to-s: clamp(2.2505626407rem, calc(26.6144132952vw + -3.7376803508rem), 18.984375rem);
  --section-space-xxl-to-xs: clamp(1.6883440665rem, calc(27.5085979061vw + -4.5010904624rem), 18.984375rem);
}
/* Feat: Contextual Space Variables */
:root {
  --content-gap: var(--space-m);
  --container-gap: var(--space-xl);
  --grid-gap: var(--space-m);
}
/* Feat: Width Variables */
:root {
  --width-10: calc(var(--content-width) * 0.1);
  --width-20: calc(var(--content-width) * 0.2);
  --width-30: calc(var(--content-width) * 0.3);
  --width-40: calc(var(--content-width) * 0.4);
  --width-50: calc(var(--content-width) * 0.5);
  --width-60: calc(var(--content-width) * 0.6);
  --width-70: calc(var(--content-width) * 0.7);
  --width-80: calc(var(--content-width) * 0.8);
  --width-90: calc(var(--content-width) * 0.9);
  --width-full: calc(var(--content-width) * 100%);
}
/* Feat: Grid Variables */
:root {
  --grid-1: repeat(1, minmax(0, 1fr));
  --grid-2: repeat(2, minmax(0, 1fr));
  --grid-3: repeat(3, minmax(0, 1fr));
  --grid-4: repeat(4, minmax(0, 1fr));
  --grid-5: repeat(5, minmax(0, 1fr));
  --grid-6: repeat(6, minmax(0, 1fr));
  --grid-7: repeat(7, minmax(0, 1fr));
  --grid-8: repeat(8, minmax(0, 1fr));
  --grid-9: repeat(9, minmax(0, 1fr));
  --grid-10: repeat(10, minmax(0, 1fr));
  --grid-11: repeat(11, minmax(0, 1fr));
  --grid-12: repeat(12, minmax(0, 1fr));
  --grid-1-2: minmax(0, 1fr) minmax(0, 2fr);
  --grid-1-3: minmax(0, 1fr) minmax(0, 3fr);
  --grid-2-1: minmax(0, 2fr) minmax(0, 1fr);
  --grid-2-3: minmax(0, 2fr) minmax(0, 3fr);
  --grid-3-1: minmax(0, 3fr) minmax(0, 1fr);
  --grid-3-2: minmax(0, 3fr) minmax(0, 2fr);
}
/* Feat: Auto Grid Variables */
:root {
  --grid-auto-2: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((2 - 1) * var(--grid-gap))) / 2) * 0.7, (100% - (2 - 1) * var(--grid-gap)) / 2)), 1fr));
  --grid-auto-3: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((3 - 1) * var(--grid-gap))) / 3) * 0.7, (100% - (3 - 1) * var(--grid-gap)) / 3)), 1fr));
  --grid-auto-4: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((4 - 1) * var(--grid-gap))) / 4) * 0.7, (100% - (4 - 1) * var(--grid-gap)) / 4)), 1fr));
  --grid-auto-5: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((5 - 1) * var(--grid-gap))) / 5) * 0.7, (100% - (5 - 1) * var(--grid-gap)) / 5)), 1fr));
  --grid-auto-6: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((6 - 1) * var(--grid-gap))) / 6) * 0.7, (100% - (6 - 1) * var(--grid-gap)) / 6)), 1fr));
  --grid-auto-7: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((7 - 1) * var(--grid-gap))) / 7) * 0.7, (100% - (7 - 1) * var(--grid-gap)) / 7)), 1fr));
  --grid-auto-8: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((8 - 1) * var(--grid-gap))) / 8) * 0.7, (100% - (8 - 1) * var(--grid-gap)) / 8)), 1fr));
  --grid-auto-9: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((9 - 1) * var(--grid-gap))) / 9) * 0.7, (100% - (9 - 1) * var(--grid-gap)) / 9)), 1fr));
  --grid-auto-10: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((10 - 1) * var(--grid-gap))) / 10) * 0.7, (100% - (10 - 1) * var(--grid-gap)) / 10)), 1fr));
  --grid-auto-11: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((11 - 1) * var(--grid-gap))) / 11) * 0.7, (100% - (11 - 1) * var(--grid-gap)) / 11)), 1fr));
  --grid-auto-12: repeat(auto-fit, minmax(min(100%, max(calc((var(--content-width) - ((12 - 1) * var(--grid-gap))) / 12) * 0.7, (100% - (12 - 1) * var(--grid-gap)) / 12)), 1fr));
  --auto-grid-aggressiveness: 0.7;
}
/* Feat: Header Height Variables */
:root {
  --header-height: clamp(0rem, calc(0vw + 0rem), 0rem);
  --admin-bar-height: var(--wp-admin--admin-bar--height, 0px);
}
:root {
  --scroll-margin: clamp(0rem, calc(0vw + 0rem), 0rem);
  --offset: calc(var(--scroll-margin) + var(--header-height));
}
/* Feat: Smart Spacing */
:root {
  --paragraph-spacing: 1em;
  --heading-spacing: 1.2em;
  --list-spacing: var(--paragraph-spacing);
  --list-indent-spacing: 2em;
  --list-item-spacing: 0.5em;
  --nested-list-indent-spacing: 1em;
  --flow-spacing: var(--paragraph-spacing);
  --figure-spacing: var(--paragraph-spacing);
  --figcaption-spacing: 0.5em;
  --blockquote-spacing: var(--paragraph-spacing);
}
/* Feat: Buttons */
:root {
  --option-primary-btn-outline: on;
  --option-secondary-btn-outline: on;
  --btn-padding-block: 0.5em;
  --btn-padding-inline: 1.25em;
  --btn-min-width: 8.75rem;
  --btn-width: max-content;
  --btn-line-height: 1;
  --btn-font-size: var(--text-m);
  --btn-font-weight: 400;
  --btn-font-family: inherit;
  --btn-font-style: normal;
  --btn-text-decoration: none;
  --btn-text-decoration-hover: none;
  --btn-letter-spacing: 0;
  --btn-text-transform: none;
  --btn-border-width: 1.5px;
  --btn-border-style: solid;
  --btn-border-radius: var(--radius);
  --btn-radius: var(--radius);
  --btn-justify-content: center;
  --btn-align-items: center;
  --btn-text-align: center;
}
/* Feat: Link Variables */
:root {
  --link-color: var(--primary);
  --link-color-hover: var(--primary-hover);
  --link-transition: var(--transition);
  --link-decoration: inherit;
  --link-decoration-hover: inherit;
  --link-underline-offset: auto;
  --link-weight: inherit;
}
/* Feat: Column Variables */
:root {
  --col-width-s: 13rem;
  --col-width-m: 25rem;
  --col-width-l: 38rem;
  --col-rule-width-s: 0.5px;
  --col-rule-width-m: 1px;
  --col-rule-width-l: 3px;
}
/* Feat: Sticky Variables */
:root {
  --sticky-offset-custom: 60px;
  --sticky-offset: var(--header-height, var(--sticky-offset-custom, 0));
}
/* Contextual Color Variables */
:root {
  --body-bg-color: var(--white);
  --bg-ultra-light: var(--neutral-ultra-light);
  --bg-light: var(--neutral-light);
  --bg-dark: var(--neutral-dark);
  --bg-ultra-dark: var(--neutral-ultra-dark);
  --text-light: var(--white);
  --text-light-muted: color-mix(in srgb, var(--text-light) 80%, transparent);
  --text-dark: var(--black);
  --text-dark-muted: color-mix(in srgb, var(--text-dark) 80%, transparent);
}
/* Feat: Contextual Relationship Variables */
:root {
  --bg-ultra-light-text: var(--text-dark);
  --bg-light-text: var(--text-dark);
  --bg-dark-text: var(--text-light);
  --bg-ultra-dark-text: var(--text-light);
  --bg-ultra-light-heading: var(--text-dark);
  --bg-light-heading: var(--text-dark);
  --bg-dark-heading: var(--text-light);
  --bg-ultra-dark-heading: var(--text-light);
  --bg-ultra-light-button: primary;
  --bg-light-button: primary;
  --bg-dark-button: primary;
  --bg-ultra-dark-button: primary;
  --bg-ultra-light-icon: light;
  --bg-light-icon: light;
  --bg-dark-icon: dark;
  --bg-ultra-dark-icon: dark;
}
/* Feat: Radius Variables */
:root {
  --radius: 5px;
  --radius-50: 50%;
  --radius-circle: 50vw;
  --radius-none: 0;
  --radius-xs: 2.2222222222px;
  --radius-s: 3.3333333333px;
  --radius-m: 5px;
  --radius-l: 7.5px;
  --radius-xl: 11.25px;
  --radius-xxl: 16.875px;
}
/* Feat: Border Variables */
:root {
  --border-size: 1px;
  --border-width: 1px;
  --border-style: solid;
  --border-color-dark: color-mix(in oklch, var(--black) 20%, transparent);
  --border-color-light: color-mix(in oklch, var(--white) 20%, transparent);
  --border: var(--border-size) var(--border-style) var(--border-color-dark);
  --border-light: var(--border-size) var(--border-style) var(--border-color-light);
  --border-dark: var(--border-size) var(--border-style) var(--border-color-dark);
}
/* Feat: Divider Variables */
:root {
  --divider-size: 1px;
  --divider-style: solid;
  --divider-inline-size: 100%;
  --divider-gap: var(--content-gap);
  --divider-color-dark: color-mix(in srgb, var(--black) 20%, transparent);
  --divider-color-light: color-mix(in srgb, var(--white) 20%, transparent);
  --divider: var(--divider-size) var(--divider-style) var(--divider-color-dark);
  --divider-light: var(--divider-size) var(--divider-style) var(--divider-color-light);
  --divider-dark: var(--divider-size) var(--divider-style) var(--divider-color-dark);
}
/* Feat: Transition Variables */
:root {
  --transition-duration: 0.3s;
  --transition-timing: ease-in-out;
  --transition-delay: 0s;
  --transition: 0.3s ease-in-out 0s;
}
/* Feat: Icon Variables */
:root {
  --icon-scheme: inherit;
  --icon-size: 32px;
  --icon-padding: 0.15em;
  --icon-radius: var(--radius);
  --icon-background: var(--neutral-ultra-light);
  --icon-background-hover: var(--neutral-light);
  --icon-border-color: var(--border-color-dark);
  --icon-border-color-hover: inherit;
  --icon-border-width: var(--border-width);
  --icon-border-style: var(--border-style);
  --icon-color: var(--text-dark-muted);
  --icon-color-hover: var(--primary);
  --icon-list-icon-size: 1em;
  --icon-list-gap: 1em;
  --icon-size-xs: 12px;
  --icon-size-s: 16px;
  --icon-size-m: 32px;
  --icon-size-l: 64px;
  --icon-size-xl: 128px;
  --icon-padding-xs: var(--icon-padding);
  --icon-padding-s: var(--icon-padding);
  --icon-padding-m: var(--icon-padding);
  --icon-padding-l: var(--icon-padding);
  --icon-padding-xl: var(--icon-padding);
}
/* Feat: Box Shadow Variables */
:root {
  --box-shadow-1: 0 0 40px color-mix(in srgb, black 10%, transparent);
  --box-shadow-2: 0 0 60px color-mix(in srgb, black 20%, transparent);
  --box-shadow-3: 0 0 80px color-mix(in srgb, black 30%, transparent);
}
/* Feat: Text Shadow Variables */
:root {
  --text-shadow-1: 0 1px 2px color-mix(in srgb, black 20%, transparent);
  --text-shadow-2: 0 2px 4px color-mix(in srgb, black 30%, transparent);
  --text-shadow-3: 0 4px 8px color-mix(in srgb, black 40%, transparent);
}
/* Feat: Drop Shadow Variables */
:root {
  --drop-shadow-1: drop-shadow(0 1px 2px color-mix(in srgb, black 15%, transparent));
  --drop-shadow-2: drop-shadow(0 4px 6px color-mix(in srgb, black 20%, transparent));
  --drop-shadow-3: drop-shadow(0 10px 15px color-mix(in srgb, black 25%, transparent));
}
/* Feat: Blockquote Variables */
:root {
  --blockquote-padding: var(--space-m);
  --blockquote-gap: 1em;
  --blockquote-border-width: 0 0 0 3px;
  --blockquote-border-style: solid;
  --blockquote-border-color: var(--primary);
  --blockquote-border-radius: var(--radius);
  --blockquote-background: var(--neutral-ultra-light);
  --blockquote-box-shadow: none;
  --blockquote-text-color: inherit;
  --blockquote-text-font-family: inherit;
  --blockquote-text-font-style: normal;
  --blockquote-text-font-size: var(--text-l);
  --blockquote-text-font-weight: normal;
  --blockquote-text-line-height: inherit;
  --blockquote-text-text-align: left;
  --blockquote-text-text-transform: none;
  --blockquote-footer-padding: 0;
  --blockquote-footer-margin-block: 1em 0;
  --blockquote-footer-font-family: inherit;
  --blockquote-footer-font-size: var(--text-s);
  --blockquote-footer-font-weight: normal;
  --blockquote-footer-font-style: normal;
  --blockquote-footer-line-height: 1.5;
  --blockquote-footer-text-transform: none;
  --blockquote-footer-color: currentColor;
  --blockquote-cite-font-family: inherit;
  --blockquote-cite-font-size: inherit;
  --blockquote-cite-font-weight: inherit;
  --blockquote-cite-font-style: inherit;
  --blockquote-cite-line-height: inherit;
  --blockquote-cite-text-transform: inherit;
  --blockquote-cite-color: currentColor;
}

/* File: automatic.css - Version: 4.0.1 - Generated: 2026-08-14 17:29:28 */
@layer acss-defaults {
  /* Color Scheme */
  :root {
    color-scheme: light only;
  }
  .scheme--light {
    color-scheme: light;
  }
  .scheme--dark {
    color-scheme: dark;
  }
  /* Feat: Reset */
  :root {
    interpolate-size: allow-keywords;
  }
  *, *::before, *::after {
    box-sizing: border-box;
  }
  body {
    min-block-size: 100svh;
  }
  input, button, textarea, select {
    font: inherit;
  }
  button:not(nav button, [class*="btn--"]) {
    line-height: var(--btn-line-height);
    letter-spacing: var(--btn-letter-spacing);
    text-transform: var(--btn-text-transform);
    text-decoration: var(--btn-text-decoration);
    text-align: var(--btn-text-align);
    font-weight: var(--btn-font-weight);
    font-style: var(--btn-font-style);
    font-family: var(--btn-font-family);
  }
  :where(dd) {
    margin-inline-start: 0;
  }
  /* Feat: Body, Heading, or Text Defaults */
  html {
    font-size: var(--root-font-size) !important;
  }
  /* Feat: Body Defaults */
  :where(body) {
    font-size: var(--text-m);
    overflow-x: clip;
    color: var(--text-color);
    line-height: var(--text-line-height);
    text-wrap: var(--text-text-wrap);
    background: var(--body-bg-color);
    transition: background var(--transition);
  }
  :where(p) {
    line-height: var(--text-line-height, calc(6px + 2ex));
  }
  /* Feat: Link Defaults */
  body a:where(:not([class*= btn--])) {
    color: var(--link-color, var(--primary));
    font-weight: var(--link-weight, inherit);
    -webkit-text-decoration: var(--link-decoration, inherit);
    text-decoration: var(--link-decoration, inherit);
    text-underline-offset: var(--link-underline-offset, auto);
    transition: var(--link-transition, var(--transition));
  }
  @media (hover: hover) and (pointer: fine) {
    body a:where(:not([class*= btn--])):hover {
      color: var(--link-color-hover, var(--primary-hover));
    }
  }
  /* Feat: Heading Defaults */
  h1, :where(.h1), h2, :where(.h2), h3, :where(.h3), h4, :where(.h4), h5, :where(.h5), h6, :where(.h6) {
    color: var(--heading-color);
    line-height: var(--heading-line-height);
    font-weight: var(--heading-font-weight);
    text-wrap: var(--heading-text-wrap);
  }
  h1 {
    font-size: var(--h1);
    max-width: var(--h1-max-width);
  }
  h2 {
    font-size: var(--h2);
  }
  h3 {
    font-size: var(--h3);
  }
  h4 {
    font-size: var(--h4);
    line-height: var(--h4-line-height);
  }
  h5 {
    font-size: var(--h5);
  }
  h6 {
    font-size: var(--h6);
  }
  /* Feat: Blockquote Styling */
  :where(blockquote:where(:not(figure > blockquote)), figure:has(> blockquote), .blockquote):where(:not(:is(:is([class*="-card"] blockquote, figure[class*="-card"], figure[class*="-card"] blockquote)))) {
    display: flex;
    flex-direction: column;
    gap: var(--blockquote-gap);
    inline-size: 100%;
    padding: var(--blockquote-padding);
    gap: var(--blockquote-gap);
    border-width: var(--blockquote-border-width);
    border-style: var(--blockquote-border-style);
    border-color: var(--blockquote-border-color);
    border-radius: var(--blockquote-border-radius);
    background: var(--blockquote-background);
    box-shadow: var(--blockquote-box-shadow);
  }
  :where(blockquote:where(:not(figure > blockquote)), figure:has(> blockquote), .blockquote):where(:not(:is(:is([class*="-card"] blockquote, figure[class*="-card"], figure[class*="-card"] blockquote)))) p {
    color: var(--blockquote-text-color);
    font-family: var(--blockquote-text-font-family);
    font-style: var(--blockquote-text-font-style);
    font-size: var(--blockquote-text-font-size);
    font-weight: var(--blockquote-text-font-weight);
    line-height: var(--blockquote-text-line-height);
    text-align: var(--blockquote-text-text-align);
    text-transform: var(--blockquote-text-text-transform);
  }
  :where(blockquote:where(:not(figure > blockquote)), figure:has(> blockquote), .blockquote):where(:not(:is(:is([class*="-card"] blockquote, figure[class*="-card"], figure[class*="-card"] blockquote)))) footer, :where(blockquote:where(:not(figure > blockquote)), figure:has(> blockquote), .blockquote):where(:not(:is(:is([class*="-card"] blockquote, figure[class*="-card"], figure[class*="-card"] blockquote)))) figcaption {
    display: var(--blockquote-footer-display, flex);
    flex-direction: var(--blockquote-footer-flex-direction, row);
    align-items: var(--blockquote-footer-align-items, center);
    gap: var(--blockquote-footer-gap, calc(var(--content-gap) / 2));
    padding: var(--blockquote-footer-padding);
    margin-block: var(--blockquote-footer-margin-block);
    font-family: var(--blockquote-footer-font-family);
    font-size: var(--blockquote-footer-font-size);
    font-weight: var(--blockquote-footer-font-weight);
    font-style: var(--blockquote-footer-font-style);
    line-height: var(--blockquote-footer-line-height);
    text-transform: var(--blockquote-footer-text-transform);
    color: var(--blockquote-footer-color);
  }
  :where(blockquote:where(:not(figure > blockquote)), figure:has(> blockquote), .blockquote):where(:not(:is(:is([class*="-card"] blockquote, figure[class*="-card"], figure[class*="-card"] blockquote)))) cite, :where(blockquote:where(:not(figure > blockquote)), figure:has(> blockquote), .blockquote):where(:not(:is(:is([class*="-card"] blockquote, figure[class*="-card"], figure[class*="-card"] blockquote)))) figcaption cite {
    font-family: var(--blockquote-cite-font-family);
    font-size: var(--blockquote-cite-font-size);
    font-weight: var(--blockquote-cite-font-weight);
    font-style: var(--blockquote-cite-font-style);
    line-height: var(--blockquote-cite-line-height);
    text-transform: var(--blockquote-cite-text-transform);
    color: var(--blockquote-cite-color);
  }
}
@layer acss-layer-anchors {
  .btn--primary {
    --btn-background: var(--primary);
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .btn--primary-dark {
    --btn-background: var(--primary-dark);
    --btn-background-hover: var(--primary-ultra-dark);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-semi-dark);
  }
  .btn--primary-light {
    --btn-background: var(--primary-ultra-light);
    --btn-background-hover: var(--primary-light);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary-ultra-dark);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .btn--primary.btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .btn--primary-dark.btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-dark);
    --btn-text-color: var(--primary-dark);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary-dark);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .btn--primary-light.btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-light);
    --btn-text-color: var(--primary-light);
    --btn-text-color-hover: var(--primary-dark);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary-light);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  [class*="btn--"]:where(:not(.btn--none, .wp-block-button)), [class*="btn--"].wp-block-button > .wp-block-button__link {
    background: var(--btn-background);
    color: var(--btn-text-color);
    padding-block: var(--btn-padding-block);
    padding-inline: var(--btn-padding-inline);
    inline-size: var(--btn-width, auto);
    min-inline-size: var(--btn-min-width);
    line-height: var(--btn-line-height);
    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size, var(--text-m));
    font-weight: var(--btn-font-weight);
    font-style: var(--btn-font-style);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    text-decoration: var(--btn-text-decoration);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
    border-color: var(--btn-border-color);
    transition: var(--btn-transition, var(--transition));
    justify-content: var(--btn-justify-content, center);
    align-items: var(--btn-align-items, center);
    text-align: var(--btn-text-align, center);
    display: var(--btn-display, inline-flex);
  }
  @media (hover: hover) and (pointer: fine) {
    [class*="btn--"]:where(:not(.btn--none, .wp-block-button)):hover, [class*="btn--"].wp-block-button > .wp-block-button__link:hover {
      background: var(--btn-background-hover);
      color: var(--btn-text-color-hover);
      border-color: var(--btn-border-color-hover);
      text-decoration: var(--btn-text-decoration-hover);
    }
  }
  [class*="btn--"]:where(:not(.btn--none, .wp-block-button)):where(:focus-visible), [class*="btn--"].wp-block-button > .wp-block-button__link:where(:focus-visible) {
    outline-style: solid;
    outline-color: var(--focus-color);
    outline-width: var(--focus-width);
    outline-offset: var(--focus-offset);
  }
  .btn--xs {
    --btn-font-size: var(--text-xs);
  }
  .btn--s {
    --btn-font-size: var(--text-s);
  }
  .btn--m {
    --btn-font-size: var(--text-m);
  }
  .btn--l {
    --btn-font-size: var(--text-l);
  }
  .btn--xl {
    --btn-font-size: var(--text-xl);
  }
  .btn--xxl {
    --btn-font-size: var(--text-xxl);
  }
  .btn--none {
    background: none;
    border: none;
  }
}
@layer acss-layer-icons {
  [data-icon]:is(svg, i, a) {
    color-scheme: var(--icon-scheme, default);
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    box-sizing: content-box;
    color: var(--icon-color, var(--neutral-dark));
    font-size: var(--icon-size);
    height: var(--icon-height, var(--icon-size, 24px));
    width: var(--icon-width, var(--icon-size, 24px));
    transition: var(--icon-transition, var(--transition));
    box-shadow: var(--icon-shadow, none);
    overflow: visible;
  }
  [data-icon]:is(i)::before {
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: var(--icon-size);
  }
  [data-icon] svg {
    color: var(--icon-color);
  }
  [data-icon]:is(a):hover, a:hover [data-icon], [data-icon] [data-icon-hover]:hover, [data-icon] [data-icon-hover]:hover [data-icon] {
    --icon-background: var(--icon-background-hover);
    --icon-color: var(--icon-color-hover);
    --icon-border-color: var(--icon-border-color-hover);
  }
  .icon--xs, [data-icon-size="xs"] {
    --icon-size: var(--icon-size-xs);
    --icon-padding: var(--icon-padding-xs);
  }
  .icon--s, [data-icon-size="s"] {
    --icon-size: var(--icon-size-s);
    --icon-padding: var(--icon-padding-s);
  }
  .icon--m, [data-icon-size="m"] {
    --icon-size: var(--icon-size-m);
    --icon-padding: var(--icon-padding-m);
  }
  .icon--l, [data-icon-size="l"] {
    --icon-size: var(--icon-size-l);
    --icon-padding: var(--icon-padding-l);
  }
  .icon--xl, [data-icon-size="xl"] {
    --icon-size: var(--icon-size-xl);
    --icon-padding: var(--icon-padding-xl);
  }
  .icon--2xl, [data-icon-size="2xl"] {
    --icon-size: var(--icon-size-2xl);
    --icon-padding: var(--icon-padding-2xl);
  }
  .icon--boxed, [data-icon-style="boxed"] {
    padding: var(--icon-padding, 12px);
    border-width: var(--icon-border-width, 0);
    border-style: var(--icon-border-style, solid);
    border-radius: var(--icon-radius, var(--radius));
    background: var(--icon-background, var(--neutral-ultra-light));
    border-color: var(--icon-border-color, transparent);
  }
  .icon--plain, [data-icon-style="plain"] {
    --icon-background: transparent;
    --icon-border-width: 0;
    --icon-padding: 0;
  }
  :is([data-icon-list], .icon-list) {
    display: flex;
    flex-direction: column;
    gap: var(--icon-list-gap, 1em);
  }
  :is([data-icon-list], .icon-list) :where(svg, i) {
    --icon-size: var(--icon-list-icon-size, 1em);
    position: relative;
    translate: var(--icon-inline-offset, 0) var(--icon-block-offset, 0);
    flex-shrink: 0;
  }
  :is([data-icon-list], .icon-list) :where(svg, i):is(svg, i, a) {
    color-scheme: var(--icon-scheme, default);
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    box-sizing: content-box;
    color: var(--icon-color, var(--neutral-dark));
    font-size: var(--icon-size);
    height: var(--icon-height, var(--icon-size, 24px));
    width: var(--icon-width, var(--icon-size, 24px));
    transition: var(--icon-transition, var(--transition));
    box-shadow: var(--icon-shadow, none);
    overflow: visible;
  }
  :is([data-icon-list], .icon-list) :where(svg, i):is(i)::before {
    width: 100%;
    height: 100%;
    text-align: center;
    font-size: var(--icon-size);
  }
  :is([data-icon-list], .icon-list) :where(svg, i) svg {
    color: var(--icon-color);
  }
  :is([data-icon-list], .icon-list) :where(svg, i):is(a):hover, a:hover :is([data-icon-list], .icon-list) :where(svg, i), :is([data-icon-list], .icon-list) :where(svg, i) [data-icon-hover]:hover, :is([data-icon-list], .icon-list) :where(svg, i) [data-icon-hover]:hover [data-icon] {
    --icon-background: var(--icon-background-hover);
    --icon-color: var(--icon-color-hover);
    --icon-border-color: var(--icon-border-color-hover);
  }
  :is([data-icon-list], .icon-list) a:hover {
    --icon-color: var(--icon-color-hover, var(--primary));
    --icon-background: var(--icon-background-hover, var(--primary-hover));
  }
  :where(a, button):has(> svg, > i):hover {
    --icon-color: var(--icon-color-hover, var(--primary));
    --icon-background: var(--icon-background-hover, var(--primary-hover));
  }
}
@layer acss-layer-utilities {
  /* Scroll offset */
  [id] {
    scroll-margin-top: var(--offset, 0);
  }
  /* Feat: Smooth Scrolling */
  html {
    scroll-behavior: smooth;
  }
  html:has(:focus-visible) {
    scroll-behavior: auto;
  }
  .hidden-accessible {
    position: absolute !important;
    inline-size: 1px !important;
    block-size: 1px !important;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(100%);
    white-space: nowrap;
    /* added line */
    border: 0;
  }
  @media (prefers-reduced-motion: reduce) {
    html:focus-within {
      scroll-behavior: auto;
    }
    *, *::before, *::after {
      -webkit-animation-duration: 0.01ms !important;
      animation-duration: 0.01ms !important;
      -webkit-animation-iteration-count: 1 !important;
      animation-iteration-count: 1 !important;
      transition-duration: 0.01ms !important;
      scroll-behavior: auto !important;
    }
  }
  .skip-link {
    position: absolute !important;
    inset-block-start: 1rem;
    inset-inline-start: 1rem;
    transform: translateY(-250%);
    --btn-min-width: fit-content;
    z-index: 100;
    background: var(--btn-background);
    color: var(--btn-text-color);
    padding-block: var(--btn-padding-block);
    padding-inline: var(--btn-padding-inline);
    inline-size: var(--btn-width, auto);
    min-inline-size: var(--btn-min-width);
    line-height: var(--btn-line-height);
    font-family: var(--btn-font-family);
    font-size: var(--btn-font-size, var(--text-m));
    font-weight: var(--btn-font-weight);
    font-style: var(--btn-font-style);
    text-transform: var(--btn-text-transform);
    letter-spacing: var(--btn-letter-spacing);
    text-decoration: var(--btn-text-decoration);
    border-width: var(--btn-border-width);
    border-style: var(--btn-border-style);
    border-radius: var(--btn-border-radius);
    border-color: var(--btn-border-color);
    transition: var(--btn-transition, var(--transition));
    justify-content: var(--btn-justify-content, center);
    align-items: var(--btn-align-items, center);
    text-align: var(--btn-text-align, center);
    display: var(--btn-display, inline-flex);
    --btn-background: var(--primary);
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  @media (hover: hover) and (pointer: fine) {
    .skip-link:hover {
      background: var(--btn-background-hover);
      color: var(--btn-text-color-hover);
      border-color: var(--btn-border-color-hover);
      text-decoration: var(--btn-text-decoration-hover);
    }
  }
  .skip-link:where(:focus-visible) {
    outline-style: solid;
    outline-color: var(--focus-color);
    outline-width: var(--focus-width);
    outline-offset: var(--focus-offset);
  }
  .skip-link:focus-visible {
    transform: translateY(0);
  }
  /* Feat: Focus Styles */
  :focus {
    outline: none;
    box-shadow: none;
  }
  :focus-visible {
    outline-style: solid;
    outline-color: var(--focus-color);
    outline-width: var(--focus-width);
    outline-offset: var(--focus-offset);
  }
  @supports not selector(:focus-visible) {
    :focus {
      outline-style: solid;
      outline-color: var(--focus-color);
      outline-width: var(--focus-width);
      outline-offset: var(--focus-offset);
    }
  }
  /* Feat: Default Section Styles */
  :where(section:not(section section)) {
    display: flex;
    flex-direction: column;
    padding-block: var(--section-padding-block);
    padding-inline: var(--gutter);
  }
  :where(body > header) {
    padding-block: var(--space-xs);
    padding-inline: var(--gutter);
  }
  :where(body > footer) {
    padding-block: var(--section-padding-block);
    padding-inline: var(--gutter);
  }
  .bg--ultra-light {
    background: var(--bg-ultra-light);
  }
  .bg--light {
    background: var(--bg-light);
  }
  .bg--dark {
    background: var(--bg-dark);
  }
  .bg--ultra-dark {
    background: var(--bg-ultra-dark);
  }
  .text--light {
    color: var(--text-light);
  }
  .text--light-muted {
    color: var(--text-light-muted);
  }
  .text--dark {
    color: var(--text-dark);
  }
  .text--dark-muted {
    color: var(--text-dark-muted);
  }
  :where(.bg--ultra-light) {
    --relative-text-color: var(--bg-ultra-light-text);
    color: var(--relative-text-color, inherit);
  }
  :where(.bg--light) {
    --relative-text-color: var(--bg-light-text);
    color: var(--relative-text-color, inherit);
  }
  :where(.bg--dark) {
    --relative-text-color: var(--bg-dark-text);
    color: var(--relative-text-color, inherit);
  }
  :where(.bg--ultra-dark) {
    --relative-text-color: var(--bg-ultra-dark-text);
    color: var(--relative-text-color, inherit);
  }
  .bg--ultra-light :where(h1, h2, h3, h4, h5, h6) {
    color: var(--relative-heading-color, inherit);
  }
  .bg--light :where(h1, h2, h3, h4, h5, h6) {
    color: var(--relative-heading-color, inherit);
  }
  .bg--dark :where(h1, h2, h3, h4, h5, h6) {
    color: var(--relative-heading-color, inherit);
  }
  .bg--ultra-dark :where(h1, h2, h3, h4, h5, h6) {
    color: var(--relative-heading-color, inherit);
  }
  .bg--ultra-light {
    --relative-heading-color: var(--bg-ultra-light-heading);
  }
  .bg--light {
    --relative-heading-color: var(--bg-light-heading);
  }
  .bg--dark {
    --relative-heading-color: var(--bg-dark-heading);
  }
  .bg--ultra-dark {
    --relative-heading-color: var(--bg-ultra-dark-heading);
  }
  .bg--ultra-light [class*="btn--"]:not(.unrelate) {
    --btn-background: var(--primary);
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--ultra-light [class*="btn--"]:not(.unrelate).btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--light [class*="btn--"]:not(.unrelate) {
    --btn-background: var(--primary);
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--light [class*="btn--"]:not(.unrelate).btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--dark [class*="btn--"]:not(.unrelate) {
    --btn-background: var(--primary);
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--dark [class*="btn--"]:not(.unrelate).btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--ultra-dark [class*="btn--"]:not(.unrelate) {
    --btn-background: var(--primary);
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary-ultra-light);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-color: var(--btn-background);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--ultra-dark [class*="btn--"]:not(.unrelate).btn--outline {
    --btn-background: transparent;
    --btn-background-hover: var(--primary-hover);
    --btn-text-color: var(--primary);
    --btn-text-color-hover: var(--primary-ultra-light);
    --btn-border-width: 1.5px;
    --btn-border-color: var(--primary);
    --btn-border-color-hover: var(--btn-background-hover);
    --focus-color: var(--primary-light);
  }
  .bg--ultra-light {
    --icon-scheme: var(--bg-ultra-light-icon);
  }
  .bg--light {
    --icon-scheme: var(--bg-light-icon);
  }
  .bg--dark {
    --icon-scheme: var(--bg-dark-icon);
  }
  .bg--ultra-dark {
    --icon-scheme: var(--bg-ultra-dark-icon);
  }
  /* Feat: Section Padding */
  .section--xs {
    padding-block: var(--section-space-xs);
    padding-inline: var(--gutter);
  }
  .section--s {
    padding-block: var(--section-space-s);
    padding-inline: var(--gutter);
  }
  .section--s-to-xs {
    padding-block: var(--section-space-s-to-xs);
    padding-inline: var(--gutter);
  }
  .section--m {
    padding-block: var(--section-space-m);
    padding-inline: var(--gutter);
  }
  .section--m-to-s {
    padding-block: var(--section-space-m-to-s);
    padding-inline: var(--gutter);
  }
  .section--m-to-xs {
    padding-block: var(--section-space-m-to-xs);
    padding-inline: var(--gutter);
  }
  .section--l {
    padding-block: var(--section-space-l);
    padding-inline: var(--gutter);
  }
  .section--l-to-m {
    padding-block: var(--section-space-l-to-m);
    padding-inline: var(--gutter);
  }
  .section--l-to-s {
    padding-block: var(--section-space-l-to-s);
    padding-inline: var(--gutter);
  }
  .section--l-to-xs {
    padding-block: var(--section-space-l-to-xs);
    padding-inline: var(--gutter);
  }
  .section--xl {
    padding-block: var(--section-space-xl);
    padding-inline: var(--gutter);
  }
  .section--xl-to-l {
    padding-block: var(--section-space-xl-to-l);
    padding-inline: var(--gutter);
  }
  .section--xl-to-m {
    padding-block: var(--section-space-xl-to-m);
    padding-inline: var(--gutter);
  }
  .section--xl-to-s {
    padding-block: var(--section-space-xl-to-s);
    padding-inline: var(--gutter);
  }
  .section--xl-to-xs {
    padding-block: var(--section-space-xl-to-xs);
    padding-inline: var(--gutter);
  }
  .section--xxl {
    padding-block: var(--section-space-xxl);
    padding-inline: var(--gutter);
  }
  .section--xxl-to-xl {
    padding-block: var(--section-space-xxl-to-xl);
    padding-inline: var(--gutter);
  }
  .section--xxl-to-l {
    padding-block: var(--section-space-xxl-to-l);
    padding-inline: var(--gutter);
  }
  .section--xxl-to-m {
    padding-block: var(--section-space-xxl-to-m);
    padding-inline: var(--gutter);
  }
  .section--xxl-to-s {
    padding-block: var(--section-space-xxl-to-s);
    padding-inline: var(--gutter);
  }
  .section--xxl-to-xs {
    padding-block: var(--section-space-xxl-to-xs);
    padding-inline: var(--gutter);
  }
  .section--none {
    padding-block: 0;
    padding-inline: var(--gutter);
  }
  .header--xs {
    padding-block: var(--space-xs);
    padding-inline: var(--gutter);
  }
  .header--s {
    padding-block: var(--space-s);
    padding-inline: var(--gutter);
  }
  .header--m {
    padding-block: var(--space-m);
    padding-inline: var(--gutter);
  }
  .header--l {
    padding-block: var(--space-l);
    padding-inline: var(--gutter);
  }
  .header--xl {
    padding-block: var(--space-xl);
    padding-inline: var(--gutter);
  }
  .header--xxl {
    padding-block: var(--space-xxl);
    padding-inline: var(--gutter);
  }
  /* Feat: Overlays */
  [class*="overlay--"], .overlay {
    position: relative;
    z-index: 0;
    isolation: isolate;
  }
  [class*="overlay--"]::before, .overlay::before {
    content: "";
    background: var(--overlay-color, rgba(0, 0, 0, 0.7));
    position: absolute;
    inset: 0;
    z-index: var(--overlay-z-index, -1);
  }
  figure:where(:has(> img, > picture, > svg, > video, > iframe)):where(.overlay), figure:where(:has(> img, > picture, > svg, > video, > iframe)):where([class*="overlay--"]) {
    --overlay-z-index: 0;
  }
  :is(.text--xxl, .text--xl, .text--l, .text--m, .text--s, .text--xs) {
    line-height: var(--text-line-height);
    text-wrap: var(--text-text-wrap);
  }
  .text--xxl {
    font-size: var(--text-xxl);
  }
  .text--xxl:is(p, li, blockquote, h1, h2, h3, h4, h5, h6, span, strong, cite) {
    max-width: var(--text-xxl-max-width);
  }
  .text--xl {
    font-size: var(--text-xl);
  }
  .text--xl:is(p, li, blockquote, h1, h2, h3, h4, h5, h6, span, strong, cite) {
    max-width: var(--text-xl-max-width);
  }
  .text--l {
    font-size: var(--text-l);
  }
  .text--l:is(p, li, blockquote, h1, h2, h3, h4, h5, h6, span, strong, cite) {
    max-width: var(--text-l-max-width);
  }
  .text--m {
    font-size: var(--text-m);
    line-height: var(--text-m-line-height);
  }
  .text--m:is(p, li, blockquote, h1, h2, h3, h4, h5, h6, span, strong, cite) {
    max-width: var(--text-m-max-width);
  }
  .text--s {
    font-size: var(--text-s);
  }
  .text--s:is(p, li, blockquote, h1, h2, h3, h4, h5, h6, span, strong, cite) {
    max-width: var(--text-s-max-width);
  }
  .text--xs {
    font-size: var(--text-xs);
  }
  .text--xs:is(p, li, blockquote, h1, h2, h3, h4, h5, h6, span, strong, cite) {
    max-width: var(--text-xs-max-width);
  }
  .h1 {
    font-size: var(--h1);
    max-width: var(--h1-max-width);
  }
  .h2 {
    font-size: var(--h2);
  }
  .h3 {
    font-size: var(--h3);
  }
  .h4 {
    font-size: var(--h4);
    line-height: var(--h4-line-height);
  }
  .h5 {
    font-size: var(--h5);
  }
  .h6 {
    font-size: var(--h6);
  }
  body blockquote {
    text-wrap: pretty;
  }
  /* Feat: Position & Sticky */
  .sticky {
    position: -webkit-sticky;
    position: sticky;
    inset-block-start: var(--sticky-offset, 0);
  }
  /* Feat: Auto Object Fit */
  img {
    object-fit: var(--object-fit, cover);
    object-position: var(--object-position, 50% 50%);
  }
  /* Feat: Width */
  .width--10 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.1);
  }
  .width--20 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.2);
  }
  .width--30 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.3);
  }
  .width--40 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.4);
  }
  .width--50 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.5);
  }
  .width--60 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.6);
  }
  .width--70 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.7);
  }
  .width--80 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.8);
  }
  .width--90 {
    inline-size: 100%;
    max-inline-size: calc(var(--content-width) * 0.9);
  }
  .width--full {
    inline-size: 100%;
    max-inline-size: 100%;
  }
  figure[class*="width--"] img {
    inline-size: 100%;
  }
  .width--auto {
    inline-size: auto !important;
    max-inline-size: 100%;
  }
  .content-width {
    inline-size: 100%;
    max-inline-size: var(--content-width);
    margin-inline: auto;
  }
  .content-width--safe {
    inline-size: 100%;
    max-inline-size: var(--content-width-safe);
    margin-inline: auto;
  }
  .width--max-content {
    inline-size: max-content;
    max-inline-size: 100%;
  }
  .width--min-content {
    inline-size: min-content;
    max-inline-size: 100%;
  }
  .width--fit-content {
    inline-size: fit-content;
    max-inline-size: 100%;
  }
  /* Feat: Auto Container Gap */
  :where(section:not(section section)) {
    gap: var(--container-gap);
  }
  /* Feat: Auto Content Gap */
  :where(section:not(section section)) > :where(div, ul, ol) {
    gap: var(--content-gap);
  }
  /* Feat: Auto Container Gap */
  :where([data-etch-element="flex-div"]:not(main)) {
    gap: var(--content-gap);
  }
  /* Feat: Auto Grid Gap */
  section > div:where([class*="grid--"]), :where([class*="grid--"]) {
    gap: var(--grid-gap);
  }
  :where(img:not(header img), figure:not(figure:has(img))) {
    border-radius: var(--radius);
  }
  :root {
    --transition-duration: 0.3s;
    --transition-timing: ease-in-out;
    --transition-delay: 0s;
    --transition: 0.3s ease-in-out 0s;
  }
  :root {
    --ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);
    --ease-snappy: cubic-bezier(0.16, 1, 0.3, 1);
    --ease-gentle: cubic-bezier(0.65, 0, 0.35, 1);
    --ease-bouncy: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --ease-elastic: linear(0, 0.029 1.6%, 0.123 3.5%, 0.651 10.6%, 0.862 14.1%, 1.002 17.7%, 1.046 19.6%, 1.074 21.6%, 1.087 23.9%, 1.086 26.6%, 1.014 38.5%, 0.994 46.3%, 1);
  }
  :root {
    --hover-duration: var(--transition-duration, 0.3s);
    --hover-timing: var(--transition-timing, ease-in-out);
  }
  :root {
    --hover-grow-amount: 1.05;
  }
  :root {
    --hover-shrink-amount: 0.95;
  }
  :root {
    --hover-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  }
  :root {
    --hover-glow-color: var(--primary);
    --hover-glow-spread: 20px;
    --hover-glow-opacity: 0.3;
  }
  [class*="on-hover--"] {
    transition-property: scale, opacity, box-shadow, filter;
    transition-duration: var(--hover-duration);
    transition-timing-function: var(--hover-timing);
  }
  .on-hover--grow:hover {
    scale: var(--hover-grow-amount);
  }
  .on-hover--shrink:hover {
    scale: var(--hover-shrink-amount);
  }
  .on-hover--shadow:hover {
    box-shadow: var(--hover-shadow);
  }
  .on-hover--glow:hover {
    box-shadow: 0 0 var(--hover-glow-spread) color-mix(in srgb, var(--hover-glow-color) calc(var(--hover-glow-opacity) * 100%), transparent);
  }
  .on-hover--fade:hover {
    opacity: 0.8;
  }
  .on-hover--brighten:hover {
    filter: brightness(1.1);
  }
  :root {
    --border-outline-color: currentColor;
    --border-outline-width: 4px;
    --border-outline-duration: 0.3s;
  }
  .on-hover--outline-out {
    position: relative;
    overflow: visible;
    border: none;
    outline: none;
  }
  .on-hover--outline-out::before {
    content: "";
    position: absolute;
    inset: 0;
    border: var(--border-outline-width, 4px) solid var(--border-outline-color, currentColor);
    border-radius: inherit;
    opacity: 0;
    transition: inset var(--border-outline-duration, 0.3s) ease-out, opacity var(--border-outline-duration, 0.3s) ease-out;
    pointer-events: none;
  }
  .on-hover--outline-out:hover::before {
    inset: calc(var(--border-outline-width, 4px) * -2);
    opacity: 1;
  }
  .on-hover--outline-in {
    position: relative;
    overflow: visible;
    border: none;
    outline: none;
  }
  .on-hover--outline-in::before {
    content: "";
    position: absolute;
    inset: calc(var(--border-outline-width, 4px) * -4);
    border: var(--border-outline-width, 4px) solid var(--border-outline-color, currentColor);
    border-radius: inherit;
    opacity: 0;
    transition: inset var(--border-outline-duration, 0.3s) ease-out, opacity var(--border-outline-duration, 0.3s) ease-out;
    pointer-events: none;
  }
  .on-hover--outline-in:hover::before {
    inset: calc(var(--border-outline-width, 4px) * -2);
    opacity: 1;
  }
  :root {
    --scroll-animation-duration: 0.6s;
    --scroll-animation-timing: var(--ease-snappy);
    --scroll-animation-delay: 0s;
    --animate-range-start: entry 20%;
    --animate-range-end: entry 100%;
    --enter-opacity-start: 0;
    --enter-float-distance: 40px;
    --enter-sink-distance: 40px;
    --enter-slide-distance: 40px;
    --enter-scale-start: 0.9;
    --enter-scale-shrink: 1.1;
    --enter-blur-amount: 8px;
    --enter-parallax-distance: 150px;
    --enter-stagger-interval: 5%;
  }
  @keyframes enter-animate {
    from {
      opacity: var(--animate-opacity, 1);
      transform: translateY(var(--animate-block, 0)) translateX(var(--animate-inline, 0)) scale(var(--animate-scale, 1));
      filter: blur(var(--animate-blur, 0));
    }
    to {
      opacity: 1;
      transform: translateY(0) translateX(0) scale(1);
      filter: blur(0);
    }
  }
  @supports (animation-timeline: view()) {
    [class*="on-enter--"]:not([class*="on-enter--delay"]):not([class*="on-enter-all"]) {
      animation-name: enter-animate;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: view();
      animation-range: var(--animate-range-start, entry 20%) var(--animate-range-end, entry 100%);
    }
    .on-enter--fade {
      --animate-opacity: var(--enter-opacity-start, 0);
    }
    .on-enter--grow {
      --animate-scale: var(--enter-scale-start, 0.9);
    }
    .on-enter--blur {
      --animate-blur: var(--enter-blur-amount, 8px);
    }
    @keyframes parallax-animate {
      from {
        translate: 0 calc(var(--enter-parallax-distance, 150px) / 2);
      }
      to {
        translate: 0 calc(var(--enter-parallax-distance, 150px) / -2);
      }
    }
    .on-enter--parallax {
      animation-name: parallax-animate;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: view();
      animation-range: cover 0% cover 100%;
    }
    [class*="on-enter-all--"] > * {
      animation-name: enter-animate;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: view();
      animation-range: var(--animate-range-start, entry 20%) var(--animate-range-end, entry 100%);
    }
    .on-enter-all--fade > * {
      --animate-opacity: var(--enter-opacity-start, 0);
    }
    .on-enter-all--grow > * {
      --animate-scale: var(--enter-scale-start, 0.9);
    }
    .on-enter-all--blur > * {
      --animate-blur: var(--enter-blur-amount, 8px);
    }
    [class*="on-enter-all--"].on-enter--stagger > * {
      animation-delay: calc(sibling-index() * var(--enter-stagger-interval, 5%));
    }
  }
  @supports not (animation-timeline: view()) {
    [class*="on-enter--"], [class*="on-enter-all--"] > * {
      opacity: 1;
      transform: none;
      filter: none;
    }
  }
  :root {
    --exit-range-start: cover 50%;
    --exit-range-end: cover 100%;
    --exit-opacity-target: 0;
    --exit-float-distance: 40px;
    --exit-sink-distance: 40px;
    --exit-slide-distance: 40px;
    --exit-scale-amount: 0.9;
    --exit-scale-grow: 1.1;
    --exit-blur-amount: 8px;
    --exit-stagger-interval: 5%;
  }
  @keyframes exit-animate {
    from {
      opacity: 1;
      transform: translateY(0) translateX(0) scale(1);
      filter: blur(0);
    }
    to {
      opacity: var(--exit-opacity, 1);
      transform: translateY(var(--exit-block, 0)) translateX(var(--exit-inline, 0)) scale(var(--exit-scale, 1));
      filter: blur(var(--exit-blur, 0));
    }
  }
  @supports (animation-timeline: view()) {
    [class*="on-exit--"]:not([class*="on-exit--delay"]):not([class*="on-exit-all"]) {
      animation-name: exit-animate;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: view();
      animation-range: var(--exit-range-start, exit 0%) var(--exit-range-end, exit 80%);
    }
    .on-exit--fade {
      --exit-opacity: var(--exit-opacity-target, 0);
    }
    .on-exit--shrink {
      --exit-scale: var(--exit-scale-amount, 0.9);
    }
    .on-exit--blur {
      --exit-blur: var(--exit-blur-amount, 8px);
    }
    [class*="on-exit-all--"] > * {
      animation-name: exit-animate;
      animation-timing-function: linear;
      animation-fill-mode: both;
      animation-timeline: view();
      animation-range: var(--exit-range-start, exit 0%) var(--exit-range-end, exit 80%);
    }
    .on-exit-all--fade > * {
      --exit-opacity: var(--exit-opacity-target, 0);
    }
    .on-exit-all--shrink > * {
      --exit-scale: var(--exit-scale-amount, 0.9);
    }
    .on-exit-all--blur > * {
      --exit-blur: var(--exit-blur-amount, 8px);
    }
    [class*="on-exit-all--"].on-exit--stagger > * {
      animation-delay: calc(sibling-index() * var(--exit-stagger-interval, 5%));
    }
  }
  @supports not (animation-timeline: view()) {
    [class*="on-exit--"], [class*="on-exit-all--"] > * {
      opacity: 1;
      transform: none;
      filter: none;
    }
  }
  :root {
    --visible-duration: 0.6s;
    --visible-timing: var(--ease-smooth);
    --visible-delay: 0s;
    --visible-threshold: 0.2;
    --visible-opacity-start: 0;
    --visible-float-distance: 40px;
    --visible-sink-distance: 40px;
    --visible-slide-distance: 40px;
    --visible-scale-start: 0.9;
    --visible-scale-shrink: 1.1;
    --visible-blur-amount: 8px;
    --visible-stagger-interval: 0.1s;
  }
  [class*="on-visible--"]:not([class*="on-visible-all"]) {
    transition-property: opacity, scale, filter;
    transition-duration: var(--visible-duration, 0.6s);
    transition-timing-function: var(--visible-timing, cubic-bezier(0.4, 0, 0.2, 1));
    transition-delay: var(--visible-delay, 0s);
  }
  .on-visible--fade {
    opacity: var(--visible-opacity-start, 0);
  }
  .on-visible--fade.acss-visible {
    opacity: 1;
  }
  .on-visible--grow {
    scale: var(--visible-scale-start, 0.9);
  }
  .on-visible--grow.acss-visible {
    scale: 1;
  }
  .on-visible--blur {
    filter: blur(var(--visible-blur-amount, 8px));
  }
  .on-visible--blur.acss-visible {
    filter: blur(0);
  }
  [class*="on-visible-all--"] > * {
    transition-property: opacity, scale, filter;
    transition-duration: var(--visible-duration, 0.6s);
    transition-timing-function: var(--visible-timing, cubic-bezier(0.4, 0, 0.2, 1));
    transition-delay: var(--visible-delay, 0s);
  }
  .on-visible-all--fade > * {
    opacity: var(--visible-opacity-start, 0);
  }
  .on-visible-all--fade.acss-visible > * {
    opacity: 1;
  }
  .on-visible-all--grow > * {
    scale: var(--visible-scale-start, 0.9);
  }
  .on-visible-all--grow.acss-visible > * {
    scale: 1;
  }
  .on-visible-all--blur > * {
    filter: blur(var(--visible-blur-amount, 8px));
  }
  .on-visible-all--blur.acss-visible > * {
    filter: blur(0);
  }
  [class*="on-visible-all--"].on-visible--stagger > * {
    transition-delay: calc(sibling-index() * var(--visible-stagger-interval, 0.1s));
  }
  @media (prefers-reduced-motion: reduce) {
    [class*="on-enter--"], [class*="on-enter-all--"] > *, [class*="on-exit--"], [class*="on-exit-all--"] > * {
      animation: none !important;
      opacity: 1;
      transform: none;
      filter: none;
    }
    [class*="on-visible--"], [class*="on-visible-all--"] > * {
      transition: none !important;
      opacity: 1;
      translate: none;
      scale: none;
      filter: none;
    }
    [class*="on-hover--"] {
      transition: none;
    }
    [class*="on-hover--"]:hover {
      transform: none;
      translate: none;
      scale: none;
      box-shadow: initial;
      filter: none;
    }
  }
  /* Inverted Radius Framework */
  [data-inverted-radius-1-position], [data-inverted-radius-2-position] {
    position: var(--inverted-radius-parent-position, absolute);
    background: var(--bg, var(--white));
    z-index: 1;
    isolation: isolate;
    /* Border radius options */
    --slice-top-left: var(--radius) 0 0 0;
    --slice-top-right: 0 var(--radius) 0 0;
    --slice-bottom-right: 0 0 var(--radius) 0;
    --slice-bottom-left: 0 0 0 var(--radius);
    /* Positions */
    --position-top-left: 0 auto auto 0;
    --position-top-right: 0 0 auto auto;
    --position-bottom-left: auto auto 0 0;
    --position-bottom-right: auto 0 0 auto;
    --position-top-left-outside: 0 auto auto calc(var(--radius) * -1);
    --position-top-right-outside: 0 calc(var(--radius) * -1) auto auto;
    --position-bottom-left-outside: auto 0 0 calc(var(--radius) * -1);
    --position-bottom-right-outside: auto calc(var(--radius) * -1) 0 auto;
    --position-top-outside-left: calc(var(--radius) * -1) auto auto 0;
    --position-top-outside-right: calc(var(--radius) * -1) 0 auto auto;
    --position-bottom-outside-left: auto 0 calc(var(--radius) * -1) 0;
    --position-bottom-outside-right: auto 0 calc(var(--radius) * -1) auto;
    --position-top-outside-left-outside: calc(var(--radius) * -1) auto auto calc(var(--radius) * -1);
    --position-top-outside-right-outside: calc(var(--radius) * -1) calc(var(--radius) * -1) auto auto;
    --position-bottom-outside-left-outside: auto auto calc(var(--radius) * -1) calc(var(--radius) * -1);
    --position-bottom-outside-right-outside: auto calc(var(--radius) * -1) calc(var(--radius) * -1) auto;
    /* Box Shadow Values */
    --shadow-bottom-right: var(--radius) var(--radius) 0 var(--radius) var(--bg, var(--white));
    --shadow-bottom-left: calc(var(--radius) * -1) var(--radius) 0 var(--radius) var(--bg, var(--white));
    --shadow-top-right: var(--radius) calc(var(--radius) * -1) 0 var(--radius) var(--bg, var(--white));
    --shadow-top-left: calc(var(--radius) * -1) calc(var(--radius) * -1) 0 var(--radius) var(--bg, var(--white));
    --inverted-radius-1-shadow: var(--shadow-top-left);
    --inverted-radius-2-shadow: var(--shadow-top-left);
  }
  /* First corner positions */
  [data-inverted-radius-1-position="top-left"] {
    --inverted-radius-1-position: var(--position-top-left);
  }
  [data-inverted-radius-1-position="top-right"] {
    --inverted-radius-1-position: var(--position-top-right);
  }
  [data-inverted-radius-1-position="bottom-left"] {
    --inverted-radius-1-position: var(--position-bottom-left);
  }
  [data-inverted-radius-1-position="bottom-right"] {
    --inverted-radius-1-position: var(--position-bottom-right);
  }
  [data-inverted-radius-1-position="top-outside-left"] {
    --inverted-radius-1-position: var(--position-top-outside-left);
  }
  [data-inverted-radius-1-position="top-outside-right"] {
    --inverted-radius-1-position: var(--position-top-outside-right);
  }
  [data-inverted-radius-1-position="bottom-outside-left"] {
    --inverted-radius-1-position: var(--position-bottom-outside-left);
  }
  [data-inverted-radius-1-position="bottom-outside-right"] {
    --inverted-radius-1-position: var(--position-bottom-outside-right);
  }
  [data-inverted-radius-1-position="top-left-outside"] {
    --inverted-radius-1-position: var(--position-top-left-outside);
  }
  [data-inverted-radius-1-position="top-right-outside"] {
    --inverted-radius-1-position: var(--position-top-right-outside);
  }
  [data-inverted-radius-1-position="bottom-left-outside"] {
    --inverted-radius-1-position: var(--position-bottom-left-outside);
  }
  [data-inverted-radius-1-position="bottom-right-outside"] {
    --inverted-radius-1-position: var(--position-bottom-right-outside);
  }
  [data-inverted-radius-1-position="top-outside-left-outside"] {
    --inverted-radius-1-position: var(--position-top-outside-left-outside);
  }
  [data-inverted-radius-1-position="top-outside-right-outside"] {
    --inverted-radius-1-position: var(--position-top-outside-right-outside);
  }
  [data-inverted-radius-1-position="bottom-outside-left-outside"] {
    --inverted-radius-1-position: var(--position-bottom-outside-left-outside);
  }
  [data-inverted-radius-1-position="bottom-outside-right-outside"] {
    --inverted-radius-1-position: var(--position-bottom-outside-right-outside);
  }
  /* Second corner positions */
  [data-inverted-radius-2-position="top-left"] {
    --inverted-radius-2-position: var(--position-top-left);
  }
  [data-inverted-radius-2-position="top-right"] {
    --inverted-radius-2-position: var(--position-top-right);
  }
  [data-inverted-radius-2-position="bottom-left"] {
    --inverted-radius-2-position: var(--position-bottom-left);
  }
  [data-inverted-radius-2-position="bottom-right"] {
    --inverted-radius-2-position: var(--position-bottom-right);
  }
  [data-inverted-radius-2-position="top-outside-left"] {
    --inverted-radius-2-position: var(--position-top-outside-left);
  }
  [data-inverted-radius-2-position="top-outside-right"] {
    --inverted-radius-2-position: var(--position-top-outside-right);
  }
  [data-inverted-radius-2-position="bottom-outside-left"] {
    --inverted-radius-2-position: var(--position-bottom-outside-left);
  }
  [data-inverted-radius-2-position="bottom-outside-right"] {
    --inverted-radius-2-position: var(--position-bottom-outside-right);
  }
  [data-inverted-radius-2-position="top-left-outside"] {
    --inverted-radius-2-position: var(--position-top-left-outside);
  }
  [data-inverted-radius-2-position="top-right-outside"] {
    --inverted-radius-2-position: var(--position-top-right-outside);
  }
  [data-inverted-radius-2-position="bottom-left-outside"] {
    --inverted-radius-2-position: var(--position-bottom-left-outside);
  }
  [data-inverted-radius-2-position="bottom-right-outside"] {
    --inverted-radius-2-position: var(--position-bottom-right-outside);
  }
  [data-inverted-radius-2-position="top-outside-left-outside"] {
    --inverted-radius-2-position: var(--position-top-outside-left-outside);
  }
  [data-inverted-radius-2-position="top-outside-right-outside"] {
    --inverted-radius-2-position: var(--position-top-outside-right-outside);
  }
  [data-inverted-radius-2-position="bottom-outside-left-outside"] {
    --inverted-radius-2-position: var(--position-bottom-outside-left-outside);
  }
  [data-inverted-radius-2-position="bottom-outside-right-outside"] {
    --inverted-radius-2-position: var(--position-bottom-outside-right-outside);
  }
  /* Corner types */
  [data-inverted-radius-1-slice="top-left"] {
    --inverted-radius-1-slice: var(--slice-top-left);
    --inverted-radius-1-shadow: var(--shadow-top-left);
  }
  [data-inverted-radius-1-slice="top-right"] {
    --inverted-radius-1-slice: var(--slice-top-right);
    --inverted-radius-1-shadow: var(--shadow-top-right);
  }
  [data-inverted-radius-1-slice="bottom-left"] {
    --inverted-radius-1-slice: var(--slice-bottom-left);
    --inverted-radius-1-shadow: var(--shadow-bottom-left);
  }
  [data-inverted-radius-1-slice="bottom-right"] {
    --inverted-radius-1-slice: var(--slice-bottom-right);
    --inverted-radius-1-shadow: var(--shadow-bottom-right);
  }
  [data-inverted-radius-2-slice="top-left"] {
    --inverted-radius-2-slice: var(--slice-top-left);
    --inverted-radius-2-shadow: var(--shadow-top-left);
  }
  [data-inverted-radius-2-slice="top-right"] {
    --inverted-radius-2-slice: var(--slice-top-right);
    --inverted-radius-2-shadow: var(--shadow-top-right);
  }
  [data-inverted-radius-2-slice="bottom-left"] {
    --inverted-radius-2-slice: var(--slice-bottom-left);
    --inverted-radius-2-shadow: var(--shadow-bottom-left);
  }
  [data-inverted-radius-2-slice="bottom-right"] {
    --inverted-radius-2-slice: var(--slice-bottom-right);
    --inverted-radius-2-shadow: var(--shadow-bottom-right);
  }
  /* Pseudo-elements */
  [data-inverted-radius-1-position]::before {
    content: "";
    position: absolute;
    inset: var(--inverted-radius-1-position);
    border-radius: var(--inverted-radius-1-slice);
    box-shadow: var(--inverted-radius-1-shadow);
    width: var(--radius);
    height: var(--radius);
    aspect-ratio: 1;
    z-index: -1;
    background: transparent;
  }
  [data-inverted-radius-2-position]::after {
    content: "";
    position: absolute;
    inset: var(--inverted-radius-2-position);
    border-radius: var(--inverted-radius-2-slice);
    box-shadow: var(--inverted-radius-2-shadow);
    width: var(--radius);
    height: var(--radius);
    aspect-ratio: 1;
    z-index: -1;
    background: transparent;
  }
  /* Feat: Is Background */
  :has(> .is-bg) {
    position: relative;
    isolation: isolate;
  }
  :is(*, img, figure, picture).is-bg {
    position: var(--bg-position, absolute) !important;
    inset: var(--bg-inset, 0);
    inline-size: var(--bg-width, 100%);
    max-inline-size: 100%;
    block-size: var(--bg-height, 100%);
    border-radius: var(--bg-radius, 0);
    object-fit: var(--bg-object-fit, cover);
    object-position: var(--bg-object-position, center);
    z-index: var(--bg-z-index, -2);
    border-radius: var(--bg-radius, 0);
    pointer-events: none;
  }
  :is(*, img, figure, picture).is-bg > img {
    object-fit: var(--bg-object-fit, cover);
    object-position: var(--bg-object-position, center);
    inline-size: 100%;
    block-size: 100%;
    border-radius: var(--bg-radius, 0);
  }
}
@layer acss-layer-utilities {
  .content-grid > :is(*, img, figure, picture).is-bg {
    grid-column: full;
  }
}
/* Feat: Content Grid */
:where(.content-grid) {
  --full: minmax(var(--gutter), 1fr);
  padding-inline: 0;
  column-gap: 0 !important;
  display: grid !important;
  grid-template-columns: [full-start] var(--full) [feature-max-start] minmax(0, var(--feature-max-width, 100px)) [feature-start] minmax(0, var(--feature-width, 50px)) [content-start] min(var(--content-width), 100% - var(--gutter) * 2) [content-end] minmax(0, var(--feature-width, 50px)) [feature-end] minmax(0, var(--feature-max-width, 100px)) [feature-max-end] var(--full) [full-end];
}
:where(.content-grid) > :not(.content--feature, .content--feature-max, .content--full, .content--full-safe) {
  width: 100%;
  max-width: 100%;
}
:where(.content-grid) > :where(:not(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
  grid-column: content;
}
.content--feature {
  grid-column: feature;
}
.content--feature-max {
  grid-column: feature-max;
}
.content--full {
  grid-column: full;
}
.content--full-safe {
  grid-column: full;
  padding-inline: var(--gutter);
}
.content-grid:where(.content--full-safe) {
  padding-inline: var(--gutter);
}
:is(.content--feature, .content--feature-max, .content--full, .content--full-safe):not(.content-grid--off :is(.content--feature, .content--feature-max, .content--full, .content--full-safe)) {
  width: 100% !important;
  max-width: 100%;
}
:is(.content--feature, .content--feature-max, .content--full, .content--full-safe) :is(figure img, picture img) {
  width: 100%;
}
.content-grid:is([class*="padding--"], [class*="section--"], [class*="header--"]) {
  padding-inline: 0;
}
/* Feat: Smart Spacing */
body :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li) {
  margin-block: 0;
}
.smart-spacing-normalize :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li) {
  margin-block: 0;
}
.smart-spacing {
  row-gap: 0 !important;
}
.smart-spacing > * + * {
  margin-block-start: var(--flow-spacing, initial);
  margin-block-end: 0;
}
.smart-spacing > * + :where(h1, h2, h3, h4, h5, h6) {
  margin-block-start: var(--heading-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
.smart-spacing > :where(* + h2) {
  margin-block-start: var(--h2-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
.smart-spacing > :where(* + h3) {
  margin-block-start: var(--h3-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
.smart-spacing > :where(* + h4) {
  margin-block-start: var(--h4-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
.smart-spacing > :where(* + h5) {
  margin-block-start: var(--h5-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
.smart-spacing > :where(* + h6) {
  margin-block-start: var(--h6-spacing, var(--heading-spacing));
  margin-block-end: 0;
}
.smart-spacing > * + p {
  margin-block-start: var(--paragraph-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
.smart-spacing > :is(* + ul, * + ol) {
  margin-block: var(--list-spacing, var(--flow-spacing, initial));
}
.smart-spacing > :is(ul, ol) {
  padding-inline-start: var(--list-indent-spacing, var(--flow-spacing, initial));
}
.smart-spacing > ul * + li, .smart-spacing > ol * + li {
  margin-block-start: var(--list-item-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
.smart-spacing > ul ul, .smart-spacing > ol ol, .smart-spacing > ul ol, .smart-spacing > ol ul {
  margin-block: var(--nested-list-spacing, var(--list-item-spacing, initial));
  padding-inline-start: var(--nested-list-indent-spacing, initial);
}
.smart-spacing > :is(ul, ol) :is(ul, ol) li {
  margin-block-start: var(--nested-list-item-spacing, var(--list-item-spacing, initial));
}
.smart-spacing > * + figure, .smart-spacing > * + picture {
  margin-block: var(--figure-spacing, var(--flow-spacing, initial));
}
.smart-spacing figcaption {
  margin-block: var(--figcaption-spacing, var(--flow-spacing, initial));
}
.smart-spacing > * + blockquote:where(:not(figure > blockquote)) {
  margin-block: var(--blockquote-spacing, var(--flow-spacing, initial));
}
.smart-spacing > blockquote * + * {
  margin-block-start: var(--paragraph-spacing, var(--flow-spacing, initial));
  margin-block-end: 0;
}
.smart-spacing > :is(figure, blockquote, ul, ol):where(:not(:first-child)) + * {
  --paragraph-spacing: 0;
  --flow-spacing: 0;
}
.smart-spacing--off :where(p, h1, h2, h3, h4, h5, h6, ul, ol, li) {
  margin-block: 0;
}
/* Feat: Default Section Styles */
#shadow-host-companion {
  padding: 0;
}