.site-header { position: absolute; z-index: 50; top: 0; left: 0; right: 0; width: 100%; padding-block: clamp(22px, 2vw, 29px); border-bottom: 1px solid rgba(240, 222, 190, .1); background: rgba(4, 13, 21, 0); transition: padding .42s cubic-bezier(.22, .61, .36, 1), background .42s ease, border-color .42s ease, box-shadow .42s ease, backdrop-filter .42s ease; }
.site-header.is-scrolled { position: fixed; z-index: 50; top: 0; left: 0; right: 0; width: 100%; padding-block: clamp(14px, 1.35vw, 19px); border-bottom-color: rgba(229, 174, 97, .3); background: rgba(5, 14, 23, .64); box-shadow: 0 12px 34px rgba(0, 0, 0, .15); backdrop-filter: blur(19px) saturate(1.08); }
.header__inner { position: relative; z-index: 1; display: flex; align-items: center; gap: clamp(18px, 2.45vw, 38px); min-height: 38px; }
.brand { display: inline-flex; flex: none; align-items: center; gap: 14px; color: var(--pearl); }
.brand__mark { width: 37px; height: 42px; fill: #e5af6b; filter: drop-shadow(0 0 7px rgba(220, 157, 79, .22)); }
.brand__copy { display: grid; gap: 4px; line-height: 1; white-space: nowrap; }
.brand__copy strong { font-size: clamp(1.12rem, 1.5vw, 1.48rem); font-weight: 600; letter-spacing: -.05em; }
.brand__copy small { color: rgba(248, 241, 229, .79); font-size: .73rem; }

.language-switch { display: inline-flex; flex: none; align-items: center; padding: 3px; border: 1px solid rgba(244, 229, 206, .24); border-radius: 999px; background: rgba(6, 17, 26, .2); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06); backdrop-filter: blur(10px); transition: border-color .25s ease, background .25s ease; }
.language-switch:hover { border-color: rgba(232, 180, 105, .42); background: rgba(10, 24, 33, .3); }
.language-switch__button { min-width: 52px; padding: 7px 11px; border-radius: 999px; color: rgba(247, 239, 227, .58); background: transparent; font-family: inherit; font-size: .78rem; transition: color .24s ease, background .24s ease, box-shadow .24s ease, transform .24s ease; }
.language-switch__button:hover { color: rgba(255, 246, 232, .9); transform: translateY(-1px); }
.language-switch__button.is-active { color: #f8ecd8; background: rgba(151, 102, 52, .16); box-shadow: inset 0 0 0 1px rgba(230, 174, 94, .58); }

.main-nav { position: relative; z-index: 2; display: flex; align-items: center; gap: clamp(26px, 3.35vw, 56px); margin-inline-start: auto; pointer-events: auto; }
.main-nav a { position: relative; padding-block: 9px 10px; color: rgba(249, 242, 232, .77); font-size: .93rem; transition: color .24s ease, transform .24s ease; }
.main-nav a::after { position: absolute; content: ""; inset-inline-start: 50%; bottom: 0; width: 24px; height: 1px; background: #e9b76f; transform: translateX(-50%) scaleX(0); transform-origin: center; transition: transform .28s cubic-bezier(.22, .61, .36, 1); }
.main-nav a:hover { color: #f0c98f; transform: translateY(-1px); }
.main-nav a.is-active { color: #fffaf2; }
.main-nav a:hover::after, .main-nav a.is-active::after { transform: translateX(-50%) scaleX(1); }

.header-action, .button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; white-space: nowrap; transition: transform .2s ease, color .2s ease, background .2s ease, border-color .2s ease; }
.header-action { flex: none; padding: 11px 20px; border: 1px solid rgba(234, 177, 97, .7); border-radius: 999px; color: #efbd79; background: rgba(5, 15, 22, .04); font-size: .86rem; box-shadow: inset 0 1px 0 rgba(255, 235, 204, .04); }
.header-action:hover { border-color: rgba(243, 194, 124, .9); color: var(--pearl); background: rgba(165, 109, 53, .14); box-shadow: 0 0 18px rgba(211, 151, 74, .1), inset 0 1px 0 rgba(255, 235, 204, .1); transform: translateY(-1px); }
.header-action svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.button { min-height: 68px; padding-inline: 22px; border-radius: 13px; font-size: 1rem; font-weight: 600; }
.button svg { width: 28px; height: 28px; flex: none; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.button i { font-family: var(--font-latin); font-size: 1.35rem; font-style: normal; font-weight: 400; line-height: 1; }
.button--whatsapp { min-width: 272px; border: 1px solid rgba(178, 224, 211, .54); background: linear-gradient(115deg, rgba(55, 113, 111, .77), rgba(24, 64, 68, .74)); box-shadow: inset 0 1px 0 rgba(240, 255, 249, .32), 0 11px 29px rgba(0, 0, 0, .19), 0 0 28px rgba(89, 171, 153, .14); color: #f7fbf7; backdrop-filter: blur(12px); }
.button--whatsapp:hover { border-color: rgba(212, 244, 231, .82); background: linear-gradient(115deg, rgba(63, 129, 124, .9), rgba(27, 72, 75, .86)); transform: translateY(-2px); }
:root:dir(ltr) .button--whatsapp { display: inline-grid; grid-template-columns: 28px minmax(0, max-content) 28px; column-gap: 10px; padding-inline: 20px; font-size: .92rem; }
:root:dir(ltr) .button--whatsapp svg { justify-self: start; }
:root:dir(ltr) .button--whatsapp span { min-width: 0; text-align: center; }
:root:dir(ltr) .button--whatsapp i { justify-self: end; }
.button--call { min-width: 216px; border: 1px solid rgba(242, 240, 232, .54); background: rgba(4, 12, 18, .35); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .11), 0 11px 27px rgba(0, 0, 0, .17); color: #fffaf2; backdrop-filter: blur(12px); }
.button--call:hover { border-color: rgba(237, 192, 122, .8); background: rgba(10, 22, 28, .57); transform: translateY(-2px); }

.header-architecture { position: absolute; z-index: -1; inset-inline: 0; inset-block-end: -1px; height: 1px; background: linear-gradient(to right, transparent 0%, rgba(229, 174, 97, .2) 14%, rgba(247, 239, 226, .09) 53%, rgba(229, 174, 97, .18) 87%, transparent 100%); pointer-events: none; transition: opacity .35s ease; }
.site-header.is-scrolled .header-architecture { opacity: .62; }
.header-architecture::before { position: absolute; content: ""; top: -1px; inset-inline-end: max(4.5vw, 60px); width: min(11vw, 190px); height: 1px; background: linear-gradient(to left, rgba(232, 178, 99, .46), transparent); }
.header-architecture i, .header-architecture span { position: absolute; display: block; border-radius: 50%; }
.header-architecture i { inset-inline-start: 8%; top: -2px; width: 5px; height: 5px; background: #e7b26d; box-shadow: 0 0 12px rgba(231, 178, 109, .86); }
.header-architecture span { inset-inline-end: 8%; top: -1px; width: 3px; height: 3px; background: #f7eddd; box-shadow: 0 0 9px rgba(247, 237, 221, .66); }

.menu-toggle { display: none; color: var(--pearl); background: transparent; }
.menu-toggle span { display: block; width: 24px; height: 1px; margin-block: 6px; background: currentColor; transition: transform .2s ease; }
:focus-visible { outline: 2px solid var(--copper-light); outline-offset: 4px; }

@media (max-width: 1080px) {
  .header__inner { gap: 16px; }
  .main-nav { gap: 22px; }
  .brand__mark { width: 31px; height: 36px; }
  .brand__copy strong { font-size: 1.08rem; }
  .language-switch__button { min-width: 45px; padding-inline: 8px; }
}

@media (max-width: 800px) {
  .site-header { padding-block: 17px; }
  .header__inner { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; }
  .brand { grid-column: 1; }
  .language-switch { grid-column: 2; justify-self: start; }
  .menu-toggle { display: block; grid-column: 3; }
  .header-action { display: none; }
  .main-nav { position: absolute; z-index: 5; top: calc(100% + 8px); inset-inline: 20px; display: grid; gap: 2px; margin: 0; padding: 12px; border: 1px solid rgba(245, 241, 232, .16); border-radius: 14px; background: rgba(4, 12, 19, .94); box-shadow: var(--shadow-deep); backdrop-filter: blur(18px); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease; }
  .main-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .main-nav a { padding: 11px 10px; }
  .main-nav a::after { display: none; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
}

@media (max-width: 520px) {
  .brand__mark { width: 27px; height: 32px; }
  .brand__copy strong { font-size: 1rem; }
  .brand__copy small { display: none; }
  .language-switch__button { min-width: 39px; padding: 6px 7px; font-size: .72rem; }
}
