/* ============================================================
   TIPOS DE LETRA
   Regras copiadas da folha das Google Fonts a 2026-08-19. Estao aqui
   em vez de virem por <link> porque esse pedido bloqueava o desenho da
   pagina: era um dominio de terceiros a pagar DNS, TLS e uma ida e volta
   antes de aparecer o primeiro pixel. Os ficheiros continuam a vir do
   fonts.gstatic.com e, com font-display:swap, nao bloqueiam nada.

   So os subsets latin e latin-ext, que sao os que o portugues usa.
   Se algum dia o texto aparecer na fonte de sistema e nao mudar, e sinal
   de que a Google mexeu nos URL: voltar a correr scratchpad/gen-fontes.mjs
   e substituir este bloco.
   ============================================================ */
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcvsYwYZ8UA3J58.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 300 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/inter/v20/UcCo3FwrK3iLTcviYwYZ8UA3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnojEk7yRZrPJ-M.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFkD-vYSZviVYUb_rj3ij__anPXDTnogkk7yRZrPA.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* latin-ext */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTLYgEM86xRbPQ.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Playfair Display';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/playfairdisplay/v40/nuFiD-vYSZviVYUb_rj3ij__anPXDTzYgEM86xQ.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ============================================================
   VARIABLES & RESET
   ============================================================ */
:root {
  --dark:        #101e38;
  --navy:        #172849;
  --navy-mid:    #1d3056;
  --navy-light:  #263d65;
  --red:         #e31837;
  --red-dark:    #b8102b;
  --gold:        #c9a84c;
  --gold-light:  #e8c97a;
  --white:       #eaebe4;
  --text-muted:  rgba(234,235,228,0.62);
  --text-light:  rgba(234,235,228,0.85);
  --border:      rgba(234,235,228,0.08);
  --border-gold: rgba(201,168,76,0.25);

  --font-head: 'Playfair Display', serif;
  --font-body: 'Inter', sans-serif;

  --nav-h:   72px;
  --max-w:   1200px;
  --pad-sec: 5.5rem;
  --r:       8px;
  --r-lg:    16px;
  --ease:    0.3s ease;
  --shadow:  0 4px 24px rgba(0,0,0,0.25);
  --shadow-lg: 0 12px 48px rgba(0,0,0,0.35);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
/* O nav e fixo, por isso qualquer salto por ancora tem de descontar a sua altura,
   senao o topo do destino fica escondido por baixo dele. */
section[id], [id="recruit-form"] { scroll-margin-top: calc(var(--nav-h) + 1.5rem); }
body {
  font-family: var(--font-body);
  background: var(--dark);
  color: var(--white);
  line-height: 1.65;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }

/* ============================================================
   TYPOGRAPHY UTILITIES
   ============================================================ */
.lbl {
  display: block;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: .75rem;
}
.sec-title {
  font-family: var(--font-head);
  font-size: clamp(1.9rem, 3.8vw, 3rem);
  font-weight: 700;
  line-height: 1.1;
  margin-bottom: .9rem;
  letter-spacing: -0.03em;
}
.sec-sub {
  font-size: 1.02rem;
  color: var(--text-muted);
  max-width: 540px;
  line-height: 1.75;
}
.text-gold { color: var(--gold); }
.text-red  { color: var(--red); }
.text-center { text-align: center; }
.text-center .sec-sub { margin-left: auto; margin-right: auto; }

/* ============================================================
   LAYOUT
   ============================================================ */
.container {
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 1.5rem;
}
.section { padding: var(--pad-sec) 0; }
.section--alt { background: var(--navy); }
.section--darker { background: var(--dark); }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .88rem 2rem;
  border-radius: var(--r);
  font-family: var(--font-body);
  font-size: .92rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--ease);
  border: 2px solid transparent;
  white-space: nowrap;
}
.btn--red {
  background: var(--red);
  color: var(--white);
  border-color: var(--red);
}
.btn--red:hover {
  background: var(--red-dark);
  border-color: var(--red-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(227,24,55,.35);
}
.btn--gold {
  background: var(--gold);
  color: var(--dark);
  border-color: var(--gold);
  font-weight: 700;
}
.btn--gold:hover {
  background: var(--gold-light);
  border-color: var(--gold-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(201,168,76,.3);
}
.btn--outline {
  background: transparent;
  color: var(--white);
  border-color: rgba(255,255,255,.35);
}
.btn--outline:hover {
  background: rgba(255,255,255,.08);
  border-color: var(--white);
  transform: translateY(-2px);
}
.btn--outline-gold {
  background: transparent;
  color: var(--gold);
  border-color: var(--gold);
}
.btn--outline-gold:hover {
  background: var(--gold);
  color: var(--dark);
  transform: translateY(-2px);
}
/* Brilho subtil a atravessar os botões dourados ao passar o rato */
.btn--gold, .btn--outline-gold { position: relative; overflow: hidden; }
.btn--gold > *, .btn--outline-gold > * { position: relative; z-index: 1; }
.btn--gold::after, .btn--outline-gold::after {
  content: ''; position: absolute; top: 0; left: -80%; width: 45%; height: 100%;
  background: linear-gradient(120deg, transparent, rgba(255,255,255,.5), transparent);
  transform: skewX(-18deg); pointer-events: none; opacity: 0;
}
.btn--gold:hover::after, .btn--outline-gold:hover::after { animation: btnSheen .75s ease; }
@keyframes btnSheen {
  0% { left: -80%; opacity: 0; }
  18% { opacity: 1; }
  100% { left: 130%; opacity: 0; }
}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  height: var(--nav-h);
  display: flex;
  align-items: center;
  transition: background var(--ease), box-shadow var(--ease);
}
.nav.scrolled, .nav.cms-navscrolled {
  background: rgba(16,30,56,.96);
  backdrop-filter: blur(12px);
  box-shadow: 0 2px 24px rgba(0,0,0,.4);
}
.nav__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 1.5rem;
}
.nav__logo {
  display: flex;
  align-items: center;
  gap: .7rem;
}
.nav__logo-mark {
  width: 46px; height: 46px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--navy);
}
.nav__logo-mark img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.nav__logo-stack {
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.nav__logo-name {
  font-family: var(--font-head);
  font-size: 1rem;
  font-weight: 700;
}
.nav__logo-sub {
  font-size: .62rem;
  color: var(--gold);
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.nav__links {
  display: flex;
  align-items: center;
  gap: .15rem;
  list-style: none;
}
.nav__links a {
  position: relative;
  white-space: nowrap;
  padding: .48rem .85rem;
  font-size: .84rem;
  font-weight: 500;
  color: rgba(255,255,255,.78);
  border-radius: var(--r);
  transition: all var(--ease);
}
.nav__links a:hover { color: var(--white); background: rgba(255,255,255,.07); }
.nav__links a.active { color: var(--gold); }
.nav__links a.active::after {
  content: '';
  position: absolute;
  left: .85rem; right: .85rem; bottom: 0;
  height: 2px;
  background: var(--gold);
  border-radius: 2px;
}
.nav__actions { display: flex; align-items: center; gap: 2rem; margin-left: auto; }
.nav__cta { display: flex; align-items: center; }
.nav__check { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.nav__toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 6px;
  background: none;
  border: none;
  z-index: 1001;
}
.nav__toggle span {
  display: block;
  width: 24px; height: 2px;
  background: var(--white);
  border-radius: 2px;
  transition: all var(--ease);
}
.nav__toggle.open span:nth-child(1),
#nav-toggle:checked ~ nav .nav__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav__toggle.open span:nth-child(2),
#nav-toggle:checked ~ nav .nav__toggle span:nth-child(2) { opacity: 0; }
.nav__toggle.open span:nth-child(3),
#nav-toggle:checked ~ nav .nav__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu overlay */
.nav__mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  background: var(--dark);
  z-index: 999;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  padding: 2rem;
}
.nav__mobile-menu.open,
#nav-toggle:checked ~ .nav__mobile-menu { display: flex; }
.nav__mobile-menu a {
  font-family: var(--font-head);
  font-size: 1.6rem;
  color: var(--white);
  transition: color var(--ease);
}
.nav__mobile-menu a:hover,
.nav__mobile-menu a.active { color: var(--gold); }
.nav__mobile-menu .btn { margin-top: 1rem; }

/* ============================================================
   HERO — HOMEPAGE
   ============================================================ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  overflow: hidden;
}
.hero__bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 22% 52%, rgba(38,61,101,0.55) 0%, transparent 60%),
    linear-gradient(135deg, rgba(16,30,56,.78) 0%, rgba(23,40,73,.65) 55%, rgba(16,30,56,.55) 100%),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1200&q=45') center/cover no-repeat;
}
.hero__bg::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 220px;
  background: linear-gradient(to top, var(--dark), transparent);
}
.hero__content {
  position: relative;
  z-index: 1;
  max-width: 720px;
  padding-top: var(--nav-h);
}
.hero__badge {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(201,168,76,.12);
  border: 1px solid rgba(201,168,76,.3);
  color: var(--gold);
  padding: .4rem 1rem;
  border-radius: 100px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}
.hero__badge i { font-size: .65rem; }
.hero__overline {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: 2px;
  color: var(--gold);
  margin-bottom: 1.5rem;
  text-transform: uppercase;
}
.hero__overline-line {
  width: 40px;
  height: 1px;
  background-color: var(--gold);
}
.hero__title {
  font-family: var(--font-head);
  font-size: clamp(3rem, 5.5vw, 4.8rem);
  font-weight: 400;
  line-height: 1.05;
  margin-bottom: 1.3rem;
  letter-spacing: -0.05em;
}
.hero__title em {
  font-style: italic;
  font-weight: 400;
  color: var(--white);
}
.htl { display: block; }
.htl--shift {
  font-style: italic;
  font-weight: 400;
  margin-left: clamp(1.5rem, 6vw, 6.5rem);
  padding-top: .15rem;
  padding-bottom: .15rem;
}
.htl__word {
  position: relative;
  display: inline-block;
}
.htl__curve {
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 12px;
  color: rgba(201, 168, 76, 0.22);
  pointer-events: none;
  z-index: -1;
}
.hero__sub {
  font-size: 1.08rem;
  color: var(--text-muted);
  line-height: 1.75;
  margin-bottom: 2.5rem;
  max-width: 500px;
}
.hero__actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.hero__scroll-hint {
  position: absolute;
  bottom: 2.5rem; left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .4rem;
  color: rgba(255,255,255,.3);
  font-size: .68rem;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  animation: scrollBounce 2.2s infinite;
}
@keyframes scrollBounce {
  0%,100% { transform: translateX(-50%) translateY(0); }
  50%      { transform: translateX(-50%) translateY(9px); }
}

/* ============================================================
   STATS BAR
   ============================================================ */
.stats {
  background: var(--navy-light);
  padding: 3rem 0;
  border-top: 1px solid var(--border-gold);
  border-bottom: 1px solid var(--border-gold);
}
.stats__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.stat { text-align: center; padding: .75rem 1rem; }
.stat__n {
  font-family: var(--font-head);
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--gold);
  line-height: 1;
  display: block;
  margin-bottom: .4rem;
}
.stat__l {
  font-size: .78rem;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 1.2px;
}

/* Variante "Números em Destaque" (homepage): cartões dourados */
.stats--destaque {
  background: var(--dark);
  padding: 4rem 0;
}
.stats--destaque .stats__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.2rem;
  margin-bottom: 2.5rem;
}
.stats--destaque .stats__head-line {
  height: 1px;
  width: clamp(30px, 8vw, 70px);
  background: linear-gradient(90deg, transparent, var(--gold));
}
.stats--destaque .stats__head-line:last-child {
  background: linear-gradient(90deg, var(--gold), transparent);
}
.stats--destaque .stats__head-txt {
  font-family: var(--font-head);
  font-style: italic;
  color: var(--gold);
  font-size: 1.15rem;
  letter-spacing: .5px;
}
.stats--destaque .stat {
  background: linear-gradient(160deg, var(--navy) 0%, var(--navy-mid) 100%);
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  padding: 1.8rem 1rem;
  transition: transform var(--ease), border-color var(--ease), box-shadow var(--ease);
}
.stats--destaque .stat:hover {
  transform: translateY(-4px);
  border-color: rgba(201,168,76,.5);
  box-shadow: var(--shadow-lg);
}
.stats--destaque .stat__ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin: 0 auto .9rem;
  border-radius: 50%;
  color: var(--gold);
  font-size: 1.1rem;
  background: rgba(201,168,76,.10);
  border: 1px solid var(--border-gold);
}

/* ============================================================
   SERVICES GRID
   ============================================================ */
.services__header { margin-bottom: 3rem; }
.services__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.svc-card {
  background: var(--navy);
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  padding: 2.2rem;
  transition: transform var(--ease), box-shadow var(--ease), border-color var(--ease);
  position: relative;
  overflow: hidden;
  cursor: pointer;
  display: block;
}
.svc-card:hover {
  transform: translateY(-4px);
  border-color: rgba(201,168,76,.55);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
}
.svc-card__ico {
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gold);
  margin-bottom: 1.4rem;
}
.svc-card__ico svg { width: 36px; height: 36px; }
.svc-card__title {
  font-family: var(--font-head);
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: .6rem;
  letter-spacing: -0.02em;
  transition: color var(--ease);
}
.svc-card:hover .svc-card__title { color: var(--gold); }
.svc-card__desc {
  font-size: .87rem;
  color: var(--text-muted);
  line-height: 1.72;
  margin-bottom: 1.4rem;
}
.svc-card__cta {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .78rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .5px;
  transition: gap var(--ease);
}
.svc-card:hover .svc-card__cta { gap: .6rem; }

/* ============================================================
   ABOUT (HOMEPAGE)
   ============================================================ */
.about__grid {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 5rem;
  align-items: center;
}
.about__img-wrap { position: relative; }
.about__photo {
  width: 100%;
  aspect-ratio: 4/5;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--navy-light);
}
.about__photo img { width: 100%; height: 100%; object-fit: cover; }
.about__plaque {
  position: absolute;
  bottom: -1.5rem; right: -1.5rem;
  background: var(--red);
  padding: 1.4rem 1.6rem;
  border-radius: var(--r-lg);
  text-align: center;
  min-width: 130px;
  box-shadow: var(--shadow-lg);
}
.about__plaque-n {
  font-family: var(--font-head);
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1;
  display: block;
}
.about__plaque-l { font-size: .72rem; opacity: .9; margin-top: .3rem; }
.about__text { font-size: .97rem; color: var(--text-muted); line-height: 1.8; margin-bottom: 1rem; }
.about__checks {
  display: flex; flex-direction: column; gap: .7rem;
  margin: 1.75rem 0 2rem;
}
.about__check {
  display: flex; align-items: center; gap: .75rem;
  font-size: .9rem; color: var(--text-light);
}
.about__check i { color: var(--gold); font-size: .85rem; }

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.testi__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.testi__grid img {
  width: 100%;
  border-radius: var(--r-lg);
  box-shadow: var(--shadow-lg);
  display: block;
  object-fit: cover;
  transition: transform var(--ease);
}
.testi__grid img:hover { transform: translateY(-4px); }

/* ============================================================
   CONTACT + MAP (HOMEPAGE)
   ============================================================ */
.contact__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas:
    "heading ."
    "form    info"
    "map     map";
  gap: 2.5rem 4rem;
  align-items: start;
}
/* Esquerda: titulo + texto (em cima) e formulario (por baixo). Direita: dados de contacto */
.contact__grid > div:first-child { grid-area: heading; }
.contact__grid > div:first-child .sec-sub { margin-bottom: 0 !important; }
.contact__info { grid-area: info; }
.contact__form-wrap { display: flex; flex-direction: column; grid-area: form; }
.contact__info-item {
  display: flex; align-items: flex-start; gap: 1rem;
  margin-bottom: 1.5rem;
}
.contact__info-ico {
  width: 46px; height: 46px;
  background: rgba(227,24,55,.1);
  border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
  color: var(--red); font-size: 1.1rem; flex-shrink: 0;
}
.contact__info-lbl {
  font-size: .72rem; text-transform: uppercase; letter-spacing: 1px;
  color: var(--text-muted); margin-bottom: .2rem;
}
.contact__info-val { font-size: .95rem; color: var(--white); }
.contact__info-val a:hover { color: var(--gold); }
.contact__map {
  grid-area: map;
  border-radius: var(--r-lg);
  overflow: hidden;
  height: 420px;
  border: 1px solid var(--border);
}
.contact__map iframe { width: 100%; height: 100%; border: none; }

/* Contact form */
.contact__form { display: flex; flex-direction: column; gap: .9rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; }
.fg { display: flex; flex-direction: column; gap: .35rem; }
.fg label { font-size: .75rem; font-weight: 600; color: var(--text-muted); text-transform: uppercase; letter-spacing: .8px; }
.fg input,
.fg textarea,
.fg select {
  background: var(--navy);
  border: 1px solid var(--border);
  border-radius: var(--r);
  padding: .82rem 1rem;
  color: var(--white);
  font-family: var(--font-body);
  font-size: .92rem;
  transition: border-color var(--ease);
  width: 100%;
}
.fg input:focus,
.fg textarea:focus,
.fg select:focus { outline: none; border-color: var(--gold); }
.fg input::placeholder,
.fg textarea::placeholder { color: rgba(255,255,255,.25); }
.fg textarea { resize: vertical; min-height: 110px; }
.fg select option { background: var(--navy); }

/* ============================================================
   FOOTER
   ============================================================ */
.footer {
  background: #03060f;
  padding: 4rem 0 2rem;
  border-top: 1px solid var(--border);
}
.footer__grid {
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}
.footer__brand-txt {
  font-size: .88rem;
  color: var(--text-muted);
  line-height: 1.75;
  margin: 1rem 0 1.5rem;
  max-width: 260px;
}
.footer__socials { display: flex; gap: .65rem; }
.footer__soc {
  width: 36px; height: 36px;
  background: rgba(255,255,255,.05);
  border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
  font-size: .88rem;
  color: var(--text-muted);
  transition: all var(--ease);
}
.footer__soc:hover { background: var(--red); color: var(--white); }
.footer__col-hd {
  font-size: .75rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1.5px;
  margin-bottom: 1.25rem;
}
.footer__links { list-style: none; display: flex; flex-direction: column; gap: .55rem; }
.footer__links a { font-size: .84rem; color: var(--text-muted); transition: color var(--ease); }
.footer__links a:hover { color: var(--gold); }
.footer__btm {
  border-top: 1px solid var(--border);
  padding-top: 1.5rem;
  display: flex; justify-content: space-between; align-items: center;
}
.footer__copy { font-size: .78rem; color: rgba(255,255,255,.3); }
.footer__btm-links { display: flex; gap: 1.5rem; list-style: none; }
.footer__btm-links a { font-size: .78rem; color: rgba(255,255,255,.3); transition: color var(--ease); }
.footer__btm-links a:hover { color: var(--white); }

/* ============================================================
   SELLERS PAGE — HERO
   ============================================================ */
.hero--page {
  min-height: 100vh;
  min-height: 100svh;
}
.hero--page .hero__bg {
  background:
    linear-gradient(135deg, rgba(6,12,29,.75) 0%, rgba(13,27,62,.65) 60%, rgba(6,12,29,.70) 100%),
    url('https://images.unsplash.com/photo-1560448204-e02f11c3d0e2?auto=format&fit=crop&w=1400&q=55') center/cover no-repeat;
}
.hero--page .hero__content { padding-bottom: 3rem; }
.hero__sub-list {
  display: flex; gap: 1.5rem; flex-wrap: wrap;
  list-style: none;
  margin-top: -1rem;
  margin-bottom: 2.5rem;
}
.hero__sub-list li {
  display: flex; align-items: center; gap: .4rem;
  font-size: .85rem; color: var(--text-muted);
}
.hero__sub-list li i { color: var(--gold); font-size: .75rem; }

.hero__signature {
  display: flex; align-items: center; gap: .75rem;
  margin-bottom: 2rem;
  padding-top: .25rem;
}
.hero__signature-avatar {
  width: 48px; height: 48px;
  border-radius: 50%;
  border: 2px solid var(--gold);
  object-fit: cover;
  flex-shrink: 0;
}
.hero__signature-text {
  display: flex; flex-direction: column; gap: .15rem;
}
.hero__signature-name {
  font-family: var(--font-head); font-size: .95rem;
  color: var(--white); line-height: 1.2;
}
.hero__signature-role {
  font-size: .75rem; color: var(--text-muted);
}

/* ============================================================
   HERO — SPLIT (HOME PAGE)
   ============================================================ */
.hero--medallion {
  min-height: 100vh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}
.hero__bg--medallion {
  background:
    radial-gradient(circle at 72% 48%, rgba(201,168,76,.18) 0%, transparent 40%),
    radial-gradient(ellipse at 18% 30%, rgba(38,61,101,.55) 0%, transparent 60%),
    linear-gradient(135deg, rgba(16,30,56,.93) 0%, rgba(23,40,73,.82) 55%, rgba(16,30,56,.92) 100%),
    url('https://images.unsplash.com/photo-1600596542815-ffad4c1539a9?auto=format&fit=crop&w=1200&q=45') center/cover no-repeat;
}
.hero__grid {
  position: relative;
  z-index: 2;
  width: 100%;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  align-items: center;
  gap: 3rem;
  padding-top: var(--nav-h);
}
.hero--medallion .hero__content {
  max-width: 600px;
  padding-top: 0;
}
.hero--medallion .hero__title em {
  font-style: italic;
  background: linear-gradient(120deg, var(--gold-light), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--gold);
}

/* Medalhão: retrato circular do Carlos */
.hero__medallion {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
.medallion {
  position: relative;
  width: min(400px, 78%);
  aspect-ratio: 1;
}
.medallion__glow {
  position: absolute;
  inset: -14%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(201,168,76,.38) 0%, rgba(201,168,76,.10) 46%, transparent 70%);
  animation: medGlow 5.5s ease-in-out infinite;
}
.medallion__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  padding: 7px;
  background: conic-gradient(from 210deg,
    var(--gold) 0%, var(--gold-light) 16%, var(--gold) 33%,
    var(--gold-light) 50%, var(--gold) 66%, var(--gold-light) 83%, var(--gold) 100%);
  box-shadow:
    0 0 0 1px rgba(232,201,122,.4),
    0 24px 60px rgba(0,0,0,.5),
    inset 0 0 24px rgba(16,30,56,.4);
}
.medallion__ring img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
  background: radial-gradient(circle at 50% 32%, var(--navy-light), var(--navy) 72%);
  display: block;
}
.medallion__chip {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 35%);
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: .55rem;
  text-align: left;
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: var(--dark);
  font-family: var(--font-head);
  font-weight: 700;
  letter-spacing: .3px;
  padding: .45rem 1.3rem;
  border-radius: 100px;
  white-space: nowrap;
  width: max-content;
  box-shadow: 0 10px 26px rgba(0,0,0,.45), 0 0 0 5px var(--dark);
  z-index: 3;
}
.medallion__chip-logo {
  height: 32px;
  width: auto;
  flex-shrink: 0;
}
.medallion__chip-text {
  display: inline-flex;
  flex-direction: column;
  gap: .1rem;
}
.medallion__chip strong { font-size: 1.02rem; line-height: 1.05; }
.medallion__chip-sub {
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  opacity: .8;
  line-height: 1;
}

/* Sparkles (estrelas de 4 pontas) */
.sparkle {
  position: absolute;
  width: 16px;
  height: 16px;
  background: var(--gold-light);
  clip-path: polygon(50% 0%, 58% 42%, 100% 50%, 58% 58%, 50% 100%, 42% 58%, 0% 50%, 42% 42%);
  filter: drop-shadow(0 0 6px rgba(232,201,122,.85));
  opacity: .8;
  pointer-events: none;
  z-index: 2;
  animation: twinkle 3.4s ease-in-out infinite;
}
.sparkle--a  { top: 18%;    left: 8%;   width: 14px; animation-delay: .2s; }
.sparkle--b  { top: 30%;    right: 40%; width: 10px; animation-delay: 1.1s; }
.sparkle--c  { bottom: 26%; left: 14%;  width: 12px; animation-delay: 2s; }
.sparkle--d  { top: 62%;    right: 8%;  width: 18px; animation-delay: .7s; }
.sparkle--m1 { top: -2%;    right: 12%; width: 20px; animation-delay: .4s; z-index: 3; }
.sparkle--m2 { bottom: 8%;  left: -4%;  width: 14px; animation-delay: 1.4s; z-index: 3; }
.sparkle--m3 { top: 14%;    left: -6%;  width: 11px; animation-delay: 2.2s; z-index: 3; }

@keyframes twinkle {
  0%, 100% { opacity: .2; transform: scale(.6) rotate(0deg); }
  50%      { opacity: .9; transform: scale(1) rotate(45deg); }
}
@keyframes medGlow {
  0%, 100% { opacity: .65; transform: scale(.97); }
  50%      { opacity: 1;   transform: scale(1.04); }
}

/* Com 9 links o menu só cabe a partir dos 1200px; abaixo disso passa ao menu do botão */
@media (max-width: 1200px) {
  .nav__links { display: none; }
  .nav__toggle { display: flex; }
}
@media (max-width: 1024px) {
  .hero__grid { gap: 2rem; }
  .medallion  { width: min(340px, 82%); }
}
@media (max-width: 768px) {
  .hero--medallion { min-height: auto; }
  .hero__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    padding-top: calc(var(--nav-h) + 2rem);
    padding-bottom: 3.5rem;
    text-align: center;
  }
  .hero--medallion .hero__content { max-width: 100%; order: 2; }
  .hero__medallion { order: 1; }
  .medallion { width: min(260px, 64%); }
  .hero--medallion .hero__overline { justify-content: center; }
  .hero--medallion .htl--shift { margin-left: 0; }
  .hero--medallion .hero__sub { margin-left: auto; margin-right: auto; }
  .hero--medallion .hero__actions { align-items: center; justify-content: center; }
  .hero__scroll-hint { display: none; }
  /* No mobile, só as sparkles do medalhão (as de secção cairiam sobre o texto) */
  .sparkle--a, .sparkle--b, .sparkle--c, .sparkle--d { display: none; }
}
@media (max-width: 480px) {
  .medallion { width: min(220px, 62%); }
  .medallion__chip { padding: .4rem 1.1rem; }
  .medallion__chip-logo { height: 26px; }
  .medallion__chip strong { font-size: .9rem; }
  .medallion__chip-sub { font-size: .55rem; letter-spacing: 1px; }
}

/* ============================================================
   WHY CARLOS (SELLERS PAGE)
   ============================================================ */
.why__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.why-card {
  background: var(--navy);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  padding: 2.25rem 2rem;
  text-align: center;
  transition: all var(--ease);
}
.why-card:hover { border-color: rgba(227,24,55,.3); transform: translateY(-4px); }
.why-card__ico {
  width: 68px; height: 68px;
  background: rgba(227,24,55,.08);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.7rem;
  margin: 0 auto 1.25rem;
}
.why-card__title {
  font-family: var(--font-head);
  font-size: 1.1rem;
  margin-bottom: .7rem;
}
.why-card__txt { font-size: .87rem; color: var(--text-muted); line-height: 1.72; }

/* ============================================================
   AWARDS
   ============================================================ */
.awards__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.award-card {
  background: var(--navy);
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: all var(--ease);
}
.award-card:hover {
  transform: translateY(-5px);
  border-color: var(--gold);
  box-shadow: 0 12px 36px rgba(201,168,76,.15);
}
.award-card__ico { font-size: 2.6rem; margin-bottom: .9rem; }
.award-card__name {
  font-family: var(--font-head);
  font-size: 1.05rem;
  color: var(--gold);
  margin-bottom: .4rem;
}
.award-card__year { font-size: .74rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }
.award-card__org { font-size: .78rem; color: var(--red); margin-top: .3rem; font-weight: 600; }

/* ============================================================
   METHOD
   ============================================================ */
.method__track {
  position: relative;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 1rem;
  margin-top: 3.5rem;
}
/* Linha do esquema: liga cada passo ao seguinte e termina no ultimo,
   seja qual for o numero de passos (3, 4 ou 5). */
.mstep::after {
  content: '';
  position: absolute;
  top: 33px;
  left: 50%;
  width: calc(100% + 1rem);
  height: 2px;
  background: var(--red);
  z-index: -1;
}
.mstep:last-child::after { display: none; }
.mstep { text-align: center; position: relative; z-index: 1; }
.mstep__num {
  width: 68px; height: 68px;
  background: var(--dark);
  border: 2px solid var(--red);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-head);
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--red);
  margin: 0 auto 1rem;
  transition: all var(--ease);
}
.mstep:hover .mstep__num {
  background: var(--red);
  color: var(--white);
  box-shadow: 0 0 24px rgba(227,24,55,.4);
}
.mstep__title { font-weight: 700; font-size: .88rem; margin-bottom: .4rem; }
.mstep__desc { font-size: .78rem; color: var(--text-muted); line-height: 1.55; }

/* ============================================================
   EXCLUSIVITY
   ============================================================ */
.excl__grid {
  display: grid;
  grid-template-columns: 6fr 5fr;
  gap: 4.5rem;
  align-items: center;
}
.excl__features { display: flex; flex-direction: column; gap: 1.2rem; margin-top: 2rem; }
.excl__feat { display: flex; gap: 1rem; align-items: flex-start; }
.excl__feat-ico {
  width: 42px; height: 42px;
  background: rgba(201,168,76,.1);
  border-radius: var(--r);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); font-size: 1.05rem; flex-shrink: 0;
}
.excl__feat-title { font-weight: 700; font-size: .9rem; margin-bottom: .2rem; }
.excl__feat-txt { font-size: .82rem; color: var(--text-muted); line-height: 1.6; }
.excl__box {
  background: var(--navy);
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  padding: 2.5rem;
}
.excl__box-title {
  font-family: var(--font-head);
  font-size: 1.3rem;
  color: var(--gold);
  margin-bottom: .4rem;
}
.excl__box-sub { font-size: .84rem; color: var(--text-muted); margin-bottom: 1.5rem; }
.excl__compare {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}
.excl__col {
  background: rgba(255,255,255,.03);
  border-radius: var(--r);
  padding: 1.2rem;
}
.excl__col-hd {
  font-size: .74rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: 1px;
  padding-bottom: .7rem;
  margin-bottom: .9rem;
  border-bottom: 1px solid var(--border);
}
.excl__col--bad .excl__col-hd { color: rgba(255,255,255,.4); }
.excl__col--good .excl__col-hd { color: var(--gold); }
.excl__item {
  display: flex; align-items: flex-start; gap: .45rem;
  font-size: .79rem; color: var(--text-muted); margin-bottom: .55rem; line-height: 1.5;
}
.excl__item i { font-size: .7rem; margin-top: .2rem; flex-shrink: 0; }
.excl__col--bad  .excl__item i { color: rgba(227,24,55,.6); }
.excl__col--good .excl__item i { color: var(--gold); }

/* ============================================================
   SOLD PROPERTIES
   ============================================================ */
.sold__slider {
  margin-top: 3rem;
  overflow: hidden;
}
.sold__track {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
.sold-card--clone { display: none; }

@keyframes sold-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.sold-card {
  background: var(--navy);
  border-radius: var(--r-lg);
  overflow: hidden;
  border: 1px solid var(--border);
  transition: all var(--ease);
}
.sold-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-lg); }
.sold-card__img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
  position: relative;
  background: var(--navy-light);
}
.sold-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.sold-card:hover .sold-card__img img { transform: scale(1.06); }
.sold-card__badge {
  position: absolute;
  top: .75rem; left: .75rem;
  background: var(--red);
  color: var(--white);
  font-size: .68rem; font-weight: 800;
  letter-spacing: 1.2px; text-transform: uppercase;
  padding: .28rem .75rem;
  border-radius: 4px;
}
.sold-card__body { padding: 1rem 1.1rem; }
.sold-card__type { font-size: .72rem; color: var(--gold); text-transform: uppercase; letter-spacing: 1px; margin-bottom: .2rem; }
.sold-card__loc { font-size: .84rem; color: var(--text-muted); }

/* ============================================================
   FAQ
   ============================================================ */
.faq__list {
  display: flex;
  flex-direction: column;
  gap: .7rem;
  margin-top: 3rem;
  max-width: 820px;
  margin-left: auto; margin-right: auto;
}
.faq-item {
  background: var(--navy);
  border: 1px solid var(--border);
  border-radius: var(--r-lg);
  overflow: hidden;
  transition: border-color var(--ease);
}
.faq-item[open] { border-color: var(--border-gold); }
.faq-item__q { list-style: none; }
.faq-item__q::-webkit-details-marker { display: none; }
.faq-item__q {
  width: 100%; background: none; border: none;
  padding: 1.25rem 1.5rem;
  display: flex; justify-content: space-between; align-items: center; gap: 1rem;
  cursor: pointer;
  font-family: var(--font-body);
  font-size: .93rem; font-weight: 600;
  color: var(--white); text-align: left;
  transition: color var(--ease);
}
.faq-item[open] .faq-item__q { color: var(--gold); }
.faq-item__icon {
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; color: var(--gold); flex-shrink: 0;
  transition: transform var(--ease);
}
/* O "+" e desenhado por CSS (nao por <i> Font Awesome): o autotag remove o <i>
   de dentro do <summary> editavel ao publicar, deixando o circulo vazio. */
.faq-item__icon::before {
  content: "+";
  font-family: var(--font-body);
  font-size: 1.4rem;
  font-weight: 300;
  line-height: 1;
}
.faq-item[open] .faq-item__icon { transform: rotate(45deg); }
.faq-item__a {
  overflow: hidden;
}
.faq-item:not([open]) .faq-item__a { display: none; }
.faq-item__a-inner {
  padding: 0 1.5rem 1.5rem;
  font-size: .88rem; color: var(--text-muted); line-height: 1.75;
}

/* ============================================================
   CTA SECTION
   ============================================================ */
.cta-sec {
  padding: var(--pad-sec) 0;
  background: linear-gradient(135deg, var(--navy-light) 0%, var(--navy) 100%);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.cta-sec::before {
  content: '';
  position: absolute; inset: 0;
  background:
    radial-gradient(ellipse at 20% 50%, rgba(227,24,55,.14) 0%, transparent 60%),
    radial-gradient(ellipse at 80% 50%, rgba(201,168,76,.08) 0%, transparent 60%);
}
.cta-sec__inner { position: relative; z-index: 1; max-width: 620px; margin: 0 auto; }
.cta-sec__title {
  font-family: var(--font-head);
  font-size: clamp(1.8rem, 3.5vw, 2.75rem);
  margin-bottom: .9rem;
}
.cta-sec__txt { font-size: 1rem; color: var(--text-muted); margin-bottom: 2rem; line-height: 1.75; }
.cta-sec__btns { display: flex; justify-content: center; gap: 1rem; flex-wrap: wrap; }

/* ============================================================
   DIVIDER
   ============================================================ */
.divider {
  height: 1px;
  background: linear-gradient(to right, transparent, var(--border-gold), transparent);
  max-width: 600px;
  margin: 0 auto;
}

/* ============================================================
   FADE-IN ANIMATIONS
   ============================================================ */
.hero__bg[data-cms-parallax] { top: -10%; height: 120%; will-change: transform; }
/* Reveal-on-scroll: o estado escondido só se aplica com o JS ativo (html.cms-fx), reposto no
   site publicado por lib/scrollfx.mjs e no preview por js/main.js. Sem JS, o conteúdo fica visível. */
html.cms-fx .fade-up { opacity: 0; transform: translateY(26px) scale(.985); transition: opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1); }
html.cms-fx .fade-up.cms-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { html.cms-fx .fade-up { opacity: 1; transform: none; transition: none; } }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .stats__grid      { grid-template-columns: repeat(2,1fr); }
  .services__grid   { grid-template-columns: repeat(2,1fr); }
  .awards__grid     { grid-template-columns: repeat(2,1fr); }
  .method__track    { grid-auto-flow: row; grid-template-columns: repeat(3,1fr); }
  .mstep::after     { display: none; }
  .sold__track      { grid-template-columns: repeat(3,1fr); }
  .footer__grid     { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .about__grid      { grid-template-columns: 1fr 1fr; gap: 3rem; }
}
@media (max-width: 768px) {
  :root { --pad-sec: 3.5rem; }
  .nav__links, .nav__cta { display: none; }
  .nav__toggle { display: flex; }
  .hero__title { font-size: clamp(2.2rem, 8vw, 2.8rem); }
  .htl--shift { margin-left: 1.2rem; }
  .about__grid,
  .contact__grid,
  .excl__grid     { grid-template-columns: 1fr; gap: 2.5rem; }
  .contact__grid  { grid-template-areas: none; }
  .contact__grid > div:first-child,
  .contact__info,
  .contact__form-wrap,
  .contact__map   { grid-area: auto; }
  /* Ordem no mobile: titulo -> formulario -> contactos -> mapa */
  .contact__form-wrap { order: 1; }
  .contact__info      { order: 2; }
  .contact__map       { order: 3; }
  .about__plaque  { right: 0; bottom: -1rem; }
  .testi__grid    { grid-template-columns: 1fr; gap: 1rem; }
  .why__grid      { grid-template-columns: 1fr; }
  .services__grid { grid-template-columns: 1fr; }
  .sold__track {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .awards__grid   { grid-template-columns: repeat(2,1fr); }
  .method__track  { grid-template-columns: 1fr; gap: 1.5rem; }
  .footer__grid   { grid-template-columns: 1fr; }
  .footer__btm    { flex-direction: column; gap: 1rem; text-align: center; }
  .form-row       { grid-template-columns: 1fr; }
  .hero__actions  { flex-direction: column; align-items: flex-start; }
  .excl__compare  { grid-template-columns: 1fr; }

  /* Hero page mobile - distribui conteudo verticalmente */
  .hero__badge { display: none; }
  .hero__sub-list { display: flex; flex-direction: column; gap: .6rem; margin-top: .25rem; }
  .hero--page { align-items: stretch; }
  .hero--page .container {
    display: flex;
    flex-direction: column;
    padding-top: calc(var(--nav-h) + 2rem);
    padding-bottom: 3rem;
  }
  .hero--page .hero__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-top: 0;
    padding-bottom: 0;
  }
  .hero--page .hero__actions {
    margin-top: auto;
    padding-top: 1.5rem;
  }
}
@media (max-width: 480px) {
  .awards__grid { grid-template-columns: 1fr; }
  .stats__grid  { grid-template-columns: repeat(2,1fr); }
}

/* ============================================================
   HERO — COLLECTION BADGE
   ============================================================ */
.hero__badge--collection {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  background: rgba(201,168,76,.15);
  border: 1px solid rgba(201,168,76,.4);
  color: var(--gold-light);
  padding: .4rem 1rem;
  border-radius: 100px;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
  margin-left: .5rem;
}
@media (max-width: 480px) {
  .hero__badge--collection { margin-left: 0; }
}

/* ============================================================
   AWARDS STRIP
   ============================================================ */
.awards-strip {
  background: #03060f;
  border-top: 1px solid var(--border-gold);
  border-bottom: 1px solid var(--border-gold);
  padding: 1.4rem 0;
}
.awards-strip__grid {
  display: flex;
  gap: 2rem;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.awards-strip__item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .78rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: .08em;
  white-space: nowrap;
}
.awards-strip__item i { color: var(--gold); font-size: .85rem; }

/* ============================================================
   GEOGRAPHIC ZONES
   ============================================================ */
.zones-norte {
  text-align: center;
  margin-top: 3rem;
}
.zones-norte__region {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  background: rgba(201,168,76,.1);
  border: 1px solid var(--border-gold);
  border-radius: 999px;
  padding: .5rem 1.4rem;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--gold-light);
  margin-bottom: 2rem;
}
.zones-norte__region i { font-size: .75rem; }
.zones-pills {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  justify-content: center;
}
.zones-pill {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  background: var(--navy);
  border: 1px solid var(--border);
  border-radius: var(--r-sm);
  padding: .6rem 1.1rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--text-muted);
  transition: border-color var(--ease), color var(--ease), transform var(--ease);
}
.zones-pill:hover {
  border-color: var(--border-gold);
  color: var(--gold-light);
  transform: translateY(-2px);
}
.zones-pill i {
  color: var(--gold);
  font-size: .7rem;
}
@media (max-width: 768px) {
  .awards-strip__grid { gap: 1rem; }
  .awards-strip__item { font-size: .7rem; }
}

/* ============================================================
   PROPERTY PRESENTATION (VENDEDORES)
   ============================================================ */
.pres__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: center;
}
.pres__pills {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-gold);
  border: 1px solid var(--border-gold);
  margin-top: 2rem;
}
.pres__pill {
  background: var(--navy);
  padding: 1rem;
  text-align: center;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-muted);
}
.pres__video-wrap {
  max-width: 360px;
  margin-left: auto;
  border: 1px solid var(--border-gold);
  overflow: hidden;
}
.pres__video {
  display: block;
  width: 100%;
  aspect-ratio: 9/16;
  background: var(--dark);
  object-fit: contain;
}
@media (max-width: 768px) {
  .pres__grid { grid-template-columns: 1fr; gap: 2.5rem; }
  .pres__video-wrap { max-width: 100%; margin-left: 0; }
}

/* Awards strip (vendedores) */
.awards-strip__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  background: var(--border-gold);
  align-items: stretch;
}
.award-chip {
  background: var(--navy);
  padding: 1.75rem 1rem;
  text-align: center;
  transition: background var(--ease);
}
.award-chip:hover { background: var(--navy-mid); }
.award-chip__img {
  height: 32px;
  width: auto;
  max-width: 56px;
  object-fit: contain;
  margin: 0 auto .85rem;
  display: block;
  opacity: .9;
}
.award-chip__ico {
  display: block;
  margin: 0 auto .85rem;
  color: var(--gold);
}
.award-chip__title {
  font-family: var(--font-head);
  font-size: 1.35rem;
  color: var(--white);
  line-height: 1.1;
}
.award-chip__lbl {
  display: block;
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-muted);
}
.award-chip__caption {
  display: block;
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: .4rem;
}
@media (max-width: 640px) {
  .awards-strip__grid { grid-template-columns: repeat(2, 1fr); }
  .awards-strip__grid .award-chip:nth-child(5) { grid-column: span 2; }
}

/* ============================================================
   RECOGNITION / PRÉMIOS (HOMEPAGE)
   ============================================================ */
.recog__header {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 5rem;
  align-items: center;
  margin-bottom: 3rem;
}
.recog__photo {
  position: relative;
  border: 1px solid var(--border-gold);
  padding: .5rem;
  flex-shrink: 0;
}
.recog__photo img {
  width: 100%;
  aspect-ratio: 1.4/1;
  object-fit: cover;
  display: block;
}
.recog__photo figcaption {
  position: absolute;
  bottom: 1.25rem; left: 1.25rem;
  background: rgba(16,30,56,.95);
  border: 1px solid var(--border-gold);
  padding: .65rem 1rem;
  backdrop-filter: blur(4px);
}
.recog__photo-tag {
  display: block;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: .2rem;
}
.recog__photo-cap {
  display: block;
  font-size: .84rem;
  font-weight: 600;
  color: var(--white);
}
.recog__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border-gold);
  border: 1px solid var(--border-gold);
}
.recog-card {
  background: var(--navy);
  padding: 2.75rem 2rem;
  text-align: center;
  transition: background var(--ease);
}
.recog-card:hover { background: var(--navy-mid); }
.recog-card__ico {
  height: 64px;
  width: 96px;
  object-fit: contain;
  margin: 0 auto 1.25rem;
  transition: transform var(--ease);
  display: block;
}
.recog-card:hover .recog-card__ico { transform: scale(1.06); }
.recog-card__name {
  font-family: var(--font-head);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--white);
  margin-bottom: .75rem;
  line-height: 1.2;
}
.recog-card__sub {
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: .55rem;
}
.recog-card__org {
  font-size: .67rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--red);
}
@media (max-width: 1024px) {
  .recog__header { grid-template-columns: 1fr; gap: 3rem; }
  .recog__photo { max-width: 480px; }
  .recog__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .recog__grid { grid-template-columns: 1fr; }
}

/* ============================================================
   RECRUITMENT / EQUIPA PAGE
   ============================================================ */
.recruit-hero {
  min-height: auto;
  padding: calc(var(--nav-h) + 4rem) 0 4.5rem;
  align-items: center;
}
.recruit-hero .hero__bg {
  background:
    radial-gradient(ellipse at 72% 32%, rgba(38,61,101,.55) 0%, transparent 60%),
    linear-gradient(135deg, var(--dark) 0%, var(--navy) 100%);
}
.recruit-hero .hero__bg::after { display: none; }
.recruit-hero__grid {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: 3.5rem;
  align-items: center;
  width: 100%;
  position: relative;
  z-index: 1;
}
.recruit-hero__content { max-width: none; padding-top: 0; }
.recruit-hero__media {
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--navy);
  box-shadow: var(--shadow-lg);
  width: 100%;
  max-width: 380px;
  justify-self: center;
}
.recruit-hero__media img {
  width: 100%;
  display: block;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: center;
  background: var(--navy-light);
}
.recruit-hero__caption {
  padding: 1.5rem 1.6rem;
  border-top: 1px solid var(--border);
}
.recruit-hero__caption-tag {
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: .55rem;
}
.recruit-hero__caption-txt { font-size: .88rem; color: var(--text-muted); line-height: 1.7; }
@media (max-width: 900px) {
  .recruit-hero { padding: calc(var(--nav-h) + 2.5rem) 0 3rem; }
  .recruit-hero__grid { grid-template-columns: 1fr; gap: 2.5rem; }
}

.recruit-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 3rem;
}
.recruit-grid .why-card { text-align: left; }
.recruit-grid .why-card__ico { margin: 0 0 1.25rem; }

.recruit-frame {
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  overflow: hidden;
  background: var(--navy-light);
}
.recruit-frame img { width: 100%; height: 100%; object-fit: cover; display: block; }

.recruit-tags {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--border-gold);
  border: 1px solid var(--border-gold);
  margin-top: 2rem;
}
.recruit-tag {
  background: var(--navy);
  padding: 1rem;
  text-align: center;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--gold-light);
}

.recruit-apply {
  display: grid;
  grid-template-columns: 320px 1fr;
  gap: 1.5rem;
  margin-top: 3rem;
  align-items: stretch;
}
.recruit-apply__video {
  width: 100%;
  aspect-ratio: 9/16;
  background: var(--dark);
  object-fit: contain;
  display: block;
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
}
.recruit-form-card {
  max-width: 760px;
  margin: 2.75rem auto 0;
  background: var(--navy);
  border: 1px solid var(--border-gold);
  border-radius: var(--r-lg);
  padding: 2.5rem;
}
.recruit-cultura {
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid var(--border);
}
.recruit-cultura__tagline {
  font-family: var(--font-head);
  font-style: italic;
  font-size: 1.5rem;
  color: var(--gold);
  line-height: 1.25;
  margin-bottom: .75rem;
}
.recruit-cultura__txt { font-size: .9rem; color: var(--text-muted); line-height: 1.75; }

@media (max-width: 1024px) {
  .recruit-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 768px) {
  .recruit-apply { grid-template-columns: 1fr; }
  .recruit-form-card { padding: 1.75rem 1.4rem; }
}
@media (max-width: 560px) {
  .recruit-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   FOOTER LEGAL LINE
   ============================================================ */
.footer__legal {
  font-size: .72rem;
  color: rgba(255,255,255,.25);
  text-align: center;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid var(--border);
}


/* ============================================================
   Página legal (privacidade / termos)
   ============================================================ */
.legal { padding-top: calc(var(--nav-h) + 4.5rem); padding-bottom: var(--pad-sec); background: var(--dark); }
.legal__wrap { max-width: 56rem; margin: 0 auto; }
.legal__updated { color: var(--text-muted); font-size: .9rem; margin-top: .5rem; }
.legal__body { margin-top: 2.5rem; }
.legal__body h2 { font-family: var(--font-head); font-size: 1.45rem; font-weight: 700; color: var(--white); margin: 2.6rem 0 .75rem; }
.legal__body p, .legal__body li { color: var(--text-light); line-height: 1.85; margin-bottom: .9rem; }
.legal__body ul { padding-left: 1.25rem; margin-bottom: 1rem; }
.legal__body li { margin-bottom: .4rem; }
.legal__body strong { color: var(--white); }
.legal__body a { color: var(--gold); border-bottom: 1px solid var(--border-gold); transition: color var(--ease); }
.legal__body a:hover { color: var(--gold-light); }

/* ============================================================
   ICONES (substituem o Font Awesome via CDN)
   Desenhos do Font Awesome Free 6.5.0, licenca CC BY 4.0.
   Embutidos como mascaras SVG para o site nao depender de uma
   folha de estilos externa de 100 KB nem de 265 KB de webfonts.
   O HTML mantem-se igual, continua a ser <i class="fa-solid fa-medal">.
   ============================================================ */
.fa-solid, .fa-brands, .fa-regular {
  display: inline-block;
  width: calc(1em * var(--icon-w, 1));
  height: 1em;
  vertical-align: -0.125em;
  background-color: currentColor;
  -webkit-mask-image: var(--icon); mask-image: var(--icon);
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
}
.fa-fw { width: 1.25em; -webkit-mask-size: contain; mask-size: contain; }
.fa-facebook-f{--icon-w:0.625;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M80 299.3V512H196V299.3h86.5l18-97.8H196V166.9c0-51.7 20.3-71.5 72.7-71.5c16.3 0 29.4 .4 37 1.2V7.9C291.4 4 256.4 0 236.2 0C129.3 0 80 50.5 80 159.4v42.1H14v97.8H80z'/%3E%3C/svg%3E")}
.fa-instagram{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E")}
.fa-whatsapp{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M380.9 97.1C339 55.1 283.2 32 223.9 32c-122.4 0-222 99.6-222 222 0 39.1 10.2 77.3 29.6 111L0 480l117.7-30.9c32.4 17.7 68.9 27 106.1 27h.1c122.3 0 224.1-99.6 224.1-222 0-59.3-25.2-115-67.1-157zm-157 341.6c-33.2 0-65.7-8.9-94-25.7l-6.7-4-69.8 18.3L72 359.2l-4.4-7c-18.5-29.4-28.2-63.3-28.2-98.2 0-101.7 82.8-184.5 184.6-184.5 49.3 0 95.6 19.2 130.4 54.1 34.8 34.9 56.2 81.2 56.1 130.5 0 101.8-84.9 184.6-186.6 184.6zm101.2-138.2c-5.5-2.8-32.8-16.2-37.9-18-5.1-1.9-8.8-2.8-12.5 2.8-3.7 5.6-14.3 18-17.6 21.8-3.2 3.7-6.5 4.2-12 1.4-32.6-16.3-54-29.1-75.5-66-5.7-9.8 5.7-9.1 16.3-30.3 1.8-3.7.9-6.9-.5-9.7-1.4-2.8-12.5-30.1-17.1-41.2-4.5-10.8-9.1-9.3-12.5-9.5-3.2-.2-6.9-.2-10.6-.2-3.7 0-9.7 1.4-14.8 6.9-5.1 5.6-19.4 19-19.4 46.3 0 27.3 19.9 53.7 22.6 57.4 2.8 3.7 39.1 59.7 94.8 83.8 35.2 15.2 49 16.5 66.6 13.9 10.7-1.6 32.8-13.4 37.4-26.4 4.6-13 4.6-24.1 3.2-26.4-1.3-2.5-5-3.9-10.5-6.6z'/%3E%3C/svg%3E")}
.fa-arrow-down{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 470.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 370.8 224 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 306.7L54.6 265.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E")}
.fa-arrow-left{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.2 288 416 288c17.7 0 32-14.3 32-32s-14.3-32-32-32l-306.7 0L214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z'/%3E%3C/svg%3E")}
.fa-arrow-right{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E")}
.fa-arrow-trend-up{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M384 160c-17.7 0-32-14.3-32-32s14.3-32 32-32H544c17.7 0 32 14.3 32 32V288c0 17.7-14.3 32-32 32s-32-14.3-32-32V205.3L342.6 374.6c-12.5 12.5-32.8 12.5-45.3 0L192 269.3 54.6 406.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c12.5-12.5 32.8-12.5 45.3 0L320 306.7 466.7 160H384z'/%3E%3C/svg%3E")}
.fa-award{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M173.8 5.5c11-7.3 25.4-7.3 36.4 0L228 17.2c6 3.9 13 5.8 20.1 5.4l21.3-1.3c13.2-.8 25.6 6.4 31.5 18.2l9.6 19.1c3.2 6.4 8.4 11.5 14.7 14.7L344.5 83c11.8 5.9 19 18.3 18.2 31.5l-1.3 21.3c-.4 7.1 1.5 14.2 5.4 20.1l11.8 17.8c7.3 11 7.3 25.4 0 36.4L366.8 228c-3.9 6-5.8 13-5.4 20.1l1.3 21.3c.8 13.2-6.4 25.6-18.2 31.5l-19.1 9.6c-6.4 3.2-11.5 8.4-14.7 14.7L301 344.5c-5.9 11.8-18.3 19-31.5 18.2l-21.3-1.3c-7.1-.4-14.2 1.5-20.1 5.4l-17.8 11.8c-11 7.3-25.4 7.3-36.4 0L156 366.8c-6-3.9-13-5.8-20.1-5.4l-21.3 1.3c-13.2 .8-25.6-6.4-31.5-18.2l-9.6-19.1c-3.2-6.4-8.4-11.5-14.7-14.7L39.5 301c-11.8-5.9-19-18.3-18.2-31.5l1.3-21.3c.4-7.1-1.5-14.2-5.4-20.1L5.5 210.2c-7.3-11-7.3-25.4 0-36.4L17.2 156c3.9-6 5.8-13 5.4-20.1l-1.3-21.3c-.8-13.2 6.4-25.6 18.2-31.5l19.1-9.6C65 70.2 70.2 65 73.4 58.6L83 39.5c5.9-11.8 18.3-19 31.5-18.2l21.3 1.3c7.1 .4 14.2-1.5 20.1-5.4L173.8 5.5zM272 192a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zM1.3 441.8L44.4 339.3c.2 .1 .3 .2 .4 .4l9.6 19.1c11.7 23.2 36 37.3 62 35.8l21.3-1.3c.2 0 .5 0 .7 .2l17.8 11.8c5.1 3.3 10.5 5.9 16.1 7.7l-37.6 89.3c-2.3 5.5-7.4 9.2-13.3 9.7s-11.6-2.2-14.8-7.2L74.4 455.5l-56.1 8.3c-5.7 .8-11.4-1.5-15-6s-4.3-10.7-2.1-16zm248 60.4L211.7 413c5.6-1.8 11-4.3 16.1-7.7l17.8-11.8c.2-.1 .4-.2 .7-.2l21.3 1.3c26 1.5 50.3-12.6 62-35.8l9.6-19.1c.1-.2 .2-.3 .4-.4l43.2 102.5c2.2 5.3 1.4 11.4-2.1 16s-9.3 6.9-15 6l-56.1-8.3-32.2 49.2c-3.2 5-8.9 7.7-14.8 7.2s-11-4.3-13.3-9.7z'/%3E%3C/svg%3E")}
.fa-bolt{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288H175.5L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7H272.5L349.4 44.6z'/%3E%3C/svg%3E")}
.fa-building{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M48 0C21.5 0 0 21.5 0 48V464c0 26.5 21.5 48 48 48h96V432c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zM64 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V240zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V240c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V240zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H176c-8.8 0-16-7.2-16-16V112zM272 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H272c-8.8 0-16-7.2-16-16V112c0-8.8 7.2-16 16-16z'/%3E%3C/svg%3E")}
.fa-building-columns{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M243.4 2.6l-224 96c-14 6-21.8 21-18.7 35.8S16.8 160 32 160v8c0 13.3 10.7 24 24 24H456c13.3 0 24-10.7 24-24v-8c15.2 0 28.3-10.7 31.3-25.6s-4.8-29.9-18.7-35.8l-224-96c-8-3.4-17.2-3.4-25.2 0zM128 224H64V420.3c-.6 .3-1.2 .7-1.8 1.1l-48 32c-11.7 7.8-17 22.4-12.9 35.9S17.9 512 32 512H480c14.1 0 26.5-9.2 30.6-22.7s-1.1-28.1-12.9-35.9l-48-32c-.6-.4-1.2-.7-1.8-1.1V224H384V416H344V224H280V416H232V224H168V416H128V224zM256 64a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E")}
.fa-bullhorn{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M480 32c0-12.9-7.8-24.6-19.8-29.6s-25.7-2.2-34.9 6.9L381.7 53c-48 48-113.1 75-181 75H192 160 64c-35.3 0-64 28.7-64 64v96c0 35.3 28.7 64 64 64l0 128c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32V352l8.7 0c67.9 0 133 27 181 75l43.6 43.6c9.2 9.2 22.9 11.9 34.9 6.9s19.8-16.6 19.8-29.6V300.4c18.6-8.8 32-32.5 32-60.4s-13.4-51.6-32-60.4V32zm-64 76.7V240 371.3C357.2 317.8 280.5 288 200.7 288H192V192h8.7c79.8 0 156.5-29.8 215.3-83.3z'/%3E%3C/svg%3E")}
.fa-bullseye{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M448 256A192 192 0 1 0 64 256a192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zM224 256a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E")}
.fa-calculator{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64zM96 64H288c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V96c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H96c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z'/%3E%3C/svg%3E")}
.fa-chart-line{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 64c0-17.7-14.3-32-32-32S0 46.3 0 64V400c0 44.2 35.8 80 80 80H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H80c-8.8 0-16-7.2-16-16V64zm406.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L320 210.7l-57.4-57.4c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L240 221.3l57.4 57.4c12.5 12.5 32.8 12.5 45.3 0l128-128z'/%3E%3C/svg%3E")}
.fa-check{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z'/%3E%3C/svg%3E")}
.fa-check-circle{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z'/%3E%3C/svg%3E")}
.fa-circle-question{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1c0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6c-13.3 0-24-10.7-24-24V250.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1c0-8.4-6.8-15.1-15.1-15.1H222.6c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z'/%3E%3C/svg%3E")}
.fa-chevron-down{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E")}
.fa-clock{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E")}
.fa-envelope{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4c12.1-9.1 19.2-23.3 19.2-38.4c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E")}
.fa-feather{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M278.5 215.6L23 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l57-57h68c49.7 0 97.9-14.4 139-41c11.1-7.2 5.5-23-7.8-23c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l81-24.3c2.5-.8 4.8-2.1 6.7-4l22.4-22.4c10.1-10.1 2.9-27.3-11.3-27.3l-32.2 0c-5.1 0-9.2-4.1-9.2-9.2c0-4.1 2.7-7.6 6.5-8.8l112-33.6c4-1.2 7.4-3.9 9.3-7.7C506.4 207.6 512 184.1 512 160c0-41-16.3-80.3-45.3-109.3l-5.5-5.5C432.3 16.3 393 0 352 0s-80.3 16.3-109.3 45.3L139 149C91 197 64 262.1 64 330v55.3L253.6 195.8c6.2-6.2 16.4-6.2 22.6 0c5.4 5.4 6.1 13.6 2.2 19.8z'/%3E%3C/svg%3E")}
.fa-file-contract{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM80 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64h64c8.8 0 16 7.2 16 16s-7.2 16-16 16H80c-8.8 0-16-7.2-16-16s7.2-16 16-16zm54.2 253.8c-6.1 20.3-24.8 34.2-46 34.2H80c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8H304c8.8 0 16 7.2 16 16s-7.2 16-16 16H240c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L144 349l-9.8 32.8z'/%3E%3C/svg%3E")}
.fa-file-lines{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM112 256H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 64H272c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z'/%3E%3C/svg%3E")}
.fa-filter{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M3.9 54.9C10.5 40.9 24.5 32 40 32H472c15.5 0 29.5 8.9 36.1 22.9s4.6 30.5-5.2 42.5L320 320.9V448c0 12.1-6.8 23.2-17.7 28.6s-23.8 4.3-33.5-3l-64-48c-8.1-6-12.8-15.5-12.8-25.6V320.9L9 97.3C-.7 85.4-2.8 68.8 3.9 54.9z'/%3E%3C/svg%3E")}
.fa-folder-open{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M88.7 223.8L0 375.8V96C0 60.7 28.7 32 64 32H181.5c17 0 33.3 6.7 45.3 18.7l26.5 26.5c12 12 28.3 18.7 45.3 18.7H416c35.3 0 64 28.7 64 64v32H144c-22.8 0-43.8 12.1-55.3 31.8zm27.6 16.1C122.1 230 132.6 224 144 224H544c11.5 0 22 6.1 27.7 16.1s5.7 22.2-.1 32.1l-112 192C453.9 474 443.4 480 432 480H32c-11.5 0-22-6.1-27.7-16.1s-5.7-22.2 .1-32.1l112-192z'/%3E%3C/svg%3E")}
.fa-gauge-high{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z'/%3E%3C/svg%3E")}
.fa-hand-holding-dollar{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M312 24V34.5c6.4 1.2 12.6 2.7 18.2 4.2c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17c-10.9-2.9-21.1-4.9-30.2-5c-7.3-.1-14.7 1.7-19.4 4.4c-2.1 1.3-3.1 2.4-3.5 3c-.3 .5-.7 1.2-.7 2.8c0 .3 0 .5 0 .6c.2 .2 .9 1.2 3.3 2.6c5.8 3.5 14.4 6.2 27.4 10.1l.9 .3c11.1 3.3 25.9 7.8 37.9 15.3c13.7 8.6 26.1 22.9 26.4 44.9c.3 22.5-11.4 38.9-26.7 48.5c-6.7 4.1-13.9 7-21.3 8.8V232c0 13.3-10.7 24-24 24s-24-10.7-24-24V220.6c-9.5-2.3-18.2-5.3-25.6-7.8c-2.1-.7-4.1-1.4-6-2c-12.6-4.2-19.4-17.8-15.2-30.4s17.8-19.4 30.4-15.2c2.6 .9 5 1.7 7.3 2.5c13.6 4.6 23.4 7.9 33.9 8.3c8 .3 15.1-1.6 19.2-4.1c1.9-1.2 2.8-2.2 3.2-2.9c.4-.6 .9-1.8 .8-4.1l0-.2c0-1 0-2.1-4-4.6c-5.7-3.6-14.3-6.4-27.1-10.3l-1.9-.6c-10.8-3.2-25-7.5-36.4-14.4c-13.5-8.1-26.5-22-26.6-44.1c-.1-22.9 12.9-38.6 27.7-47.4c6.4-3.8 13.3-6.4 20.2-8.2V24c0-13.3 10.7-24 24-24s24 10.7 24 24zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z'/%3E%3C/svg%3E")}
.fa-handshake{--icon-w:1.25;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M323.4 85.2l-96.8 78.4c-16.1 13-19.2 36.4-7 53.1c12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5l-20.9 16.2L512 316.8V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15c-21.8 0-43 7.5-60 21.2zm22.8 124.4l-51.7 40.2C263 274.4 217.3 268 193.7 235.6c-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48V352h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1c5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9c4.5-4.9 7.8-10.6 9.9-16.5c19.4 13 45.8 10.3 62.1-7.5c17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16V352c0 17.7 14.3 32 32 32H64c17.7 0 32-14.3 32-32V128H16zM48 320a16 16 0 1 1 0 32 16 16 0 1 1 0-32zM544 128V352c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16H544zm32 208a16 16 0 1 1 32 0 16 16 0 1 1 -32 0z'/%3E%3C/svg%3E")}
.fa-headset{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 48C141.1 48 48 141.1 48 256v40c0 13.3-10.7 24-24 24s-24-10.7-24-24V256C0 114.6 114.6 0 256 0S512 114.6 512 256V400.1c0 48.6-39.4 88-88.1 88L313.6 488c-8.3 14.3-23.8 24-41.6 24H240c-26.5 0-48-21.5-48-48s21.5-48 48-48h32c17.8 0 33.3 9.7 41.6 24l110.4 .1c22.1 0 40-17.9 40-40V256c0-114.9-93.1-208-208-208zM144 208h16c17.7 0 32 14.3 32 32V352c0 17.7-14.3 32-32 32H144c-35.3 0-64-28.7-64-64V272c0-35.3 28.7-64 64-64zm224 0c35.3 0 64 28.7 64 64v48c0 35.3-28.7 64-64 64H352c-17.7 0-32-14.3-32-32V240c0-17.7 14.3-32 32-32h16z'/%3E%3C/svg%3E")}
.fa-house{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c0 2.7-.2 5.4-.5 8.1V472c0 22.1-17.9 40-40 40H456c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1H416 392c-22.1 0-40-17.9-40-40V448 384c0-17.7-14.3-32-32-32H256c-17.7 0-32 14.3-32 32v64 24c0 22.1-17.9 40-40 40H160 128.1c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2H104c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9 .1-2.8V287.6H32c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z'/%3E%3C/svg%3E")}
.fa-house-chimney{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M543.8 287.6c17 0 32-14 32-32.1c1-9-3-17-11-24L512 185V64c0-17.7-14.3-32-32-32H448c-17.7 0-32 14.3-32 32v36.7L309.5 7c-6-5-14-7-21-7s-15 1-22 8L10 231.5c-7 7-10 15-10 24c0 18 14 32.1 32 32.1h32v69.7c-.1 .9-.1 1.8-.1 2.8V472c0 22.1 17.9 40 40 40h16c1.2 0 2.4-.1 3.6-.2c1.5 .1 3 .2 4.5 .2H160h24c22.1 0 40-17.9 40-40V448 384c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32v64 24c0 22.1 17.9 40 40 40h24 32.5c1.4 0 2.8 0 4.2-.1c1.1 .1 2.2 .1 3.3 .1h16c22.1 0 40-17.9 40-40V455.8c.3-2.6 .5-5.3 .5-8.1l-.7-160.2h32z'/%3E%3C/svg%3E")}
.fa-key{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z'/%3E%3C/svg%3E")}
.fa-location-dot{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M215.7 499.2C267 435 384 279.4 384 192C384 86 298 0 192 0S0 86 0 192c0 87.4 117 243 168.3 307.2c12.3 15.3 35.1 15.3 47.4 0zM192 128a64 64 0 1 1 0 128 64 64 0 1 1 0-128z'/%3E%3C/svg%3E")}
.fa-magnifying-glass{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E")}
.fa-magnifying-glass-chart{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zm-312 8v64c0 13.3 10.7 24 24 24s24-10.7 24-24l0-64c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80-96V280c0 13.3 10.7 24 24 24s24-10.7 24-24V120c0-13.3-10.7-24-24-24s-24 10.7-24 24zm80 64v96c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E")}
.fa-map-location-dot{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M408 120c0 54.6-73.1 151.9-105.2 192c-7.7 9.6-22 9.6-29.6 0C241.1 271.9 168 174.6 168 120C168 53.7 221.7 0 288 0s120 53.7 120 120zm8 80.4c3.5-6.9 6.7-13.8 9.6-20.6c.5-1.2 1-2.5 1.5-3.7l116-46.4C558.9 123.4 576 135 576 152V422.8c0 9.8-6 18.6-15.1 22.3L416 503V200.4zM137.6 138.3c2.4 14.1 7.2 28.3 12.8 41.5c2.9 6.8 6.1 13.7 9.6 20.6V451.8L32.9 502.7C17.1 509 0 497.4 0 480.4V209.6c0-9.8 6-18.6 15.1-22.3l122.6-49zM327.8 332c13.9-17.4 35.7-45.7 56.2-77V504.3L192 449.4V255c20.5 31.3 42.3 59.6 56.2 77c20.5 25.6 59.1 25.6 79.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z'/%3E%3C/svg%3E")}
.fa-medal{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M4.1 38.2C1.4 34.2 0 29.4 0 24.6C0 11 11 0 24.6 0H133.9c11.2 0 21.7 5.9 27.4 15.5l68.5 114.1c-48.2 6.1-91.3 28.6-123.4 61.9L4.1 38.2zm503.7 0L405.6 191.5c-32.1-33.3-75.2-55.8-123.4-61.9L350.7 15.5C356.5 5.9 366.9 0 378.1 0H487.4C501 0 512 11 512 24.6c0 4.8-1.4 9.6-4.1 13.6zM80 336a176 176 0 1 1 352 0A176 176 0 1 1 80 336zm184.4-94.9c-3.4-7-13.3-7-16.8 0l-22.4 45.4c-1.4 2.8-4 4.7-7 5.1L168 298.9c-7.7 1.1-10.7 10.5-5.2 16l36.3 35.4c2.2 2.2 3.2 5.2 2.7 8.3l-8.6 49.9c-1.3 7.6 6.7 13.5 13.6 9.9l44.8-23.6c2.7-1.4 6-1.4 8.7 0l44.8 23.6c6.9 3.6 14.9-2.2 13.6-9.9l-8.6-49.9c-.5-3 .5-6.1 2.7-8.3l36.3-35.4c5.6-5.4 2.5-14.8-5.2-16l-50.1-7.3c-3-.4-5.7-2.4-7-5.1l-22.4-45.4z'/%3E%3C/svg%3E")}
.fa-network-wired{--icon-w:1.25;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M256 64H384v64H256V64zM240 0c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48h48v32H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h96v32H80c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H240c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H192V288H448v32H400c-26.5 0-48 21.5-48 48v96c0 26.5 21.5 48 48 48H560c26.5 0 48-21.5 48-48V368c0-26.5-21.5-48-48-48H512V288h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H352V192h48c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H240zM96 448V384H224v64H96zm320-64H544v64H416V384z'/%3E%3C/svg%3E")}
.fa-paper-plane{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M498.1 5.6c10.1 7 15.4 19.1 13.5 31.2l-64 416c-1.5 9.7-7.4 18.2-16 23s-18.9 5.4-28 1.6L284 427.7l-68.5 74.1c-8.9 9.7-22.9 12.9-35.2 8.1S160 493.2 160 480V396.4c0-4 1.5-7.8 4.2-10.7L331.8 202.8c5.8-6.3 5.6-16-.4-22s-15.7-6.4-22-.7L106 360.8 17.7 316.6C7.1 311.3 .3 300.7 0 288.9s5.9-22.8 16.1-28.7l448-256c10.7-6.1 23.9-5.5 34 1.4z'/%3E%3C/svg%3E")}
.fa-people-group{--icon-w:1.25;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M72 88a56 56 0 1 1 112 0A56 56 0 1 1 72 88zM64 245.7C54 256.9 48 271.8 48 288s6 31.1 16 42.3V245.7zm144.4-49.3C178.7 222.7 160 261.2 160 304c0 34.3 12 65.8 32 90.5V416c0 17.7-14.3 32-32 32H96c-17.7 0-32-14.3-32-32V389.2C26.2 371.2 0 332.7 0 288c0-61.9 50.1-112 112-112h32c24 0 46.2 7.5 64.4 20.3zM448 416V394.5c20-24.7 32-56.2 32-90.5c0-42.8-18.7-81.3-48.4-107.7C449.8 183.5 472 176 496 176h32c61.9 0 112 50.1 112 112c0 44.7-26.2 83.2-64 101.2V416c0 17.7-14.3 32-32 32H480c-17.7 0-32-14.3-32-32zm8-328a56 56 0 1 1 112 0A56 56 0 1 1 456 88zM576 245.7v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM320 32a64 64 0 1 1 0 128 64 64 0 1 1 0-128zM240 304c0 16.2 6 31 16 42.3V261.7c-10 11.3-16 26.1-16 42.3zm144-42.3v84.7c10-11.3 16-26.1 16-42.3s-6-31.1-16-42.3zM448 304c0 44.7-26.2 83.2-64 101.2V448c0 17.7-14.3 32-32 32H288c-17.7 0-32-14.3-32-32V405.2c-37.8-18-64-56.5-64-101.2c0-61.9 50.1-112 112-112h32c61.9 0 112 50.1 112 112z'/%3E%3C/svg%3E")}
.fa-person-circle-check{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M112 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm40 304V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V256.9L59.4 304.5c-9.1 15.1-28.8 20-43.9 10.9s-20-28.8-10.9-43.9l58.3-97c17.4-28.9 48.6-46.6 82.3-46.6h29.7c33.7 0 64.9 17.7 82.3 46.6l44.9 74.7c-16.1 17.6-28.6 38.5-36.6 61.5c-1.9-1.8-3.5-3.9-4.9-6.3L232 256.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32V352H152zm136 16a144 144 0 1 1 288 0 144 144 0 1 1 -288 0zm211.3-43.3c-6.2-6.2-16.4-6.2-22.6 0L416 385.4l-28.7-28.7c-6.2-6.2-16.4-6.2-22.6 0s-6.2 16.4 0 22.6l40 40c6.2 6.2 16.4 6.2 22.6 0l72-72c6.2-6.2 6.2-16.4 0-22.6z'/%3E%3C/svg%3E")}
.fa-phone{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E")}
.fa-piggy-bank{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M400 96l0 .7c-5.3-.4-10.6-.7-16-.7H256c-16.5 0-32.5 2.1-47.8 6c-.1-2-.2-4-.2-6c0-53 43-96 96-96s96 43 96 96zm-16 32c3.5 0 7 .1 10.4 .3c4.2 .3 8.4 .7 12.6 1.3C424.6 109.1 450.8 96 480 96h11.5c10.4 0 18 9.8 15.5 19.9l-13.8 55.2c15.8 14.8 28.7 32.8 37.5 52.9H544c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H512c-9.1 12.1-19.9 22.9-32 32v64c0 17.7-14.3 32-32 32H416c-17.7 0-32-14.3-32-32V448H256v32c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V416c-34.9-26.2-58.7-66.3-63.2-112H68c-37.6 0-68-30.4-68-68s30.4-68 68-68h4c13.3 0 24 10.7 24 24s-10.7 24-24 24H68c-11 0-20 9-20 20s9 20 20 20H99.2c12.1-59.8 57.7-107.5 116.3-122.8c12.9-3.4 26.5-5.2 40.5-5.2H384zm64 136a24 24 0 1 0 -48 0 24 24 0 1 0 48 0z'/%3E%3C/svg%3E")}
.fa-scale-balanced{--icon-w:1.25;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M384 32H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448H512c17.7 0 32 14.3 32 32s-14.3 32-32 32H320 128c-17.7 0-32-14.3-32-32s14.3-32 32-32H288V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32H256c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288H584.4L512 195.8 439.6 320zM512 416c-62.9 0-115.2-34-126-78.9c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8L54.4 320H199.3L126.8 195.8zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8l95.2 163.2c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z'/%3E%3C/svg%3E")}
.fa-shield-halved{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 0c4.6 0 9.2 1 13.4 2.9L457.7 82.8c22 9.3 38.4 31 38.3 57.2c-.5 99.2-41.3 280.7-213.6 363.2c-16.7 8-36.1 8-52.8 0C57.3 420.7 16.5 239.2 16 140c-.1-26.2 16.3-47.9 38.3-57.2L242.7 2.9C246.8 1 251.4 0 256 0zm0 66.8V444.8C394 378 431.1 230.1 432 141.4L256 66.8l0 0z'/%3E%3C/svg%3E")}
.fa-trophy{--icon-w:1.125;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M400 0H176c-26.5 0-48.1 21.8-47.1 48.2c.2 5.3 .4 10.6 .7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7c44.3 43.1 98.3 64.8 138.1 75.8c23.4 6.5 39.4 26 39.4 45.6c0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H384c17.7 0 32-14.3 32-32s-14.3-32-32-32H357.9C337 448 320 431 320 410.1c0-19.6 15.9-39.2 39.4-45.6c39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2 .5-10.4 .7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6c-24.9-11-50.8-26.5-73.2-48.3c-32-31.1-58-76-63-142.3zM464.1 254.3c-22.4 21.8-48.3 37.3-73.2 48.3c22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z'/%3E%3C/svg%3E")}
.fa-user-shield{--icon-w:1.25;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 640 512'%3E%3Cpath d='M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c1.8 0 3.5-.2 5.3-.5c-76.3-55.1-99.8-141-103.1-200.2c-16.1-4.8-33.1-7.3-50.7-7.3H178.3zm308.8-78.3l-120 48C358 277.4 352 286.2 352 296c0 63.3 25.9 168.8 134.8 214.2c5.9 2.5 12.6 2.5 18.5 0C614.1 464.8 640 359.3 640 296c0-9.8-6-18.6-15.1-22.3l-120-48c-5.7-2.3-12.1-2.3-17.8 0zM591.4 312c-3.9 50.7-27.2 116.7-95.4 149.7V273.8L591.4 312z'/%3E%3C/svg%3E")}
.fa-user-tie{--icon-w:0.875;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M96 128a128 128 0 1 0 256 0A128 128 0 1 0 96 128zm94.5 200.2l18.6 31L175.8 483.1l-36-146.9c-2-8.1-9.8-13.4-17.9-11.3C51.9 342.4 0 405.8 0 481.3c0 17 13.8 30.7 30.7 30.7H162.5c0 0 0 0 .1 0H168 280h5.5c0 0 0 0 .1 0H417.3c17 0 30.7-13.8 30.7-30.7c0-75.5-51.9-138.9-121.9-156.4c-8.1-2-15.9 3.3-17.9 11.3l-36 146.9L238.9 359.2l18.6-31c6.4-10.7-1.3-24.2-13.7-24.2H224 204.3c-12.4 0-20.1 13.6-13.7 24.2z'/%3E%3C/svg%3E")}
.fa-wallet{--icon-w:1;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64H80c-8.8 0-16-7.2-16-16s7.2-16 16-16H448c17.7 0 32-14.3 32-32s-14.3-32-32-32H64zM416 272a32 32 0 1 1 0 64 32 32 0 1 1 0-64z'/%3E%3C/svg%3E")}
.fa-xmark{--icon-w:0.75;--icon:url("data:image/svg+xml,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M342.6 150.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192 210.7 86.6 105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L146.7 256 41.4 361.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 297.4 406.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.3 256 342.6 150.6z'/%3E%3C/svg%3E")}
