/* Approved Home navigation and footer, shared across the six Sites. */
body.unified-chrome .site-header {
  position: fixed;
  z-index: 30;
  top: var(--frame);
  left: var(--frame);
  right: var(--frame);
  height: 72px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 clamp(20px, 3vw, 48px);
  color: white;
  transition: transform 650ms var(--ease), background-color 450ms ease, backdrop-filter 450ms ease;
}
body.unified-chrome .site-header.is-hidden { transform: translateY(calc(-100% - var(--frame) - 8px)); }
body.unified-chrome .site-header.is-scrolled { background: rgba(4, 4, 4, 0.72); backdrop-filter: blur(18px); }
body.unified-chrome .menu-trigger,
body.unified-chrome .menu-close {
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
}
body.unified-chrome .menu-trigger {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  padding: 0;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}
body.unified-chrome .menu-trigger span:first-child { position: relative; width: 22px; height: 13px; }
body.unified-chrome .menu-trigger span:first-child::before,
body.unified-chrome .menu-trigger span:first-child::after { content: ""; position: absolute; left: 0; height: 1px; background: currentColor; }
body.unified-chrome .menu-trigger span:first-child::before { top: 0; width: 22px; box-shadow: 0 12px currentColor; }
body.unified-chrome .menu-trigger span:first-child::after { top: 6px; width: 14px; }
body.unified-chrome .wordmark {
  width: 160px;
  display: block;
  text-decoration: none;
}
body.unified-chrome .wordmark img {
  display: block;
  width: 100%;
  height: auto;
}
body.unified-chrome .header-actions { justify-self: end; display: flex; align-items: center; gap: 18px; }
body.unified-chrome .contact-button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 19px;
  background: var(--white);
  color: #080808;
  border: 1px solid var(--white);
  text-decoration: none;
  font-size: 0.76rem;
  font-weight: 450;
  transition: background-color 220ms ease, color 220ms ease;
}
body.unified-chrome .contact-button:hover { background: transparent; color: white; }
body.unified-chrome .menu-panel {
  position: fixed;
  z-index: 60;
  inset: 0;
  padding: 100px var(--gutter) 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  background: rgba(5, 5, 5, 0.98);
}
body.unified-chrome .menu-panel[hidden] { display: none; }
body.unified-chrome .menu-close { position: absolute; top: 28px; right: var(--gutter); font-size: 2.4rem; min-width: 44px; min-height: 44px; }
body.unified-chrome .site-footer { padding: 92px max(var(--gutter), calc((100vw - 1320px) / 2)) 32px; background: var(--black); }
body.unified-chrome .footer-main { display: grid; grid-template-columns: 1.65fr repeat(3, .72fr); gap: clamp(36px, 5vw, 78px); }
body.unified-chrome .footer-brand { min-width: 0; }
body.unified-chrome .footer-logo { width: min(360px, 100%); display: block; }
body.unified-chrome .footer-logo img { display: block; width: 100%; height: auto; }
body.unified-chrome .footer-brand > p { max-width: 330px; margin: 18px 0 28px; color: #858581; font-size: .82rem; line-height: 1.6; }
body.unified-chrome .language-picker { position: relative; width: 170px; }
body.unified-chrome .language-picker summary { min-height: 42px; display: grid; grid-template-columns: 17px 1fr auto; align-items: center; gap: 10px; padding: 0 13px; border: 1px solid rgba(255,255,255,.24); cursor: pointer; list-style: none; font-size: .72rem; letter-spacing: .05em; }
body.unified-chrome .language-picker summary svg { width: 16px; fill: none; stroke: currentColor; stroke-width: 1.25; }
body.unified-chrome .language-picker summary::-webkit-details-marker { display: none; }
body.unified-chrome .language-picker div { position: absolute; z-index: 5; bottom: calc(100% + 6px); left: 0; right: 0; display: flex; flex-direction: column; padding: 7px; border: 1px solid rgba(255,255,255,.17); background: #111; }
body.unified-chrome .language-picker a,
body.unified-chrome .language-picker div span { padding: 9px 8px; color: #b2b2ae; font-size: .76rem; text-decoration: none; }
body.unified-chrome .footer-column { display: flex; flex-direction: column; align-items: flex-start; }
body.unified-chrome .footer-column h2 { margin: 4px 0 24px; color: #777773; font-size: .69rem; font-weight: 450; letter-spacing: .13em; text-transform: uppercase; }
body.unified-chrome .footer-column a,
body.unified-chrome .footer-column span { margin-bottom: 14px; color: #b0b0ac; font-size: .8rem; line-height: 1.45; text-decoration: none; }
body.unified-chrome .footer-column a:hover { color: var(--white); }
body.unified-chrome .footer-legal { display: flex; gap: 25px; padding-top: 30px; margin-top: 68px; border-top: 1px solid rgba(255,255,255,.1); color: #626260; font-size: .68rem; }
@media (max-width: 900px) {
body.unified-chrome .site-header { height: 66px; }
body.unified-chrome .footer-main { grid-template-columns: 1.35fr repeat(3, .72fr); gap: 32px; }
}
@media (max-width: 600px) {
body.unified-chrome .site-header { top: 0; left: 0; right: 0; padding: 0 20px; }
body.unified-chrome .menu-trigger span:last-child { display: none; }
body.unified-chrome .header-actions { gap: 0; }
body.unified-chrome .contact-button { display: none; }
body.unified-chrome .wordmark { width: 132px; }
body.unified-chrome .site-footer { padding: 78px 20px 28px; }
body.unified-chrome .footer-main { grid-template-columns: 1fr 1fr; gap: 58px 28px; }
body.unified-chrome .footer-brand { grid-column: 1 / -1; }
body.unified-chrome .footer-logo { width: 300px; }
body.unified-chrome .footer-column:last-child { grid-column: 1 / -1; }
body.unified-chrome .footer-legal { flex-wrap: wrap; row-gap: 12px; margin-top: 54px; }
}
body.unified-chrome body.menu-open { overflow: hidden; }
body.unified-chrome .menu-trigger,
body.unified-chrome .contact-button,
body.unified-chrome .footer-column a,
body.unified-chrome .footer-column span { font-size: .875rem; }
body.unified-chrome .contact-button { min-height: 44px; }
body.unified-chrome .header-language { position: relative; font-size: .875rem; }
body.unified-chrome .header-language summary { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; list-style: none; }
body.unified-chrome .header-language summary::-webkit-details-marker { display: none; }
body.unified-chrome .language-options { position: absolute; z-index: 2; top: calc(100% + 10px); right: 0; min-width: 150px; padding: 8px; border: 1px solid var(--line); background: #101010; }
body.unified-chrome .language-options a { display: block; padding: 12px; text-decoration: none; }
body.unified-chrome .language-options a:hover,
body.unified-chrome .language-options a[aria-current] { background: #252525; }
body.unified-chrome .menu-languages { display: flex; gap: 24px; margin-top: 22px; }
body.unified-chrome .menu-languages a { font-size: 1rem; line-height: 1.6; }
body.unified-chrome .footer-brand > p { font-size: .875rem; color: #b8b8b1; }
body.unified-chrome .footer-column h2 { font-size: .75rem; color: #b3b3ad; }
body.unified-chrome .footer-column a { min-height: 32px; margin-bottom: 8px; display: inline-flex; align-items: center; }
body.unified-chrome .language-picker { width: 185px; }
body.unified-chrome .language-picker summary,
body.unified-chrome .language-picker a,
body.unified-chrome .language-picker div span { font-size: .875rem; }
body.unified-chrome .footer-legal { font-size: .75rem; color: #a9a9a2; }
body.unified-chrome .header-language summary,
body.unified-chrome .language-picker summary { display: flex; align-items: center; gap: 10px; line-height: 1.25; padding: 0; border: 0; background: transparent; }
body.unified-chrome .header-language .language-chevron,
body.unified-chrome .language-picker .language-chevron { display: block; flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
body.unified-chrome .language-options { left: 0; right: auto; min-width: max-content; top: calc(100% + 4px); padding: 0; border: 0; background: transparent; box-shadow: none; }
body.unified-chrome .language-options a { min-height: 44px; padding: 10px 0; line-height: 1.4; background: transparent; text-shadow: 0 1px 12px rgba(0,0,0,.7); }
body.unified-chrome .language-options a:hover,
body.unified-chrome .language-options a[aria-current] { background: transparent; }
body.unified-chrome .language-options a:hover,
body.unified-chrome .language-picker a:hover { opacity: .75; }
body.unified-chrome .language-options a[aria-current="page"],
body.unified-chrome .language-picker a[aria-current="page"] { display: none; }
body.unified-chrome .language-picker { width: fit-content; }
body.unified-chrome .language-picker div { position: static; padding: 4px 0 0 26px; border: 0; background: transparent; box-shadow: none; }
body.unified-chrome .language-picker a { min-height: 44px; padding: 10px 0; color: var(--white); line-height: 1.4; }
@media (max-width: 900px) {
body.unified-chrome .header-language { display: none; }
body.unified-chrome .footer-main { grid-template-columns: 1.3fr 1fr 1fr; }
body.unified-chrome .footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
body.unified-chrome .site-header { grid-template-columns: 44px minmax(100px,1fr) auto; gap: 10px; padding: 0 16px; height: 70px; }
body.unified-chrome .wordmark { width: min(124px,100%); justify-self: center; }
body.unified-chrome .menu-trigger { min-width: 44px; }
body.unified-chrome .header-actions { min-width: 0; }
body.unified-chrome .contact-button { display: inline-flex; font-size: .875rem; padding: 0 12px; min-height: 44px; }
body.unified-chrome .footer-main { grid-template-columns: 1fr 1fr; }
body.unified-chrome .footer-column:last-child { grid-column: 1 / -1; }
}
@media (max-width: 370px) {
body.unified-chrome .site-header { gap: 6px; padding: 0 12px; }
body.unified-chrome .wordmark { width: 105px; }
body.unified-chrome .contact-button { padding: 0 9px; }
}
body.unified-chrome .menu-panel { overflow-y: auto; overscroll-behavior: contain; }
body.unified-chrome .menu-panel > a { flex-shrink: 0; }
body.unified-chrome .footer-column { min-width: 0; }
body.unified-chrome .footer-column a { overflow-wrap: anywhere; }
@media (max-height: 720px) {
body.unified-chrome .menu-panel { justify-content: flex-start; padding-top: 86px; }
}
body.unified-chrome .contact-button:focus-visible { background: transparent; color: var(--ferrari-red); }
@media (hover: hover) and (pointer: fine) {
body.unified-chrome .contact-button:hover { color: var(--ferrari-red); }
}
body.unified-chrome .menu-panel { gap: 18px; }
body.unified-chrome .menu-services { display: flex; flex-wrap: wrap; gap: 12px 28px; max-width: 900px; margin: 0 0 10px; }
body.unified-chrome .menu-services a { font-size: 1rem; font-weight: 400; line-height: 1.5; padding: 6px 0; }
body.unified-chrome .menu-client { font-size: 1.15rem; margin-top: 6px; color: var(--muted); }
@media (max-width: 600px) {
body.unified-chrome .menu-panel { gap: 15px; justify-content: flex-start; padding-top: 90px; }
body.unified-chrome .menu-services { gap: 2px 18px; }
body.unified-chrome .menu-services a { font-size: .875rem; }
}
body.unified-chrome .menu-panel {
 --menu-width: clamp(360px,26.8vw,550px);
 --menu-inset: clamp(28px,2.25vw,46px);
 --menu-type: 1.25rem;
 display: block;
 inset: 0;
 padding: 0;
 overflow: hidden;
 isolation: isolate;
 background: transparent;
}
body.unified-chrome .menu-panel[hidden] { display: none; }
body.unified-chrome .menu-panel::before {
 content: "";
 position: absolute;
 z-index: -1;
 inset: 0 auto 0 0;
 width: calc(var(--menu-width) + 28px);
 background: linear-gradient(90deg,rgba(0,0,0,.85) 0,rgba(0,0,0,.85) var(--menu-width),rgba(0,0,0,0) 100%);
 pointer-events: none;
}
body.unified-chrome .menu-sheet {
 position: relative;
 width: var(--menu-width);
 height: 100%;
 overflow: auto;
 overscroll-behavior: contain;
 scrollbar-width: thin;
 scrollbar-color: #494949 transparent;
 padding: 96px var(--menu-inset) 40px;
}
body.unified-chrome .menu-root { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
body.unified-chrome .menu-root > * { width: 100%; margin: 0; }
body.unified-chrome .menu-item {
 display: flex;
 align-items: baseline;
 justify-content: flex-start;
 width: fit-content;
 max-width: 100%;
 min-height: 39px;
 margin: 0;
 padding: 4px 0;
 border: 0;
 background: transparent;
 color: #f4f4f4;
 font-family: "Poppins", "Avenir Next", "Helvetica Neue", sans-serif;
 font-size: var(--menu-type);
 font-weight: 300;
 line-height: 1.55;
 letter-spacing: -.025em;
 text-align: left;
 text-decoration: none;
 cursor: pointer;
 list-style: none;
 transition: color 240ms ease;
}
body.unified-chrome .menu-item > span:not(.menu-current-arrow) { min-width: 0; }
body.unified-chrome .menu-current-arrow { display: none; flex: 0 0 auto; width: 23px; padding-right: 10px; margin-right: 9px; font-family: Arial,sans-serif; font-weight: 400; }
body.unified-chrome .menu-item[aria-current] { font-weight: 500; color: #fff; }
body.unified-chrome .menu-item[aria-current] > .menu-current-arrow { display: inline-block; }
body.unified-chrome .menu-item:hover,
body.unified-chrome .menu-item:focus-visible { color: #fff; }
body.unified-chrome .menu-item:focus-visible { outline: 1px solid rgba(255,255,255,.75); outline-offset: 5px; }
body.unified-chrome .menu-group > summary::-webkit-details-marker { display: none; }
body.unified-chrome .menu-group > summary::marker { content: ""; }
body.unified-chrome .menu-chevron {
 align-self: center;
 flex: 0 0 15px;
 width: 15px;
 height: 15px;
 margin-left: 13px;
 fill: none;
 stroke: currentColor;
 stroke-width: 1.5;
 stroke-linecap: round;
 stroke-linejoin: round;
 transition: transform 400ms ease;
}
body.unified-chrome .menu-group[open] > summary .menu-chevron { transform: rotate(90deg); }
body.unified-chrome .menu-submenu { padding: 17px 0 10px 25px; }
body.unified-chrome .menu-submenu .menu-item { min-height: 39px; padding: 4px 0; }
body.unified-chrome .menu-close {
 display: grid;
 place-items: center;
 position: absolute;
 top: 24px;
 right: calc(var(--menu-inset) - 11px);
 width: 44px;
 height: 44px;
 min-width: 44px;
 min-height: 44px;
 padding: 0;
 color: #fff;
}
body.unified-chrome .menu-close svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: square; }
body.unified-chrome .menu-languages { display: flex; flex-wrap: wrap; gap: 20px; margin: 34px 0 0; }
body.unified-chrome .menu-languages a { color: #c4c4c4; font-size: .875rem; font-weight: 300; line-height: 1.5; min-height: 44px; padding: 10px 0; }
body.unified-chrome .menu-languages a[aria-current] { color: #fff; font-weight: 500; }
@supports (interpolate-size: allow-keywords) {
body.unified-chrome .menu-group { interpolate-size: allow-keywords; }
body.unified-chrome .menu-group::details-content { height: 0; overflow: clip; opacity: 0; transition: height 520ms cubic-bezier(.22,1,.36,1), opacity 400ms ease, content-visibility 520ms allow-discrete; }
body.unified-chrome .menu-group[open]::details-content { height: auto; opacity: 1; }
}
@media (max-width: 600px) {
body.unified-chrome .menu-panel { --menu-width: min(90vw,390px); --menu-inset: 24px; --menu-type: 1.0625rem; }
body.unified-chrome .menu-sheet { padding-top: 94px; }
body.unified-chrome .menu-root { gap: 15px; }
body.unified-chrome .menu-item,
body.unified-chrome .menu-submenu .menu-item { min-height: 44px; }
body.unified-chrome .menu-submenu { padding-left: 18px; padding-top: 12px; }
body.unified-chrome .menu-close { top: 14px; right: 12px; }
body.unified-chrome .menu-current-arrow { width: 19px; margin-right: 6px; padding-right: 4px; }
}
@media (max-width: 359px) {
body.unified-chrome .menu-panel { --menu-width: 100vw; --menu-inset: 22px; }
}
@media (prefers-reduced-motion: reduce) {
body.unified-chrome .menu-panel *,
body.unified-chrome .menu-group::details-content { transition: none !important; }
}
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 300; font-display: swap; src: url("/_site/sistema/assets/fonts/poppins-light.ttf") format("truetype"); }
@font-face { font-family: "Poppins"; font-style: normal; font-weight: 500; font-display: swap; src: url("/_site/sistema/assets/fonts/poppins-medium.ttf") format("truetype"); }
body.unified-chrome.menu-open .contact-button { background: transparent; color: #fff; }
body.unified-chrome .menu-service-copy { display: block; }
body.unified-chrome .menu-service-title { display: block; }
body.unified-chrome .menu-service-description { display: block; margin-top: 3px; color: #b9b9b9; font-size: .875rem; font-weight: 300; letter-spacing: 0; line-height: 1.5; }
body.unified-chrome .menu-submenu [data-service-link] { padding-top: 9px; padding-bottom: 9px; }
body.unified-chrome .header-language { display: block; }
@media (max-width: 600px) {
body.unified-chrome .site-header { grid-template-columns: 44px minmax(56px,1fr) auto; gap: 8px; padding: 0 12px; }
body.unified-chrome .wordmark { width: min(110px,100%); }
body.unified-chrome .header-actions { gap: 8px; }
body.unified-chrome .header-language { font-size: .875rem; }
body.unified-chrome .header-language summary { gap: 5px; }
body.unified-chrome .header-language .language-chevron { width: 14px; height: 14px; flex-basis: 14px; }
body.unified-chrome .contact-button { padding: 0 8px; }
body.unified-chrome .header-language .language-options { left: auto; right: 0; }
body.unified-chrome .menu-submenu [data-service-link] { padding-top: 10px; padding-bottom: 10px; }
}
body.unified-chrome .site-footer { padding-top: 72px; }
body.unified-chrome .footer-brand > p,
body.unified-chrome .footer-legal { color: #aaa; }
body.unified-chrome .footer-column h2 { color: #bbb; }
body.unified-chrome .footer-column a,
body.unified-chrome .footer-column span { font-size: .875rem; }
body.unified-chrome .footer-main { max-width: 1240px; margin-inline: auto; }
@media (max-width: 600px) {
body.unified-chrome .site-footer { padding-top: 54px; }
}
body.unified-chrome .site-header, body.unified-chrome .site-footer { --frame:0px; --black:#030303; }
body.unified-chrome .site-footer .footer-availability { display:block; max-width:240px; margin-top:0; color:#aaa; font-size:.875rem; line-height:1.6; }
body.unified-chrome .enquiry-dialog [hidden] { display:none !important; }

body.unified-chrome .menu-panel { backdrop-filter:none; -webkit-backdrop-filter:none; }
