:root,
[data-bs-theme=light] {
  --brand-primary: #191bb8;     
  --brand-secondary: #f0e34c;
  --brand-dark: #2c2a29;
  --brand-muted: #8D8D8E;
  --brand-primary-rgb: 25,27,184;
  --brand-secondary-rgb: 240,227,76;
  --brand-danger: #9c1c1c;
  --brand-warning: #FBBC43;
  --bs-primary: var(--brand-primary);
  --bs-primary-rgb: var(--brand-primary-rgb);
  --bs-secondary: var(--brand-muted);
    
  --bs-body-bg: #fff /*var(--brand-secondary)*/;
  --bs-body-color: var(--brand-dark);
  --bs-link-color: var(--brand-primary);
  --bs-link-hover-color: color-mix(in srgb, var(--brand-primary) 80%, black);
  --bs-border-color: color-mix(in srgb, var(--brand-primary) 15%, var(--brand-secondary));
  --bs-body-font-family: "Manrope",system-ui, -apple-system, BlinkMacSystemFont,"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

[data-bs-theme=dark] {
  --bs-body-bg: #2b0f0f;
  --bs-body-color: var(--brand-secondary);
  --bs-link-color: color-mix(in srgb, var(--brand-primary) 75%, white);
  --bs-border-color: color-mix(in srgb, var(--brand-primary) 30%, black);
  color-scheme: dark;
}

.section.bg-secondary {background-color: rgba(var(--brand-primary-rgb), var(--bs-bg-opacity, 1)) !important;color: var(--brand-secondary);transition: background-color .25s ease, color .25s ease;}
.section.bg-secondary, .section.bg-secondary * {color: var(--brand-secondary) !important;text-decoration: none;}
.section.bg-secondary.bg-primary-hover:hover {background-color: var(--brand-primary) !important;}
.section.bg-secondary.bg-primary-hover:hover, .section.bg-secondary.bg-primary-hover:hover * {color: var(--brand-secondary) !important;}

.bg-secondary, .bg-secondary a, .bg-secondary p, .bg-secondary span {color: var(--brand-dark);text-decoration: none;transition: color .2s ease;}
.bg-secondary.bg-primary-hover:hover {background-color: var(--brand-primary) !important;color: var(--brand-secondary);}
.bg-secondary.bg-primary-hover:hover, .bg-secondary.bg-primary-hover:hover a, .bg-secondary.bg-primary-hover:hover p, .bg-secondary.bg-primary-hover:hover span {color: var(--brand-secondary);}

.section.bg-secondary .breadcrumb-item + .breadcrumb-item::before {color: var(--brand-secondary) !important;}
.section.bg-secondary.bg-primary-hover:hover .breadcrumb-item + .breadcrumb-item::before {color: var(--brand-secondary) !important;}
.section.bg-secondary .breadcrumb-item + .breadcrumb-item::before {content: "›";}

.bg-gradient-blue {background: #516FB4;background: linear-gradient(180deg, #6F89C6 0%, #516FB4 100%) !important;}
.bg-gradient-yellow {background: #FBBC43;background: linear-gradient(180deg, #FCD77D 0%, #FBBC43 100%) !important;}
.bg-gradient-orange {background: #191bb8;background: linear-gradient(180deg, #F06A36 0%, #191bb8 100%) !important;}
.bg-gradient-green {background: #5DB77A;background: linear-gradient(180deg, #7FCC96 0%, #5DB77A 100%) !important;}

.bg-cream {background-color: #f0e34c}

.btn {transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease;}
.btn:focus,
.btn:focus-visible,
.btn:active {outline: none !important;box-shadow: none !important;}
.btn-primary {background-color: var(--brand-primary) !important;border-color: var(--brand-primary) !important;color: #fff !important;--bs-btn-focus-shadow-rgb: 0,0,0;box-shadow: none !important;}
.btn-primary:hover {background-color: color-mix(in srgb, var(--brand-primary) 88%, black) !important;border-color: color-mix(in srgb, var(--brand-primary) 88%, black) !important;box-shadow: 0 8px 25px rgba(25,27,184,.35) !important;}
.btn-primary:focus,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active {background-color: color-mix(in srgb, var(--brand-primary) 78%, black) !important;border-color: color-mix(in srgb, var(--brand-primary) 78%, black) !important;box-shadow: 0 6px 18px rgba(25,27,184,.30) !important;outline: none !important;}

.btn-secondary {background-color: var(--brand-secondary) !important;border: 2px solid var(--brand-primary) !important;color: var(--brand-primary) !important;--bs-btn-focus-shadow-rgb: 0,0,0;box-shadow: none !important;}
.btn-secondary:hover {background-color: var(--brand-primary) !important;color: #fff !important;}
.btn-secondary:focus,
.btn-secondary:focus-visible,
.btn-secondary:active,
.btn-secondary.active {background-color: color-mix(in srgb, var(--brand-primary) 85%, black) !important;border-color: color-mix(in srgb, var(--brand-primary) 85%, black) !important;color: #fff !important;box-shadow: none !important;}

.btn-outline-primary {background: transparent;border-color: var(--brand-primary);color: var(--brand-primary);}
.btn-outline-primary:hover {background: var(--brand-primary);color: #fff;}

.btn-icon {display: inline-flex;align-items: center;justify-content: center;padding: .55rem;border-radius: .5rem;}
.btn-icon-primary {background: var(--brand-primary);color: #fff;}
.btn-icon-primary:hover {background: color-mix(in srgb, var(--brand-primary) 85%, black);}

.btn-icon-soft {background: color-mix(in srgb, var(--brand-primary) 10%, var(--brand-secondary));color: var(--brand-primary);}
.btn-icon-soft:hover {background: color-mix(in srgb, var(--brand-primary) 18%, var(--brand-secondary));}

.btn-danger {background: var(--brand-danger);border-color: var(--brand-danger);color: #fff;}
.btn-danger:hover {background: color-mix(in srgb, var(--brand-danger) 85%, black);box-shadow: 0 8px 25px rgba(156,28,28,.35);}

.btn-warning {background: var(--brand-warning);border-color: var(--brand-warning);color: #fff;}
.btn-warning:hover {background: color-mix(in srgb, var(--brand-warning) 85%, black);box-shadow: 0 8px 25px rgba(201,122,0,.35);}

.btn-soft-primary {background: color-mix(in srgb, var(--brand-primary) 10%, var(--brand-secondary));border-color: transparent;color: var(--brand-primary);}
.btn-soft-primary:hover {background: color-mix(in srgb, var(--brand-primary) 18%, var(--brand-secondary));}

.btn-brand-soft {background: color-mix(in srgb, var(--brand-primary) 6%, var(--brand-secondary));border: 1px solid color-mix(in srgb, var(--brand-primary) 25%, var(--brand-secondary));color: var(--brand-primary);}
.btn-brand-soft:hover {background: color-mix(in srgb, var(--brand-primary) 14%, var(--brand-secondary));border-color: var(--brand-primary);}

.btn-soft-danger {background: color-mix(in srgb, var(--brand-danger) 10%, var(--brand-secondary));color: var(--brand-danger);}
.btn-soft-warning {background: color-mix(in srgb, var(--brand-warning) 10%, var(--brand-secondary));color: var(--brand-warning);}

.btn-light {color:var(--brand-dark)}
.btn-light:hover {color:var(--brand-dark)}

.article-format h1,
.article-format h2 {color: var(--brand-primary)}
.article-format h3 {color: color-mix(in srgb, var(--brand-primary) 60%, black);}
.article-format p {color: var(--brand-muted);text-align: justify;}

.text-muted {color: color-mix(in srgb, var(--brand-dark) 70%, white) !important;}

a.link-primary, #page a:not(.tag-rel a):not(.nav-link):not(.btn) {color:var(--brand-primary) !important;text-decoration:none;border-bottom: 1px dotted var(--brand-primary);transition:color .2s ease,border-color .2s ease;}
a.link-primary:hover, #page a:not(.tag-rel a):not(.nav-link):not(.btn):hover {color: var(--brand-dark) !important;text-decoration: none;border-bottom: 1px dotted var(--brand-dark);}
a.link-primary.active,
a.link-primary.active:hover,
#page a.active,
#page a.active:hover {color: var(--brand-dark) !important;text-decoration: none;border-bottom: none;}

.bg-dark a, #footer a {color: #fff;text-decoration: none;border-bottom: none;}
.bg-dark a:hover, #footer a:hover {color: var(--brand-primary);text-decoration: none;}
.bg-dark a.active,
.bg-dark a.active:hover,
#footer a.active,
#footer a.active:hover {color: var(--brand-primary);text-decoration: none;border-bottom: none;}

#footer .footer-copyright,
#footer .copyright,
#footer .footer-bottom,
#footer > div:last-child {
  background-color: var(--color-primary) !important;
  color: var(--color-white) !important;
}

#footer .footer-copyright a,
#footer .copyright a,
#footer .footer-bottom a,
#footer > div:last-child a {
  color: var(--color-white) !important;
  border-bottom-color: rgba(255, 255, 255, .45) !important;
}

#footer .footer-copyright a:hover,
#footer .copyright a:hover,
#footer .footer-bottom a:hover,
#footer > div:last-child a:hover {
  color: var(--color-secondary) !important;
  border-bottom-color: var(--color-secondary) !important;
}

.nav-default a.active, .nav-default a.active span, .nav-default a:hover, .nav-default a:hover span, .nav-default li.active > a, .nav-default li.active > a span {color: var(--brand-dark) !important}

.tooltip {--bs-tooltip-bg: var(--brand-primary);--bs-tooltip-color: var(--brand-secondary);--bs-tooltip-opacity: 1;font-family: "Manrope", sans-serif;font-size: .85rem;}
.tooltip .tooltip-arrow::before {border-top-color: var(--brand-primary);border-bottom-color: var(--brand-primary);}

.popover {--bs-popover-bg: var(--brand-primary);--bs-popover-border-color: var(--brand-primary);--bs-popover-color: var(--brand-secondary);--bs-popover-header-bg: color-mix(in srgb, var(--brand-primary) 15%, var(--brand-dark));--bs-popover-header-color: var(--brand-secondary);--bs-popover-body-color: var(--brand-secondary);box-shadow: 0 12px 35px rgba(0,0,0,.35);}
.popover .popover-arrow::before,
.popover .popover-arrow::after {border-top-color: var(--brand-primary);border-bottom-color: var(--brand-primary);}

.alert-primary {--bs-alert-color: #f0e34c;--bs-alert-bg: #191bb8;--bs-alert-border-color: #191bb8;color: var(--bs-alert-color);background-color: var(--bs-alert-bg);border-color: var(--bs-alert-border-color);}
.alert-secondary {--bs-alert-color: #191bb8;--bs-alert-bg: #f0e34c;--bs-alert-border-color: #191bb8;color: var(--bs-alert-color);background-color: var(--bs-alert-bg);border-color: var(--bs-alert-border-color);}

h1, h2, h3, h4, h5, h6 {font-family: "Manrope", cursive, sans-serif;font-weight: 400;letter-spacing: .01em;} /*"Short Stack", */
h1, h2 {text-shadow:0.03em 0 currentColor,-0.03em 0 currentColor;}

.form-control {background-color: #FFF;}

.navbar-toggler {border-right-color: transparent !important;margin-right: -15px;margin-left: 8px;}

.navbar-light {--bs-navbar-color: var(--brand-dark);--bs-navbar-hover-color: var(--brand-primary);--bs-navbar-active-color: var(--brand-primary);}
.navbar-light .navbar-nav .nav-link {color: var(--brand-dark);text-align: center;}
.navbar-light .navbar-nav .nav-item:hover > .nav-link,
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link[aria-expanded="true"] {color: var(--brand-primary) !important;}
.navbar-light .navbar-nav .nav-item.active > .nav-link,
.navbar-light .navbar-nav .nav-link.active {color: var(--brand-primary);}

.navbar-light .nav-link:hover::after,
.navbar-light .nav-item.active .nav-link::after {width: 60%;}
.navbar-light .nav-link {position: relative;}
.navbar-light .nav-link::after {content: "";position: absolute;left: 50%;bottom: 2px;width: 0;height: 3px;background-color: #191bb8;transition: all .2s ease;transform: translateX(-50%);}

.border-orange {border-color: #191bb8 !important;opacity: 1;}

.col-12.col-md-5.small.card-columns a.nav-link {color: var(--brand-dark) !important;text-decoration: none !important;border-bottom:0 !important }
.col-12.col-md-5.small.card-columns a.nav-link:hover {color: var(--brand-primary) !important;text-decoration: none !important;}
.col-12.col-md-5.small.card-columns a.nav-link.active {color: var(--brand-primary) !important;text-decoration: none !important;}

.dropdown-mega .btn-light {background-color: #f0e34c;color: #1f1f1f;font-weight: 500;}
.dropdown-mega .btn-light:hover {background-color: #ffffff;}.dropdown-mega .ratio {transition: transform .25s ease, box-shadow .25s ease;}
.dropdown-mega .ratio:hover {transform: translateY(-4px);box-shadow: 0 12px 25px rgba(0,0,0,.15);}

.tag-cloud {display: flex;flex-wrap: wrap;gap: .5rem;}
.tag-cloud .btn {padding: .35rem .6rem;line-height: 1.2;display: inline-flex;align-items: center;justify-content: center;white-space: nowrap;margin: 0;flex-grow: 1;border-radius: .55rem;font-weight: 500; --bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.75rem;}

.tag-rel {gap: .5rem;}
.tag-rel .btn {padding: .35rem .6rem;line-height: 1.2;align-items: center;justify-content: center;white-space: nowrap;margin: 0;flex-grow: 1;border-radius: .55rem;font-weight: 500; --bs-btn-padding-y:.25rem;--bs-btn-padding-x:.5rem;--bs-btn-font-size:.75rem;}

.badge-page {background-color: rgba(13,110,253,.08);color: #0d6efd;font-weight: 500;font-size: .7rem;padding: .25rem .45rem;border-radius: .4rem;}
.badge-item {background-color: rgba(25,135,84,.08);color: #198754;font-weight: 500;font-size: .7rem;padding: .25rem .45rem;border-radius: .4rem;}
.tag-result {border-bottom: 1px solid rgba(0,0,0,.05);}
.tag-result:last-child {border-bottom: 0;}
.tag-result {transition: background-color .15s ease, transform .15s ease;}
.tag-result:hover {background-color: rgba(0,0,0,.02);transform: translateY(-1px);}


.share-article {display: flex;gap: 12px;justify-content: flex-end;align-items: center;flex-wrap: wrap;text-align: right;}
.btn-social {width: 36px;height:36px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;color: #fff;border: none;transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease;}
.btn-social:hover {transform: translateY(-2px);}
.btn-social:focus-visible {outline: none;box-shadow: 0 0 0 4px rgba(0,0,0,.15);}
.btn-facebook {background-color: #3b5998;}
.btn-facebook:hover {box-shadow: 0 6px 16px rgba(59, 89, 152, .45);}
.btn-x {background-color: #000;}
.btn-x:hover {box-shadow: 0 6px 16px rgba(0,0,0,.45);}
.btn-linkedin {background-color: #0077b5;}
.btn-linkedin:hover {box-shadow: 0 6px 16px rgba(0, 119, 181, .45);}
.btn-whatsapp {background-color: #25D366;}
.btn-whatsapp:hover {box-shadow: 0 6px 16px rgba(37, 211, 102, .45);}
.btn-instagram {background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);}
.btn-instagram:hover {box-shadow: 0 6px 16px rgba(221, 42, 123, .45);}

.btn-social[aria-label]:hover::after {
    content: attr(aria-label);
    position: absolute;
    bottom: -28px;
    background: rgba(0,0,0,.8);
    color: #fff;
    font-size: .75rem;
    padding: 4px 8px;
    border-radius: 4px;
    white-space: nowrap;
}

#top_bar .language-topbar-link {
  border-bottom: none;
  text-decoration: none !important;
}

#top_bar .language-topbar-link:hover,
#top_bar .language-topbar-link:focus-visible,
#top_bar .language-topbar-link.active {
  color: var(--color-secondary) !important;
  border-bottom-color: var(--color-secondary);
}

/* Alfieri Habitat - layout foundation */
:root,
[data-bs-theme=light] {
  --color-primary: #ff9930;
  --color-primary-hover: #e8841f;
  --color-secondary: #2c2a29;
  --color-background-light: #f7f3ee;
  --color-background-warm: #efe7dc;
  --color-text: #2c2a29;
  --color-text-muted: #6f6a66;
  --color-border: #ded6cc;
  --color-white: #ffffff;
  --color-sustainable-accent: #6f7f5f;

  --brand-primary: var(--color-primary);
  --brand-secondary: var(--color-background-light);
  --brand-dark: var(--color-text);
  --brand-muted: var(--color-text-muted);
  --brand-primary-rgb: 255, 153, 48;
  --brand-secondary-rgb: 247, 243, 238;
  --bs-primary: var(--color-primary);
  --bs-primary-rgb: 255, 153, 48;
  --bs-secondary: var(--color-text-muted);
  --bs-body-bg: var(--color-background-light);
  --bs-body-color: var(--color-text);
  --bs-border-color: var(--color-border);
  --bs-link-color: var(--color-text);
  --bs-link-hover-color: var(--color-primary);
  --bs-body-font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

[data-bs-theme=dark] {
  --bs-body-bg: var(--color-secondary);
  --bs-body-color: var(--color-background-light);
  --bs-border-color: rgba(255, 255, 255, .12);
}

body.site-layout {
  background-color: var(--color-background-light);
  color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Manrope", system-ui, sans-serif;
  font-weight: 500;
  letter-spacing: 0;
}

h1,
h2 {
  text-shadow: none;
}

.site-header {
  background-color: rgba(247, 243, 238, .94);
  backdrop-filter: blur(14px);
}

#top_bar.site-topbar,
#top_bar {
  background-color: var(--color-primary) !important;
}

#top_bar a,
#top_bar span {
  color: var(--color-white) !important;
}

#top_bar a:hover,
#top_bar a:focus-visible {
  color: var(--color-secondary) !important;
}

.navbar-brand > img {
  max-height: 72px;
  max-width: 168px;
}

.site-navbar {
  min-height: 96px;
}

.site-navbar__menu {
  gap: .35rem;
}

.navbar-light {
  --bs-navbar-color: var(--color-text);
  --bs-navbar-hover-color: var(--color-primary);
  --bs-navbar-active-color: var(--color-primary);
}

.navbar-light .navbar-nav .nav-link,
.navbar-light .navbar-nav .dropdown-link {
  color: var(--color-text);
}

.navbar-light .navbar-nav .nav-link {
  padding: 1rem .95rem;
  font-size: .92rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.navbar-light .nav-link::after {
  bottom: .8rem;
  height: 2px;
  background-color: var(--color-primary);
}

.navbar-light .navbar-nav .nav-item.active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link[aria-expanded="true"],
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .dropdown-item.active > .dropdown-link,
.navbar-light .navbar-nav .dropdown-link.active,
.navbar-light .navbar-nav .dropdown-link:hover {
  color: var(--color-primary) !important;
}

.navbar .dropdown-menu {
  border: 1px solid var(--color-border);
  border-radius: .35rem;
  box-shadow: 0 24px 70px rgba(44, 42, 41, .12);
}

.navbar .dropdown-item {
  padding: 0;
}

.navbar .dropdown-link {
  display: block;
  padding: .85rem 1.15rem;
  text-decoration: none;
}

.site-page {
  position: relative;
  z-index: 1;
}

.site-hero {
  position: relative;
  min-height: clamp(560px, 82vh, 860px);
  overflow: hidden;
  background-color: var(--color-secondary);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.site-hero__media,
.site-hero__overlay,
.site-hero__slideshow,
.site-hero__fallback,
.site-hero__video {
  position: absolute;
  inset: 0;
}

.site-hero__video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-hero__slideshow,
.site-hero__fallback {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.site-hero__overlay {
  background:
    linear-gradient(90deg, rgba(44, 42, 41, .72) 0%, rgba(44, 42, 41, .5) 42%, rgba(44, 42, 41, .34) 100%);
}

.site-hero__content {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: flex;
  align-items: flex-end;
  padding-top: 7rem;
  padding-bottom: 5rem;
}

.site-hero__inner {
  max-width: 48rem;
  color: var(--color-white);
}

.site-hero__eyebrow,
.site-section__eyebrow,
.site-card__meta {
  margin-bottom: 1rem;
  color: var(--color-primary);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.site-hero h1 {
  margin-bottom: 1.1rem;
  color: var(--color-white);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: .95;
}

.site-hero__subtitle {
  max-width: 38rem;
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, .84);
  font-size: 1.02rem;
}

.site-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
}

.site-hero .btn-outline-light {
  border-color: rgba(255, 255, 255, .6);
  color: var(--color-white);
}

.site-hero .btn-outline-light:hover,
.site-hero .btn-outline-light:focus-visible {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-secondary);
}

.site-section {
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.site-section--warm {
  background-color: var(--color-background-warm);
}

.site-section--dark {
  background-color: var(--color-secondary);
  color: var(--color-white);
}

.site-section--cta {
  background-color: var(--color-white);
  color: var(--color-white);
  padding: clamp(4rem, 8vw, 7rem) 0;
}

.site-section--cta .site-cta {
  background-color: var(--color-white);
  color: var(--color-text);
  border-radius: 1.5rem;
  padding: clamp(2rem, 4vw, 3.5rem);
  box-shadow: 0 24px 70px rgba(44, 42, 41, .14);
}

.site-section--cta .site-section__eyebrow {
  color: var(--color-primary);
}

.site-section--cta .site-cta p {
  color: var(--color-text-muted);
}

.site-section--cta .site-cta .btn-primary {
  white-space: nowrap;
}

.site-section__heading {
  max-width: 46rem;
  margin-bottom: 2.75rem;
}

.site-section__heading--split {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 2rem;
  align-items: end;
}

.site-section__heading h2,
.site-cta h2 {
  margin-bottom: .85rem;
  color: inherit;
  font-size: clamp(2rem, 3vw, 3rem);
}

.site-section__heading p,
.site-card p,
.site-process__item p,
.site-cta p {
  color: var(--color-text-muted);
  margin-bottom: 0;
}

.site-section--dark .site-section__heading p,
.site-section--dark .site-process__item p {
  color: rgba(255, 255, 255, .72);
}

.site-grid {
  display: grid;
  gap: 1.5rem;
}

.site-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.site-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.site-grid--featured {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.site-card {
  min-height: 100%;
  padding: 2rem;
  border: 1px solid var(--color-border);
  border-radius: .35rem;
  background-color: rgba(255, 255, 255, .6);
}

.site-card--project {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(180deg, rgba(44, 42, 41, .08) 0%, rgba(44, 42, 41, .6) 100%),
    var(--color-background-warm);
  border-color: rgba(44, 42, 41, .08);
}

.site-card--project h3,
.site-card--project p {
  color: var(--color-white);
}

.site-card h3,
.site-process__item h3 {
  margin-bottom: .7rem;
  font-size: 1.2rem;
}

.site-process {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.site-process__item {
  padding: 1.75rem;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: .35rem;
  background-color: rgba(255, 255, 255, .03);
}

.site-process__item span {
  display: inline-block;
  margin-bottom: 1rem;
  color: var(--color-primary);
  font-size: 2.85rem;
  font-weight: 700;
  letter-spacing: .16em;
}

.site-cta {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) auto;
  gap: 1.5rem;
  align-items: center;
  padding: 2.25rem 2.5rem;
  border: 1px solid var(--color-border);
  border-radius: .35rem;
  background-color: var(--color-background-warm);
}

.btn-primary {
  background-color: var(--color-primary) !important;
  border-color: var(--color-primary) !important;
  color: var(--color-white) !important;
  box-shadow: none !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:active,
.btn-primary.active {
  background-color: var(--color-primary-hover) !important;
  border-color: var(--color-primary-hover) !important;
  box-shadow: 0 14px 34px rgba(232, 132, 31, .22) !important;
}

.btn-secondary,
.btn-light {
  color: var(--color-text);
}

a.link-primary,
#page a:not(.tag-rel a):not(.nav-link):not(.dropdown-link):not(.btn) {
  color: var(--color-text) !important;
  border-bottom-color: rgba(255, 153, 48, .4);
}

a.link-primary:hover,
#page a:not(.tag-rel a):not(.nav-link):not(.dropdown-link):not(.btn):hover {
  color: var(--color-primary) !important;
  border-bottom-color: var(--color-primary);
}

@media only screen and (max-width: 991px) {
  .site-header {
    background-color: rgba(247, 243, 238, .98);
  }

  .navbar-collapse.show {
    background-color: rgba(44, 42, 41, .55);
  }

  .navbar-collapse.show > .navbar-nav {
    top: 88px;
    background-color: var(--color-background-light);
    box-shadow: 0 18px 60px rgba(44, 42, 41, .16);
  }

  .navbar-xs {
    background-color: var(--color-background-light);
  }

  .site-navbar {
    min-height: 84px;
  }

  .site-hero {
    min-height: 620px;
  }

  .site-hero__content {
    align-items: flex-end;
    padding-top: 8rem;
    padding-bottom: 3.5rem;
  }

  .site-grid--three,
  .site-grid--four,
  .site-grid--featured,
  .site-process,
  .site-section__heading--split,
  .site-cta {
    grid-template-columns: 1fr;
  }

  .site-card,
  .site-process__item,
  .site-cta {
    padding: 1.5rem;
  }
}





/* Alfieri Habitat - patch 07 home hero/layout compatibility */
.site-hero--hydra-slider,
.site-hero--slider {
  padding: 0;
  min-height: clamp(560px, 82vh, 860px);
}

.site-hero--hydra-slider .site-hero__carousel,
.site-hero--hydra-slider .carousel-inner,
.site-hero--hydra-slider .carousel-item,
.site-hero--hydra-slider .site-hero__slide,
.site-hero--slider .swiper-wrapper,
.site-hero--slider .swiper-slide,
.site-hero--slider .site-hero__slide {
  min-height: inherit;
}

.site-hero--hydra-slider .carousel-inner,
.site-hero--hydra-slider .carousel-item,
.site-hero--slider .swiper-wrapper,
.site-hero--slider .swiper-slide {
  height: 100%;
}

.site-hero--hydra-slider .site-hero__slide,
.site-hero--slider .site-hero__slide {
  position: relative;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.site-hero--hydra-slider .site-hero__overlay,
.site-hero--slider .site-hero__overlay {
  z-index: 1;
}

.site-hero--hydra-slider .site-hero__content,
.site-hero--slider .site-hero__content {
  width: 100%;
}

.site-hero--hydra-slider .site-hero__subtitle p:last-child,
.site-hero--slider .site-hero__subtitle p:last-child {
  margin-bottom: 0;
}

.site-hero--hydra-slider .site-hero__indicators,
.site-hero--slider .site-hero__pagination {
  bottom: 2rem;
}

.site-hero--hydra-slider .carousel-control-prev,
.site-hero--hydra-slider .carousel-control-next {
  z-index: 4;
}

.site-page > .site-section:first-child,
.site-page > section:first-child {
  margin-top: 0;
}
/* Alfieri Habitat - patch 09 menu baseline + hero padding reset */
@media (min-width: 992px) {
  #header .site-navbar {
    position: relative;
    min-height: 96px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: stretch;
  }

  #header .site-navbar .navbar-brand {
    display: flex;
    align-items: center;
    min-height: inherit;
    margin: 0;
  }

  #header .site-navbar > .navbar-collapse {
    position: absolute;
    inset: 0 auto 0 50%;
    transform: translateX(-50%);
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    width: auto;
    height: 100%;
    z-index: 2;
  }

  #header .site-navbar__menu {
    min-height: inherit;
    height: 100%;
    align-items: stretch !important;
    gap: 1.35rem;
  }

  #header .site-navbar__menu > .nav-item {
    position: relative;
    display: flex;
    align-items: stretch;
    justify-content: center;
    min-height: inherit;
  }

  #header .navbar-light .site-navbar__menu > .nav-item > .nav-link {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: inherit;
    height: 100%;
    padding: 0 .95rem !important;
    line-height: 1 !important;
    text-align: center;
  }

  #header .site-navbar__menu > .nav-item > .nav-link .nav-link__label-spacer {
    visibility: hidden !important;
    opacity: 0 !important;
    display: inline-block !important;
    white-space: nowrap;
    pointer-events: none;
  }

  #header .site-navbar__menu > .nav-item > .nav-link .nav-link__label {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    pointer-events: none;
  }

  #header .navbar-light .site-navbar__menu > .nav-item > .nav-link::after {
    display: none !important;
    content: none !important;
    width: 0 !important;
  }

  #header .navbar-light .site-navbar__menu > .nav-item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 0;
    height: 3px;
    background-color: var(--color-primary);
    transform: translateX(-50%);
    transition: width .2s ease;
    pointer-events: none;
  }

  #header .navbar-light .site-navbar__menu > .nav-item:hover::after,
  #header .navbar-light .site-navbar__menu > .nav-item.active::after {
    width: calc(100% - 1.9rem);
    min-width: 3.25rem;
    max-width: 7.25rem;
  }

  #header .site-navbar__tools {
    min-height: inherit;
    height: 100%;
    align-items: center !important;
    margin-left: auto;
    position: relative;
    z-index: 3;
  }
}

@media (max-width: 991.98px) {
  #header .site-navbar__menu .nav-link__label-spacer {
    display: none !important;
  }

  #header .site-navbar__menu .nav-link__label {
    position: static !important;
    transform: none !important;
    pointer-events: auto;
  }
}

#middle > .site-hero,
#middle > section.site-hero,
#middle > .site-hero--hydra-slider,
#middle > .site-hero--slider,
#middle > .section.swiper-container,
#middle > .section.sow-util-slideshow,
#middle > .section.jarallax,
.site-hero.section,
.site-hero--hydra-slider.section,
.site-hero--slider.section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0;
  margin-bottom: 0;
}

.site-hero--hydra-slider .carousel-inner,
.site-hero--hydra-slider .carousel-item,
.site-hero--slider .swiper-wrapper,
.site-hero--slider .swiper-slide {
  height: 100%;
}

#header .site-navbar {
  display: flex;
  align-items: center !important;
}

#header .site-navbar__brand-wrap {
  min-height: inherit;
  height: 100%;
  display: flex !important;
  align-items: center !important;
}

#header .navbar-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1;
}

#header .navbar-brand > img {
  display: block;
  height: auto;
  max-height: 72px;
  width: auto;
}
.site-hero__carousel,
.site-hero__slide {
  min-height: inherit;
}

.site-hero__slide {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.site-hero .carousel-inner {
  min-height: inherit;
}

.language-inline-item {
  margin-right: .4rem;
}

.language-inline-item:last-child {
  margin-right: 0;
}

.language-inline-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  padding: .25rem .45rem;
  color: var(--color-white) !important;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none !important;
  border: 1px solid rgba(255, 255, 255, .4);
  border-radius: 999px;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.language-inline-link:hover,
.language-inline-link:focus-visible,
.language-inline-link.active {
  background-color: var(--color-white);
  border-color: var(--color-white);
  color: var(--color-primary) !important;
}
