:root { --silva-nav-font: Manrope, Arial, sans-serif; }

.site-header {
  --header-logo-width: clamp(148px, 15.5vw, 200px);
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  color: #fff;
  font-family: var(--silva-nav-font);
  transform: translate3d(0, 0, 0);
  transition: transform 360ms cubic-bezier(.22, .61, .36, 1);
}
.site-header nav { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) clamp(150px, 17vw, 220px) minmax(0, 1fr); align-items: center; width: 100%; min-height: 152px; padding: clamp(24px, 2.4vw, 34px) clamp(24px, 4vw, 64px); transition: padding 360ms cubic-bezier(.22, .61, .36, 1), min-height 360ms cubic-bezier(.22, .61, .36, 1); }
.site-header .nav-side { display: flex; align-items: center; gap: clamp(8px, 1.2vw, 18px); min-width: 0; white-space: nowrap; font: 700 14px/1 var(--silva-nav-font); letter-spacing: .7px; text-transform: uppercase; }
.site-header .nav-left { grid-column: 1; justify-content: flex-start; }
.site-header .nav-right { grid-column: 3; justify-content: flex-end; }
.site-header a { color: inherit; text-decoration: none; }
.site-header a:focus-visible, .site-header button:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.site-header .brand-mark { position: absolute; top: 50%; left: 50vw; width: var(--header-logo-width); line-height: 0; transform: translate(-50%, -50%); transition: width 360ms cubic-bezier(.22, .61, .36, 1); }
.site-header .brand-mark img { display: block; width: 100%; height: auto; }
.site-header .mobile-menu-toggle { display: none; border: 0; background: transparent; color: inherit; font: 600 12px/1 var(--silva-nav-font); text-transform: uppercase; letter-spacing: 2px; cursor: pointer; }
.site-header[data-header-state="compact"] { --header-logo-width: clamp(104px, 10vw, 132px); }
.site-header[data-header-state="compact"] nav { min-height: 68px; padding-block: 8px; }
.site-header[data-header-state="hidden"] { --header-logo-width: clamp(104px, 10vw, 132px); transform: translate3d(0, -105%, 0); }
.site-header[data-header-state="hidden"] nav { min-height: 68px; padding-block: 8px; }
.site-header:focus-within { transform: translate3d(0, 0, 0); }
.site-header .nav-side > a, .site-header .location-trigger { position: relative; display: inline-block; }
.site-header .nav-side > a::after, .site-header .location-trigger::after { content: ''; position: absolute; right: 0; bottom: -6px; left: 0; height: 1px; background: #a67d37; transform: scaleX(0); transform-origin: left center; transition: transform 250ms cubic-bezier(.22, .61, .36, 1); pointer-events: none; }
.site-header .nav-side > a:hover::after, .site-header .nav-side > a:focus-visible::after, .site-header .nav-side > a[aria-current="page"]::after, .site-header .location-trigger:hover::after, .site-header .location-trigger:focus-visible::after, .site-header .location-menu[data-open] .location-trigger::after { transform: scaleX(1); }
.location-menu { position: static; }
.location-trigger { appearance: none; border: 0; padding: 0; color: inherit; background: transparent; font: inherit; text-transform: uppercase; letter-spacing: inherit; cursor: pointer; }
.mega-menu { position: absolute; z-index: 30; top: 123px; left: clamp(24px, 4vw, 64px); width: min(1200px, calc(100vw - 2 * clamp(24px, 4vw, 64px))); padding: 45px 39px 56px; color: #171514; background: rgba(255, 255, 255, .48); -webkit-backdrop-filter: blur(24px) saturate(140%); backdrop-filter: blur(24px) saturate(140%); }
.mega-menu[hidden] { display: none; }
.location-menu:hover > .mega-menu { display: block !important; }
.mega-location-link { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 24px; color: #171514 !important; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.mega-location-link span, .mega-card b { color: #a67d37; font-size: 18px; font-weight: 400; line-height: 1; }
.mega-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 50px; }
.mega-card { display: block; color: inherit !important; transition: opacity 220ms ease, transform 220ms ease; }
.mega-card:hover, .mega-card:focus-visible { opacity: .72; transform: translateY(-3px); }
.mega-card:focus-visible { outline-color: #a67d37; outline-offset: 6px; }
.mega-card img { display: block; width: 100%; height: 174px; object-fit: cover; }
.mega-card span { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding-top: 26px; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: uppercase; }

@media (min-width: 1181px) { .site-header[data-header-state="compact"] .mega-menu { top: 68px; } }
@media (max-width: 1180px) {
  .site-header { --header-logo-width: clamp(118px, 26vw, 148px); }
  .site-header nav { display: flex; justify-content: flex-end; min-height: 112px; padding: 16px clamp(16px, 5vw, 30px); }
  .site-header .nav-side, .mega-menu { display: none !important; }
  .site-header .mobile-menu-toggle { position: relative; z-index: 2; display: flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 8px 0 8px 12px; }
  .site-header .mobile-menu { position: absolute; top: calc(100% + 8px); right: clamp(16px, 5vw, 30px); display: flex; flex-direction: column; gap: 16px; min-width: 190px; max-width: calc(100vw - 32px); padding: 22px 24px; color: #fff; background: rgba(30, 24, 22, .88); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); font: 600 12px/1.3 var(--silva-nav-font); letter-spacing: 1.5px; text-transform: uppercase; }
  .site-header .mobile-menu[hidden] { display: none; }
  .site-header .mobile-menu a { display: block; }
  .site-header .mobile-menu details { display: grid; gap: 12px; }
  .site-header .mobile-menu summary { cursor: pointer; }
  .site-header[data-header-state="compact"], .site-header[data-header-state="hidden"] { --header-logo-width: clamp(94px, 22vw, 112px); }
  .site-header[data-header-state="compact"] nav, .site-header[data-header-state="hidden"] nav { min-height: 60px; padding-block: 8px; }
}
@media (max-width: 359px) { .site-header { --header-logo-width: 112px; } .site-header[data-header-state="compact"], .site-header[data-header-state="hidden"] { --header-logo-width: 92px; } .site-header nav { padding-inline: 14px; } }
@media (prefers-reduced-motion: reduce) { .site-header, .site-header nav, .site-header .brand-mark, .site-header .nav-side > a::after, .site-header .location-trigger::after, .mega-card { transition: none; } }
.mobile-bottom-nav,.mobile-reservation-sheet{display:none}@media(max-width:1180px){body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.site-header .mobile-menu-toggle{display:none!important}.mobile-bottom-nav{position:fixed;z-index:80;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;min-height:68px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));color:#171514;background:#f8f5f0;box-shadow:0 -5px 18px rgba(43,32,23,.12);font:600 10px/1.1 Manrope,Arial,sans-serif;text-transform:uppercase}.mobile-bottom-nav a,.mobile-bottom-nav button{display:grid;place-items:center;gap:4px;min-width:44px;min-height:48px;border:0;color:inherit;background:none;text-decoration:none}.mobile-bottom-nav svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.8}.mobile-reservation-trigger{position:relative;color:#fff!important}.mobile-reservation-trigger:before{content:'';position:absolute;z-index:-1;width:66px;height:66px;border-radius:50%;background:#a67d37}.mobile-reservation-sheet[hidden]{display:none}.mobile-reservation-sheet{position:fixed;z-index:100;inset:0;display:block}.mobile-sheet-backdrop{position:absolute;inset:0;background:#0004}.mobile-sheet-panel{position:absolute;right:0;bottom:0;left:0;padding:32px 20px calc(24px + env(safe-area-inset-bottom));border-radius:24px 24px 0 0;background:#f8f5f0;box-shadow:0 -8px 30px #0003;animation:silva-sheet-up 240ms ease-out}.mobile-sheet-panel h2{margin:0 36px 24px 0;color:#a67d37;font:400 30px/1.1 'Bodoni Moda',serif}.mobile-sheet-close{position:absolute;top:14px;right:18px;min-width:44px;min-height:44px;border:0;background:none;font-size:32px}.mobile-sheet-panel form{display:grid;gap:12px}.mobile-sheet-panel label{display:grid;gap:5px;color:#6d655e;font:600 12px Manrope,Arial,sans-serif}.mobile-sheet-panel input,.mobile-sheet-panel select{min-height:48px;padding:0 12px;border:1px solid #ded4c7;border-radius:7px;background:#fff;font:16px Manrope,Arial,sans-serif}.mobile-sheet-panel form>button{min-height:50px;border:0;border-radius:6px;color:#fff;background:#a67d37;font-weight:700}.site-header .mobile-menu{top:auto!important;bottom:calc(76px + env(safe-area-inset-bottom))}}@keyframes silva-sheet-up{from{transform:translateY(12%);opacity:.7}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.mobile-sheet-panel{animation:none}}
/* Mobile navigation refinement */
@media(max-width:1180px){.mobile-bottom-nav{height:74px;min-height:74px;padding:6px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid rgba(166,125,55,.12);box-shadow:0 -4px 16px rgba(45,32,20,.09);gap:2px}.mobile-bottom-nav a,.mobile-bottom-nav button{position:relative;z-index:1;width:100%;height:60px;min-height:60px;border-radius:10px;align-content:center;gap:5px;font-size:10px;letter-spacing:.01em;-webkit-tap-highlight-color:transparent}.mobile-bottom-nav a:focus-visible,.mobile-bottom-nav button:focus-visible{outline:2px solid #a67d37;outline-offset:-2px}.mobile-nav-icon{display:grid;place-items:center;width:28px;height:28px;color:#292522;font:400 27px/1 Georgia,serif}.mobile-bottom-nav a[aria-current=page]{color:#a67d37;background:rgba(166,125,55,.08)}.mobile-reservation-trigger{z-index:2!important;margin-top:-22px;height:82px!important;min-height:82px!important;color:#fff!important}.mobile-reservation-trigger:before{z-index:-1;inset:8px 50% auto auto;transform:translateX(50%);width:68px;height:68px;box-shadow:0 3px 10px rgba(77,52,22,.2)}.mobile-reservation-trigger .mobile-nav-icon{color:#fff}.mobile-sheet-panel{padding:34px 22px calc(26px + env(safe-area-inset-bottom));border:1px solid rgba(166,125,55,.16);box-shadow:0 -10px 28px rgba(43,32,23,.14)}.mobile-sheet-panel h2{font-size:clamp(27px,7vw,34px);letter-spacing:-.01em}.mobile-sheet-close{top:12px;right:14px;color:#292522;line-height:1}.mobile-sheet-panel label{font-size:11px;letter-spacing:.03em;text-transform:uppercase}.mobile-sheet-panel input,.mobile-sheet-panel select{border-color:#e2d8ca;box-shadow:inset 0 1px 2px rgba(60,40,20,.04)}.mobile-sheet-panel form>button{min-height:52px;letter-spacing:.06em;box-shadow:0 2px 5px rgba(93,59,16,.16)}.mobile-sheet-backdrop{cursor:pointer}}
@media(max-width:1180px){.mobile-bottom-nav a>img,.mobile-bottom-nav button>img{display:block;width:25px;height:25px;object-fit:contain}.mobile-reservation-trigger>img{width:30px;height:30px;filter:brightness(0) invert(1)}.mobile-bottom-nav a>img,.mobile-bottom-nav button>img{filter:brightness(0) saturate(100%)}.mobile-reservation-trigger>img{filter:brightness(0) invert(1)}}
@media(max-width:1180px){.mobile-reservation-trigger:before{transform:translate(50%,-10px)}}
@media(max-width:1180px){.mobile-bottom-nav a>img,.mobile-bottom-nav .mobile-menu-trigger>img{width:20px;height:20px}.mobile-reservation-trigger>img{width:30px;height:30px}.mobile-reservation-trigger span{white-space:nowrap;font-size:10px;letter-spacing:-.02em}.mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mobile-bottom-nav a,.mobile-bottom-nav button{padding-inline:0}}
@media(max-width:1180px){.mobile-reservation-trigger{overflow:visible}.mobile-reservation-trigger>img{position:relative;z-index:3;margin-top:-8px}.mobile-reservation-trigger>span{position:absolute;z-index:3;top:51px;right:0;left:0;color:#fff!important;font-size:10px;line-height:1;white-space:nowrap;text-align:center;font-weight:700}.mobile-reservation-trigger:before{transform:translate(50%,-6px)}}
@media(max-width:1180px){.mobile-reservation-trigger>img{position:absolute;top:12px;left:50%;width:28px;height:28px;margin:0;transform:translateX(-50%);filter:brightness(0) invert(1)!important}.mobile-reservation-trigger>span{top:48px;font-size:10px;letter-spacing:-.03em}.mobile-reservation-trigger:before{transform:translate(50%,-6px)}}
@media(max-width:1180px){.mobile-reservation-trigger>span{top:43px}}
@media(max-width:1180px){.mobile-reservation-trigger:before{width:76px;height:76px;transform:translate(50%,-8px)}.mobile-reservation-trigger>img{top:10px;width:32px;height:32px}.mobile-reservation-trigger>span{top:46px;font-size:11px}}
@media(max-width:1180px){.mobile-reservation-trigger>span{top:42px}.mobile-reservation-trigger>img{top:14px}}
@media(max-width:1180px){.mobile-apartments-panel[hidden]{display:none}.mobile-apartments-panel{position:fixed;z-index:100;inset:0;display:block}.mobile-apartment-links{display:grid;gap:4px}.mobile-apartment-links a{display:flex;align-items:center;min-height:48px;padding:0 14px;border:1px solid #e2d8ca;border-radius:8px;color:#292522;background:#fff;text-decoration:none;font:600 14px Manrope,Arial,sans-serif;text-transform:uppercase}}
@media(max-width:1180px){.site-header .mobile-menu{z-index:120;pointer-events:auto}.mobile-menu-trigger{touch-action:manipulation}}
@media(max-width:1180px){.site-header .mobile-menu{position:fixed!important;top:auto!important;right:12px;bottom:calc(82px + env(safe-area-inset-bottom));z-index:120;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 150px);overflow:auto;padding:22px 24px;color:#fff;background:rgba(30,24,22,.94);box-shadow:0 8px 24px rgba(20,14,10,.22);border:1px solid rgba(255,255,255,.12);pointer-events:auto}}
@media(max-width:1180px){.mobile-menu{position:fixed!important;top:auto!important;right:12px!important;bottom:calc(82px + env(safe-area-inset-bottom))!important;z-index:120!important;width:min(300px,calc(100vw - 24px));max-height:calc(100vh - 150px);overflow:auto;padding:22px 24px;color:#fff;background:rgba(30,24,22,.94);box-shadow:0 8px 24px rgba(20,14,10,.22);border:1px solid rgba(255,255,255,.12);pointer-events:auto}.mobile-menu[hidden]{display:none!important}}
@media(max-width:1180px){.mobile-menu{display:flex!important;flex-direction:column;gap:0!important;border-radius:16px!important;padding:14px!important;color:#292522!important;background:rgba(248,245,240,.98)!important;box-shadow:0 10px 30px rgba(43,32,23,.2)!important;border:1px solid rgba(166,125,55,.22)!important;font:600 13px/1.3 Manrope,Arial,sans-serif!important;letter-spacing:.04em!important;text-transform:uppercase!important}.mobile-menu a,.mobile-menu summary{display:flex;align-items:center;min-height:46px;padding:0 10px;color:#292522!important;border-bottom:1px solid rgba(166,125,55,.14);text-decoration:none;cursor:pointer}.mobile-menu a:last-child{border-bottom:0}.mobile-menu details{display:block}.mobile-menu details>summary{list-style:none}.mobile-menu details>summary::-webkit-details-marker{display:none}.mobile-menu details>summary:after{content:"+";margin-left:auto;color:#a67d37;font-size:18px;font-weight:400}.mobile-menu details[open]>summary:after{content:"-"}.mobile-menu details>a{padding-left:24px;font-size:12px;font-weight:500}.mobile-menu a:hover,.mobile-menu a:focus-visible,.mobile-menu summary:focus-visible{color:#a67d37!important;background:rgba(166,125,55,.07);outline:none}}
@media(max-width:1180px){.mobile-menu details>summary{list-style:none;appearance:none}.mobile-menu details>summary::-webkit-details-marker{display:none}.mobile-menu details>summary::marker{content:"";font-size:0}.mobile-menu details>summary:before{content:none!important}}
@media(max-width:1180px){.mobile-menu details>summary{display:flex!important;align-items:center;justify-content:space-between;list-style:none!important;list-style-type:none!important}.mobile-menu details>summary::-moz-list-bullet{display:none}.mobile-menu details>summary::after{display:block;content:"+"!important;margin-left:auto;color:#a67d37;font-size:18px;font-weight:400}.mobile-menu details[open]>summary::after{content:"-"!important}}
@media(max-width:1180px){.mobile-menu details>summary{display:flex!important;list-style:none!important;list-style-type:none!important}.mobile-menu details>summary::-webkit-details-marker{display:none!important}.mobile-menu details>summary::marker{display:none!important;color:transparent!important;font-size:0!important}}
@media(max-width:1180px){.mobile-menu details>summary::-webkit-details-marker{color:transparent!important;width:0!important;font-size:0!important}.mobile-menu details>summary::marker{color:transparent!important;font-size:0!important}.mobile-menu details>summary:after{content:"+"!important}.mobile-menu details[open]>summary:after{content:"-"!important}}
