		body{font-family:"Cabin",sans-serif;background:var(--color_surface_page_bg);}
		html,body{height:100%;display:flex;flex-direction:column;}
		main.container{flex:1 0 auto;}

		.btn-menu{border:0;background:transparent;padding:.25rem;.btn-menu:focus{box-shadow:none}}
		.btn-menu i{font-size:1.5rem;color:var(--color_text_muted);}
		.offcanvas-start{border:0;box-shadow:none;width:300px;backdrop-filter: blur(6px); background: rgba(255,255,255,.96);border-top-right-radius:12px;}
		.list-group-item{border:0;padding:.9rem 1.5rem;font-size:1rem;color:var(--color_text_notes);letter-spacing:.15px;background: transparent!important;}
		.list-group-item i{font-size:1.1rem;color:var(--color_text_muted);}
		.list-group-item.active{background:none;border-left:3px solid var(--color_brand_primary);font-weight:600;color:var(--color_brand_primary);}
		.list-group-item:hover{background:var(--color_surface_card_bg)!important;color:var(--color_brand_primary);}
		.site-header{position:sticky;top:0;z-index:1040;border-bottom:0;background:var(--color_surface_page_bg);}

		#sideMenu .offcanvas-header{background:transparent;padding:.75rem 1rem;}

		.cookie-banner{
		  position:fixed;
		  bottom:0;
		  left:0;
		  right:0;
		  z-index:1080;
		  background:rgba(255,255,255,.95);
		  backdrop-filter:blur(6px);
		  font-size:.85rem;
		  color:var(--color_text_notes);
		}
		.cookie-banner a{color:var(--color_brand_primary);text-decoration:underline;}
		.cookie-banner button{padding:.25rem 1.1rem;font-size:.83rem;}

		.btn-cta{
		  --bs-btn-bg:                 var(--color_cta_base);
		  --bs-btn-border-color:       var(--color_cta_base);
		  --bs-btn-color:              var(--color_surface_card_bg);

		  --bs-btn-hover-bg:           var(--color_cta_hover);
		  --bs-btn-hover-border-color: var(--color_cta_hover);

		  --bs-btn-active-bg:          var(--color_cta_active);
		  --bs-btn-active-border-color:var(--color_cta_active);

		  --bs-btn-font-weight:        600;
		  border-radius:.45rem;
		  padding:.45rem 1.25rem;
		  transition:transform .12s ease,box-shadow .12s ease;
		}

		.btn-cta-outline{
		  --bs-btn-color:              var(--color_cta_base);
		  --bs-btn-border-color:       var(--color_cta_base);

		  --bs-btn-hover-bg:           var(--color_cta_hover);
		  --bs-btn-hover-border-color: var(--color_cta_hover);
		  --bs-btn-hover-color:        var(--color_surface_card_bg);

		  --bs-btn-active-bg:          var(--color_cta_active);
		  --bs-btn-active-border-color:var(--color_cta_active);
		  --bs-btn-active-color:       var(--color_surface_card_bg);

		  --bs-btn-font-weight:        600;
		  border-radius:.45rem;
		  padding:.45rem 1.25rem;
		  transition:transform .12s ease,box-shadow .12s ease;
		}

		.btn-cta:hover,
		.btn-cta-outline:hover{
		  transform:translateY(-1px);
		  box-shadow:0 .45rem 1rem -.25rem color-mix(in srgb,var(--color_cta_hover) 45%, transparent);
		}
		.btn-cta:focus-visible,
		.btn-cta-outline:focus-visible{
			box-shadow:0 0 0 .2rem color-mix(in srgb,var(--color_cta_hover) 35%, transparent);
		}
		.btn-cta:hover,
		.btn-cta:focus-visible{
		  color:var(--color_text_inverse) !important;
		}

		.form-select:focus{
		  border-color:var(--ui-accent);
		  box-shadow:0 0 0 .15rem rgba(81,94,115,.25);
		}
		.form-select option:checked{
		  background:var(--ui-accent);
		  color:var(--color_text_inverse);
		}
		.form-select option:hover{
		  background:var(--ui-accent-light);
		  color:var(--color_text_inverse);
		}

		.form-check-input{
		  accent-color:var(--ui-accent);
		}

		.form-select[multiple] option:checked,
		.form-select[multiple]:focus option:checked, 
		.form-select[multiple] option:checked:focus{
		  background:var(--ui-accent)   !important;
		  color:var(--color_text_inverse) !important;
		}
		.form-select:disabled{
		  background:var(--color_form_disabled_bg);
		  color:var(--color_form_disabled_text);
		  cursor:not-allowed;
		}
		.form-check-input:checked{
		  background-color:var(--ui-accent) !important;
		  border-color:var(--ui-accent)     !important;
		}
		.form-check-input:focus{
		  border-color:var(--ui-accent);
		  box-shadow:0 0 0 .15rem rgba(81,94,115,.25);
		}


		.promo-banner{
		  --promo-bg-1:   color-mix(in srgb, var(--promo-base) 100%, var(--color_surface_card_bg) 20%);
		  --promo-bg-2:   color-mix(in srgb, var(--promo-base) 100%, #000 15%);
		  --promo-light:  color-mix(in srgb, var(--promo-base) 100%, var(--color_surface_card_bg) 45%);
		  --promo-dark:   color-mix(in srgb, var(--promo-base) 100%, #000 25%);

		  background:linear-gradient(135deg,var(--promo-bg-1),var(--promo-bg-2));
		  color:var(--color_text_inverse);
		  padding:.75rem 1rem;
		  width:100%;
		  display:flex;
		  flex-wrap:wrap;
		  align-items:center;
		  justify-content:center;
		  gap:1rem;
		  box-shadow:0 .25rem .65rem -.1rem rgba(0,0,0,.25);
		  position:relative;
		  isolation:isolate;
		  z-index:1039;
		  text-align:center;
		  font-size:clamp(.9rem,2vw,1rem);
		}

		.promo-banner .promo-text{
		  font-weight:600;
		  letter-spacing:.25px;
		  text-shadow:0 1px 2px rgba(0,0,0,.35);
		}

		.promo-banner .btn-cta{
		  color:var(--color_text_inverse);
		  --bs-btn-bg:                 var(--promo-light);
		  --bs-btn-border-color:       transparent;
		  --bs-btn-color:              var(--promo-dark);

		  --bs-btn-hover-bg:           var(--promo-dark);
		  --bs-btn-hover-color:        var(--color_surface_card_bg);
		  --bs-btn-hover-border-color: transparent;

		  padding:.55rem 1.75rem;
		  font-size:clamp(.85rem,1.9vw,.95rem);
		  box-shadow:0 .25rem .55rem -.15rem rgba(0,0,0,.35);
		}

		@media (max-width:575.98px){
		  .promo-banner{padding:.6rem .75rem;}
		}

		.site-footer{
		  flex-shrink:0;
		  background:var(--color_surface_page_bg);
		  border-top:1px solid var(--color_border_default);
		  color:var(--color_text_muted);
		  font-size:.82rem;
		}
		@media (prefers-color-scheme:dark){
		  .site-footer{background:var(--color_dark_bg);border-top-color:var(--color_dark_border);color:var(--color_dark_text);}
		}
