:root {
  --ink:#18233a;
  --ink-soft:#243044;
  --ink-muted:#5c564c;
  --bone:#f4efe6;
  --bone-warm:#ebe4d6;
  --paper:#fbf8f3;
  --line:#9a784855;
  --line-soft:#E4D9C8;
  --bronze:#9a7848;
  --bronze-light:#b08d5c;
  --bronze-pale:#E8DFD0;
  --white:#fff;
  --champagne:#9a7848;
  --fg:var(--ink-muted);
  --fg-muted:var(--ink-muted);
  --bg:var(--bone);
  --font-display-loaded:"Cormorant Garamond";
  --font-sans-loaded:"Jost";
  --font-display:var(--font-display-loaded),"Cormorant Garamond","Times New Roman",Times,serif;
  --font-sans:var(--font-sans-loaded),"Jost",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --step--1:clamp(.78rem,.74rem + .18vw,.875rem);
  --step-0:clamp(.95rem,.9rem + .22vw,1.05rem);
  --step-1:clamp(1.15rem,1.05rem + .5vw,1.4rem);
  --step-2:clamp(1.5rem,1.25rem + 1.1vw,2.1rem);
  --step-3:clamp(1.9rem,1.45rem + 2.1vw,3.1rem);
  --step-4:clamp(2.4rem,1.6rem + 3.6vw,4.6rem);
  --step-5:clamp(2.9rem,1.7rem + 5.4vw,6.2rem);
  --gutter:clamp(1.25rem,5vw,4rem);
  --section-y:clamp(4rem,9vw,9rem);
  --maxw:1400px;
  --measure:68ch;
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:78px;
  --hero-height:100dvh;
  --hero-title-size:clamp(2.8rem,8.2vw,6.4rem);
  --hero-title-maxw:22ch;
  --hero-sub-size:clamp(.94rem,1.6vw,1.1rem);
  --hero-copy-offset:calc(var(--header-h) + 1.1rem);
  --hero-inner-pad-bottom:4.75rem;
  --hero-cta-gap:1rem;
  --hero-cta-after-mt:1.45rem;
  --hero-cta-after-h:2.125rem;
  --hero-sub-minh:7.7rem;
  --fab-inset:5.75rem
}
@media (max-width:900px) {
  :root {
    --header-h:66px;
    --hero-cta-after-h:3.5rem;
    --hero-sub-minh:6.58125rem
  }
  
}
@media (max-width:640px) {
  :root {
    --hero-title-size:clamp(2.05rem,10.2vw,2.85rem);
    --hero-title-maxw:18ch;
    --hero-sub-size:.84rem;
    --hero-copy-offset:calc(var(--header-h) + .55rem);
    --hero-inner-pad-bottom:5.6rem;
    --hero-cta-after-mt:.85rem;
    --hero-cta-after-h:3.5625rem;
    --hero-sub-minh:3.65625rem
  }
  
}
*,:after,:before {
  box-sizing:border-box
}
html {
  -webkit-text-size-adjust:100%;
  scroll-padding-top:calc(var(--header-h) + 1rem);
  scrollbar-gutter:stable
}
@media (prefers-reduced-motion:reduce) {
  *,:after,:before {
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important
  }
  
}
body {
  background:var(--bg);
  color:var(--fg);
  font-family:var(--font-sans);
  font-size:var(--step-0);
  letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizelegibility;
  margin:0;
  font-weight:300;
  line-height:1.65;
  overflow-x:clip
}
canvas,img,picture,svg,video {
  max-width:100%;
  display:block
}
button,input,select,textarea {
  font:inherit;
  color:inherit
}
h1,h2,h3,h4 {
  font-family:var(--font-display);
  letter-spacing:-.012em;
  text-wrap:balance;
  margin:0;
  font-weight:300;
  line-height:1.08;
  color:var(--ink)
}
h1 {
  font-size:var(--step-4)
}
h2 {
  font-size:var(--step-3)
}
h3 {
  font-size:var(--step-2)
}
h4 {
  font-size:var(--step-1)
}
p {
  text-wrap:pretty;
  margin:0 0 1.1em
}
p:last-child {
  margin-bottom:0
}
a {
  color:inherit;
  text-decoration:none
}
:focus-visible {
  outline:2px solid var(--bronze);
  outline-offset:3px;
  border-radius:2px
}
.wrap {
  max-width:var(--maxw)
}
.wrap,.wrap-narrow {
  width:100%;
  padding-inline:var(--gutter);
  margin-inline:auto
}
.wrap-narrow {
  max-width:900px
}
.section {
  padding-block:var(--section-y)
}
.section-tight {
  padding-block:clamp(2.5rem,5vw,4.5rem)
}
.section-dark {
  background:var(--ink)
}
.section-dark,.section-dark h1,.section-dark h2,.section-dark h3 {
  color:var(--bone)
}
.section-dark .eyebrow {
  color:var(--bronze-light)
}
.section-dark .lede,.section-dark .muted {
  color:rgba(245,237,224,.72)
}
.section-paper {
  background:var(--paper)
}
.measure {
  max-width:var(--measure)
}
.eyebrow {
  font-family:var(--font-sans);
  font-size:var(--step--1);
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--bronze);
  margin:0 0 1.1rem;
  font-weight:400;
  display:block
}
.lede {
  font-size:var(--step-1);
  max-width:var(--measure);
  font-weight:300;
  line-height:1.55
}
.lede,.muted {
  color:var(--fg-muted)
}
.rule {
  background:var(--line);
  border:0;
  height:1px;
  margin:0
}
.section-head {
  margin-bottom:clamp(2rem,4vw,3.5rem)
}
.btn {
  --btn-bg:var(--ink);
  --btn-fg:var(--bone);
  --btn-bd:var(--ink);
  background:var(--btn-bg);
  color:var(--btn-fg);
  border:1px solid var(--btn-bd);
  font-family:var(--font-sans);
  font-size:var(--step--1);
  letter-spacing:.18em;
  text-transform:uppercase;
  cursor:pointer;
  transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease);
  text-align:center;
  border-radius:0;
  justify-content:center;
  align-items:center;
  gap:.6em;
  min-height:48px;
  padding:1.05em 2.1em;
  font-weight:400;
  display:inline-flex
}
.btn:hover {
  --btn-bg:var(--bronze);
  --btn-bd:var(--bronze);
  --btn-fg:#fff
}
.btn-ghost {
  --btn-bg:transparent;
  --btn-fg:var(--ink);
  --btn-bd:var(--ink)
}
.btn-ghost:hover {
  --btn-bg:var(--ink);
  --btn-fg:var(--bone)
}
.btn-light {
  --btn-bg:transparent;
  --btn-fg:var(--bone);
  --btn-bd:#f6f3ee8c
}
.btn-light:hover,.btn-solid-light {
  --btn-bg:var(--bone);
  --btn-fg:var(--ink);
  --btn-bd:var(--bone)
}
.btn-solid-light:hover {
  --btn-bg:var(--bronze);
  --btn-fg:#fff;
  --btn-bd:var(--bronze)
}
.btn-block {
  width:100%
}
.btn-row {
  flex-wrap:wrap;
  gap:.85rem;
  margin-top:2rem;
  display:flex
}
.link-arrow {
  font-size:var(--step--1);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bronze);
  transition:gap .35s var(--ease),color .35s var(--ease);
  border-bottom:1px solid;
  align-items:center;
  gap:.55em;
  padding-bottom:.3em;
  display:inline-flex
}
.link-arrow:hover {
  color:var(--ink);
  gap:1em
}
.section-dark .link-arrow:hover {
  color:var(--bone)
}
.media {
  background:linear-gradient(160deg,#121820,#243044 42%,#5a6d80);
  position:relative;
  overflow:hidden;
  min-height:220px
}
.media[data-ratio=hero] {
  min-height:min(78vh,820px)
}
.media[data-ratio=wide] {
  aspect-ratio:16/10;
  min-height:240px
}
.media[data-ratio=portrait] {
  aspect-ratio:3/4;
  min-height:280px
}
.media[data-ratio=square] {
  aspect-ratio:1/1;
  min-height:220px
}
.media .slot,.media img,.media picture,.media>span {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block
}
.media img {
  object-fit:cover
}
.media.is-contain img {
  object-fit:contain;
  object-position:center
}
.media .slot {
  background:linear-gradient(160deg,#0e141c,#243044 46%,#6d7f92)
}
.media.is-fill {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%!important;
  aspect-ratio:auto!important
}
.split>.media {
  aspect-ratio:4/5;
  min-height:420px;
  height:auto;
  align-self:stretch
}
.media-zoom img {
  transition:transform 1.1s var(--ease)
}
.media-zoom:hover img {
  transform:scale(1.035)
}
figure {
  margin:0
}
figcaption {
  font-size:var(--step--1);
  letter-spacing:.06em;
  color:var(--fg-muted);
  margin-top:.9rem
}
.grid {
  grid-gap:clamp(1.5rem,3vw,2.75rem);
  gap:clamp(1.5rem,3vw,2.75rem);
  display:grid
}
.grid-2 {
  grid-template-columns:repeat(2,1fr)
}
.grid-3 {
  grid-template-columns:repeat(3,1fr)
}
.grid-4 {
  grid-template-columns:repeat(4,1fr)
}
@media (max-width:1000px) {
  .grid-3,.grid-4 {
    grid-template-columns:repeat(2,1fr)
  }
  
}
@media (max-width:700px) {
  .grid-2,.grid-3,.grid-4 {
    grid-template-columns:1fr
  }
  
}
.split {
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  grid-gap:clamp(2rem,5vw,5rem);
  gap:clamp(2rem,5vw,5rem);
  display:grid
}
.split > * {
  min-width:0
}
.split-text {
  max-width:34rem
}
@media (max-width:900px) {
  .split {
    grid-template-columns:1fr;
    gap:2rem
  }
  
}
.facts {
  border-top:1px solid var(--line);
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  grid-gap:clamp(1.5rem,3vw,2.5rem);
  gap:clamp(1.5rem,3vw,2.5rem);
  padding-top:2.25rem;
  display:grid
}
.fact-value {
  font-family:var(--font-display);
  font-size:var(--step-2);
  margin-bottom:.45rem;
  line-height:1;
  display:block
}
.fact-label {
  font-size:var(--step--1);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg-muted)
}
.section-dark .fact-label {
  color:#9aa3ac
}
.section-dark .facts {
  border-color:#f6f3ee2e
}
.intro-strip {
  margin-top:0;
  padding-top:1.85rem
}
#introduction .section-head {
  margin-bottom:1.6rem
}
.intro-strip .fact-value {
  font-size:clamp(1.7rem,3.2vw,2.45rem);
  color:var(--ink)
}
.intro-strip .fact-label {
  color:var(--bronze);
  letter-spacing:.18em;
  font-size:.62rem
}
@media (max-width:640px) {
  .intro-strip {
    grid-template-columns:repeat(2,1fr);
    gap:1.4rem 1rem
  }
  
}
.feature-list {
  grid-gap:.85rem;
  gap:.85rem;
  margin:0;
  padding:0;
  list-style:none;
  display:grid
}
.feature-list li {
  padding-left:1.6rem;
  line-height:1.6;
  position:relative
}
.feature-list li:before {
  content:"";
  background:var(--bronze);
  width:8px;
  height:1px;
  position:absolute;
  top:.72em;
  left:0
}
.feature-columns {
  column-count:2;
  column-gap:clamp(2rem,4vw,4rem)
}
.feature-columns li {
  page-break-inside:avoid;
  break-inside:avoid;
  margin-bottom:.85rem
}
@media (max-width:700px) {
  .feature-columns {
    column-count:1
  }
  
}
.card {
  background:var(--paper);
  border:1px solid var(--line-soft);
  height:100%;
  transition:border-color .4s var(--ease);
  flex-direction:column;
  display:flex
}
.card:hover {
  border-color:var(--bronze-light)
}
.card-body {
  flex-direction:column;
  flex:1 1;
  padding:clamp(1.5rem,2.5vw,2.25rem);
  display:flex
}
.card-body>.btn,.card-body>.link-arrow {
  align-self:flex-start;
  margin-top:auto
}
.visually-hidden {
  clip:rect(0 0 0 0);
  white-space:nowrap;
  border:0;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  position:absolute!important
}
.skip-link {
  z-index:200;
  background:var(--ink);
  color:var(--bone);
  font-size:var(--step--1);
  letter-spacing:.12em;
  text-transform:uppercase;
  transition:top .2s var(--ease);
  padding:.85rem 1.35rem;
  position:absolute;
  top:-100px;
  left:.5rem
}
.skip-link:focus {
  top:.5rem
}
.center {
  text-align:center
}
.center .lede,.center .measure {
  margin-inline:auto
}
.center .btn-row {
  justify-content:center
}
.site-header {
  z-index:100;
  transition:background .45s var(--ease),border-color .45s var(--ease);
  position:fixed
}
.site-header,.site-header.is-solid:before {
  background:var(--paper);
  border-bottom:1px solid var(--line);
  inset:0 0 auto
}
.site-header.is-solid:before {
  content:"";
  height:var(--header-h);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  z-index:-1;
  position:absolute
}
.site-header.is-open {
  z-index:1000
}
.header-inner {
  max-width:var(--maxw);
  padding-inline:var(--gutter);
  height:var(--header-h);
  justify-content:space-between;
  gap:1.5rem;
  margin-inline:auto
}
.brand,.header-inner {
  align-items:center;
  display:flex
}
.brand {
  flex-shrink:1;
  min-width:0;
  max-width:min(220px,calc(100vw - 12rem));
  line-height:0
}
.brand-lockup {
  display:block;
  height:58px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  object-position:left center
}
.brand-name {
  font-family:var(--font-display);
  letter-spacing:.01em;
  font-size:clamp(1.05rem,1.7vw,1.35rem)
}
.brand-sub {
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--bronze);
  margin-top:.28em;
  font-size:.58rem
}
.site-header .brand-lockup {
  filter:none
}
.site-header .brand-lockup-on-dark {
  display:none
}
.site-header .brand-lockup-on-light {
  display:block
}
.site-header .header-phone,.site-header .nav-desktop a {
  color:var(--ink)
}
.site-header .brand-sub {
  color:var(--bronze)
}
.site-header .burger span {
  background:var(--ink)
}
.nav-desktop {
  align-items:center;
  gap:clamp(.9rem,1.8vw,1.9rem);
  display:flex
}
.nav-desktop a {
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:border-color .3s var(--ease),color .3s var(--ease);
  white-space:nowrap;
  border-bottom:1px solid #0000;
  padding-block:.4rem;
  font-size:.72rem
}
.nav-desktop a.is-current,.nav-desktop a:hover {
  border-bottom-color:var(--bronze)
}
.header-actions {
  flex-shrink:0;
  align-items:center;
  gap:1rem;
  display:flex
}
.header-phone {
  letter-spacing:.1em;
  white-space:nowrap;
  font-size:.75rem
}
.header-cta {
  min-height:44px;
  padding:.8em 1.5em
}
.burger {
  cursor:pointer;
  background:0 0;
  border:0;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:44px;
  height:44px;
  padding:0;
  display:none
}
.burger span {
  background:var(--ink);
  width:22px;
  height:1px;
  transition:transform .35s var(--ease),opacity .25s var(--ease);
  display:block
}
.site-header.is-open .burger span:first-child {
  transform:translateY(6px)rotate(45deg)
}
.site-header.is-open .burger span:nth-child(2) {
  opacity:0
}
.site-header.is-open .burger span:nth-child(3) {
  transform:translateY(-6px)rotate(-45deg)
}
.nav-mobile {
  display:none
}
@media (max-width:1180px) {
  .header-phone,.nav-desktop {
    display:none
  }
  .burger {
    display:flex
  }
  
}
@media (max-width:820px) {
  .header-inner {
    gap:.5rem
  }
  
}
@media (max-width:1180px) {
  .site-header {
    padding-top:env(safe-area-inset-top,0)
  }
  .site-header.is-solid:before {
    height:calc(var(--header-h) + env(safe-area-inset-top, 0px))
  }
  .site-header.is-open {
    background:var(--paper);
    border-bottom-color:var(--line)
  }
  .site-header .burger span,.site-header.is-open .burger span {
    background:var(--ink)
  }
  .nav-mobile {
    inset:calc(var(--header-h) + env(safe-area-inset-top, 0px)) 0 0 0;
    background:var(--paper);
    color:var(--ink);
    padding:clamp(1.5rem,6vw,3rem) var(--gutter) 3rem;
    overscroll-behavior:contain;
    display:block;
    position:fixed;
    overflow-y:auto
  }
  .nav-mobile[hidden] {
    display:none
  }
  .nav-mobile nav {
    flex-direction:column;
    display:flex
  }
  .nav-mobile nav a {
    font-family:var(--font-display);
    border-bottom:1px solid var(--line);
    color:var(--ink);
    padding-block:.5rem;
    font-size:clamp(1.6rem,7vw,2.4rem)
  }
  .nav-mobile-actions {
    grid-gap:.75rem;
    gap:.75rem;
    margin-top:2.25rem;
    display:grid
  }
  .nav-mobile .btn-light {
    --btn-fg:var(--ink);
    --btn-bd:var(--bronze)
  }
  
}
.hero {
  position:relative;
  padding:0;
  overflow:hidden;
  align-items:flex-start;
  color:#fff
}
.hero-media,.hero-slide,.hero-slides {
  position:absolute;
  inset:0
}
.hero-slide {
  opacity:0;
  transition:opacity 1.6s ease;
  overflow:hidden
}
.hero-slide.is-active {
  opacity:1
}
.hero-media .media,.hero-slide .media,.hero-slides .media {
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:auto!important
}
.hero-media img,.hero-slide img,.hero-slides img {
  object-fit:cover;
  width:100%;
  height:100%
}
@media (max-width:700px) {
  .hero-slide.is-lead img {
    object-position:68% 42%
  }
}
.hero-slide.is-dual-towers img {
  object-fit:cover!important;
  object-position:28% 30%!important
}
.hero-slide.is-dual-towers-south img {
  object-position:36% 28%!important
}
@media (max-width:780px) {
  .hero-slide.is-dual-towers img {
    object-position:26% 28%!important
  }
  .hero-slide.is-dual-towers-south img {
    object-position:34% 26%!important
  }
  
}
.hero-overlay {
  pointer-events:none;
  background:linear-gradient(90deg,rgba(24,35,58,.66) 0,rgba(24,35,58,.46) 34%,rgba(24,35,58,.12) 60%,rgba(24,35,58,0) 76%),linear-gradient(180deg,rgba(24,35,58,.58) 0,rgba(24,35,58,.34) 28%,rgba(24,35,58,.22) 52%,rgba(24,35,58,.62));
  position:absolute;
  inset:0;
  z-index:1
}
.hero-inner {
  z-index:3;
  width:100%;
  max-width:var(--maxw);
  padding:var(--hero-copy-offset) var(--gutter) var(--hero-inner-pad-bottom);
  margin-inline:auto;
  position:relative
}
.hero h1,.hero-title {
  font-family:var(--font-display);
  font-weight:300;
  font-size:var(--hero-title-size);
  line-height:1.02;
  color:#fff;
  letter-spacing:.01em;
  max-width:var(--hero-title-maxw);
  margin:0 0 1.05rem;
  text-shadow:0 2px 34px rgba(24,35,58,.65),0 1px 4px rgba(24,35,58,.4)
}
.hero-sub {
  font-size:var(--hero-sub-size);
  color:rgba(255,255,255,.96);
  max-width:56ch;
  margin:0 0 1.6rem;
  font-weight:300;
  line-height:1.75;
  min-height:var(--hero-sub-minh);
  text-shadow:0 1px 18px rgba(24,35,58,.85),0 1px 3px rgba(24,35,58,.5)
}
.hero-eyebrow {
  font-size:.7rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  font-weight:500;
  color:#fff;
  margin:0 0 .7rem;
  display:block;
  text-shadow:0 1px 20px rgba(24,35,58,.9),0 1px 3px rgba(24,35,58,.7)
}
.cta-short,.hero-sub-short {
  display:none
}
.btn-gold-outline,.hero-ctas .btn-gold-outline {
  --btn-bg:var(--bone);
  --btn-fg:var(--ink);
  --btn-bd:var(--bronze)
}
.btn-gold-outline:hover,.hero-ctas .btn-gold,.hero-ctas .btn-gold-outline:hover {
  --btn-bg:var(--bronze);
  --btn-fg:#fff;
  --btn-bd:var(--bronze)
}
.hero-ctas .btn-gold:hover {
  --btn-bg:var(--bronze-light);
  --btn-fg:#18233a;
  --btn-bd:var(--bronze-light)
}
.btn-gold {
  --btn-bg:var(--bronze);
  --btn-fg:#fff;
  --btn-bd:var(--bronze)
}
.btn-gold:hover {
  --btn-bg:var(--bronze-light);
  --btn-fg:#fff;
  --btn-bd:var(--bronze-light)
}
.hero-dots {
  position:absolute;
  bottom:clamp(1.6rem,3vw,2.6rem);
  left:var(--gutter);
  z-index:4;
  display:flex;
  gap:.55rem
}
.hero-dot {
  width:26px;
  height:2px;
  background:rgba(245,237,224,.28);
  cursor:pointer;
  transition:background .4s;
  border:none;
  padding:0
}
.hero-dot.is-active {
  background:var(--bronze)
}
.hero {
  height:100svh;
  height:var(--hero-height);
  min-height:100svh;
  min-height:var(--hero-height);
  display:flex;
  flex-direction:column;
  align-items:stretch
}
.hero>.hero-inner {
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  box-sizing:border-box;
  min-height:0;
  width:100%;
  height:100%;
  padding-top:var(--hero-copy-offset);
  padding-bottom:var(--hero-inner-pad-bottom)
}
.hero>.hero-inner:before {
  content:"";
  flex:1 1 auto;
  min-height:0
}
.hero>.hero-inner:after {
  content:"";
  flex-shrink:0;
  margin-top:var(--hero-cta-after-mt);
  height:var(--hero-cta-after-h)
}
.hero-ctas {
  flex-shrink:0;
  display:flex;
  flex-wrap:wrap;
  gap:var(--hero-cta-gap)
}
.hero-ctas .btn {
  flex:0 1 auto;
  white-space:nowrap
}
@media (max-width:900px) and (min-width:641px) {
  .hero-ctas {
    gap:.6rem
  }
  .hero-ctas .btn {
    padding:.85em 1.35em;
    letter-spacing:.14em
  }
  
}
.hero-slide-label {
  position:absolute;
  bottom:clamp(1.5rem,3vw,2.5rem);
  right:var(--gutter);
  z-index:4;
  font-size:.6rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:rgba(255,255,255,.82);
  text-shadow:0 1px 14px rgba(24,35,58,.8);
  max-width:40%;
  text-align:right
}
.hero-meta {
  font-size:var(--step--1);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#f6f3eec7;
  border-top:1px solid #f6f3ee40;
  flex-wrap:wrap;
  gap:.6rem 1.75rem;
  margin-top:2.5rem;
  padding-top:1.75rem;
  display:flex
}
.page-hero {
  min-height:clamp(46vh,58vh,640px);
  padding-top:var(--header-h);
  color:var(--bone);
  align-items:flex-end;
  margin-top:0;
  display:flex;
  position:relative;
  overflow:hidden
}
.page-hero .hero-media {
  position:absolute;
  inset:0
}
.page-hero .hero-media .media {
  width:100%;
  height:100%;
  aspect-ratio:auto!important
}
.page-hero:after {
  content:"";
  background:linear-gradient(90deg,#080c11c7,#080c1180 32%,#080c1100 72%),linear-gradient(#080c1199,#080c1133 40%,#080c11d9);
  position:absolute;
  inset:0;
  z-index:1
}
.page-hero .hero-inner {
  position:relative;
  z-index:2
}
@media (max-width:780px) {
  .page-hero:after {
    background:linear-gradient(#080c1199,#080c1159 40%,#080c11e6)
  }
  
}
.page-hero .hero-inner {
  padding-bottom:clamp(2.5rem,6vh,4rem)
}
.page-hero h1 {
  font-size:var(--step-4);
  max-width:20ch;
  color:#fff;
  text-shadow:0 2px 34px rgba(24,35,58,.65),0 1px 4px rgba(24,35,58,.4)
}
.page-hero .hero-sub {
  margin-bottom:0;
  min-height:0
}
.breadcrumbs {
  padding-top:1.5rem
}
.breadcrumbs ol {
  font-size:var(--step--1);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--fg-muted);
  flex-wrap:wrap;
  margin:0;
  padding:0;
  list-style:none
}
.breadcrumbs li,.breadcrumbs ol {
  gap:.5rem;
  display:flex
}
.breadcrumbs a:hover {
  color:var(--bronze)
}
.breadcrumbs .sep {
  color:var(--line)
}
.res-table {
  border-collapse:collapse;
  width:100%;
  font-size:var(--step-0)
}
.res-table td,.res-table th {
  text-align:left;
  border-bottom:1px solid var(--line-soft);
  vertical-align:top;
  padding:1.1rem 1rem 1.1rem 0
}
.res-table th {
  font-family:var(--font-sans);
  font-size:var(--step--1);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg-muted);
  border-bottom-color:var(--line);
  font-weight:400
}
.res-table td:first-child {
  font-family:var(--font-display);
  font-size:var(--step-1)
}
.table-scroll {
  -webkit-overflow-scrolling:touch;
  overflow-x:auto
}
.price-list {
  margin-top:2.75rem
}
.price-list-title {
  font-family:var(--font-display);
  font-size:var(--step-2);
  font-weight:300;
  margin:0 0 .35rem
}
.price-list-lede {
  max-width:62ch;
  margin-bottom:1.25rem
}
.price-table td:first-child {
  font-size:var(--step-0)
}
.price-table-meta {
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--ink-muted);
  margin-top:.28rem;
  font-family:var(--font-sans);
  font-size:.58rem;
  display:block
}
.price-list-note {
  color:var(--ink-muted);
  margin:1rem 0 1.15rem;
  font-size:var(--step--1)
}
.deposit-schedule {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bronze);
  margin:1.35rem 0 0;
  font-size:.68rem
}
.plan-figure {
  border:1px solid var(--line-soft);
  background:#fff;
  padding:clamp(.75rem,2vw,1.5rem)
}
.plan-figure .media {
  aspect-ratio:2448/1584;
  background:#fff
}
.plan-figure img {
  object-fit:contain
}
.plan-stats {
  font-size:var(--step--1);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--fg-muted);
  flex-wrap:wrap;
  gap:.4rem 1.5rem;
  margin-top:1rem;
  display:flex
}
.amenity-group {
  border-top:1px solid var(--line);
  padding-top:clamp(1.75rem,3vw,2.5rem)
}
.amenity-group+.amenity-group {
  margin-top:clamp(2.5rem,5vw,4rem)
}
.filters {
  flex-wrap:wrap;
  gap:.5rem;
  margin-bottom:2.5rem;
  display:flex
}
.filter {
  border:1px solid var(--line);
  font-size:var(--step--1);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  color:var(--fg-muted);
  transition:all .3s var(--ease);
  background:0 0;
  min-height:42px;
  padding:.6em 1.3em
}
.filter:hover {
  border-color:var(--bronze);
  color:var(--ink)
}
.filter.is-active {
  background:var(--ink);
  border-color:var(--ink);
  color:var(--bone)
}
.gallery-grid {
  grid-template-columns:repeat(3,1fr);
  grid-gap:clamp(.75rem,1.6vw,1.4rem);
  gap:clamp(.75rem,1.6vw,1.4rem);
  display:grid
}
.gallery-item {
  cursor:zoom-in;
  text-align:left;
  background:0 0;
  border:0;
  padding:0;
  display:block
}
.gallery-item .media {
  aspect-ratio:4/3
}
.gallery-item.is-wide {
  grid-column:span 2
}
.gallery-item.is-wide .media {
  aspect-ratio:21/9
}
.gallery-caption {
  font-size:var(--step--1);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg-muted);
  margin-top:.7rem;
  display:block
}
.gallery-swipe {
  display:none
}
.gallery-swipe-hint {
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--fg-muted);
  margin:0 0 .75rem;
  font-size:.62rem
}
.gallery-swipe-track {
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  touch-action:pan-x;
  gap:0
}
.gallery-swipe-track::-webkit-scrollbar {
  display:none
}
.gallery-swipe-slide {
  flex:0 0 100%;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  cursor:zoom-in;
  text-align:left;
  background:0 0;
  border:0;
  padding:0;
  display:block
}
.gallery-swipe-slide .media {
  aspect-ratio:4/3;
  min-height:0
}
.gallery-swipe-nav {
  align-items:center;
  justify-content:center;
  gap:1.25rem;
  margin-top:1rem;
  display:flex
}
.gallery-swipe-arrow {
  cursor:pointer;
  background:0 0;
  border:1px solid var(--line);
  color:var(--ink);
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  font-size:1.4rem;
  line-height:1
}
.gallery-swipe-count {
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--fg-muted);
  font-size:.68rem
}
@media (max-width:1000px) {
  .gallery-grid {
    grid-template-columns:repeat(2,1fr)
  }
  
}
@media (max-width:720px) {
  .gallery-swipe {
    display:block
  }
  .gallery-grid {
    display:none
  }
  
}
.lightbox {
  z-index:1100;
  color:var(--ink);
  background:var(--bone);
  grid-template-rows:1fr auto;
  align-items:center;
  justify-items:center;
  grid-gap:clamp(.75rem,2vw,1.4rem);
  gap:clamp(.75rem,2vw,1.4rem);
  padding:clamp(3.4rem,6vw,4.5rem) clamp(1rem,3vw,2.5rem) clamp(1rem,2.4vw,1.6rem);
  display:grid;
  position:fixed;
  inset:0;
  touch-action:none
}
.lb-close {
  color:var(--ink);
  cursor:pointer;
  background:0 0;
  border:0;
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.62rem;
  font-weight:400;
  padding:.4rem .15rem;
  position:absolute;
  top:clamp(1.1rem,3vw,1.7rem);
  right:clamp(1.2rem,3.4vw,2.2rem)
}
.lb-close span {
  letter-spacing:.08em;
  margin-left:.35rem
}
.lb-stage {
  align-items:center;
  justify-content:center;
  gap:clamp(.6rem,2.2vw,1.8rem);
  width:100%;
  max-width:1480px;
  display:flex
}
.lb-figure {
  flex:1 1 auto;
  flex-direction:column;
  align-items:stretch;
  gap:clamp(.85rem,1.8vw,1.25rem);
  min-width:0;
  max-width:min(72vw,1120px);
  display:flex
}
.lb-image {
  position:relative;
  aspect-ratio:16/10;
  width:100%;
  max-height:min(62vh,640px);
  border-radius:28px;
  overflow:hidden;
  -webkit-user-select:none;
  -moz-user-select:none;
  user-select:none;
  touch-action:pan-y;
  background:var(--bronze-pale)
}
.lb-image img {
  object-fit:cover;
  pointer-events:none
}
.lb-caps {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:1.5rem;
  width:100%;
  color:var(--ink);
  letter-spacing:.22em;
  text-transform:uppercase;
  font-size:.62rem;
  font-weight:400
}
.lb-kicker,.lb-title {
  min-width:0
}
.lb-title {
  text-align:right
}
.lb-nav {
  flex:0 0 auto;
  color:var(--ink);
  cursor:pointer;
  width:56px;
  height:56px;
  border-radius:50%;
  border:1px solid var(--ink);
  background:var(--bone);
  padding:0;
  place-items:center;
  display:grid;
  transition:background .3s var(--ease),color .3s var(--ease)
}
.lb-nav svg {
  width:22px;
  height:22px
}
.lb-nav:hover {
  background:var(--ink);
  color:var(--bone)
}
.lb-strip {
  display:flex;
  justify-content:flex-start;
  gap:.55rem;
  width:min(100%,1320px);
  max-width:100%;
  overflow-x:auto;
  padding:.15rem 0 .35rem;
  scrollbar-width:none
}
.lb-strip::-webkit-scrollbar {
  display:none
}
.lb-thumb {
  position:relative;
  flex:0 0 76px;
  width:76px;
  height:50px;
  border:0;
  padding:0;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  opacity:.72;
  background:var(--bronze-pale)
}
.lb-thumb img {
  object-fit:cover
}
.lb-thumb.is-active {
  opacity:1;
  box-shadow:0 0 0 1px var(--ink)
}
@media (max-width:900px) {
  .lightbox {
    padding:4.2rem .7rem 1rem;
    gap:.85rem
  }
  .lb-stage {
    gap:.35rem
  }
  .lb-figure {
    max-width:min(78vw,640px)
  }
  .lb-image {
    max-height:min(52vh,460px);
    border-radius:20px
  }
  .lb-nav {
    width:46px;
    height:46px
  }
  .lb-caps {
    font-size:.52rem;
    letter-spacing:.16em;
    gap:.8rem
  }
  .lb-thumb {
    flex-basis:58px;
    width:58px;
    height:38px;
    border-radius:6px
  }
  
}
@media (max-width:700px) {
  .lightbox {
    padding:3.6rem .45rem .85rem
  }
  .lb-figure {
    max-width:min(70vw,520px)
  }
  .lb-image {
    max-height:min(48vh,380px);
    border-radius:16px
  }
  .lb-nav {
    width:42px;
    height:42px
  }
  .lb-strip {
    display:none
  }
  
}
.modal {
  z-index:1200;
  -webkit-backdrop-filter:blur(4px);
  backdrop-filter:blur(4px);
  animation:modal-fade .2s var(--ease);
  background:#0a0f14ad;
  place-items:center;
  padding:clamp(.75rem,3vw,2rem);
  display:grid;
  position:fixed;
  inset:0;
  overscroll-behavior:none
}
body[data-scroll-lock="1"],html:has(body[data-scroll-lock="1"]) {
  overflow:hidden;
  overscroll-behavior:none
}
body:has(.lightbox:not([hidden])) .chatbox,body:has(.lightbox:not([hidden])) .fab-stack,body:has(.lightbox:not([hidden])) .sticky-bar,body:has(.modal:not([hidden])) .chatbox,body:has(.modal:not([hidden])) .fab-stack,body:has(.modal:not([hidden])) .sticky-bar {
  visibility:hidden;
  pointer-events:none
}
@keyframes modal-fade {
  0% {
    opacity:0
  }
  
}
.modal-panel {
  background:var(--bone);
  width:min(560px,100%);
  max-height:calc(100svh - 2rem);
  animation:none;
  padding:clamp(1.75rem,4vw,2.75rem);
  position:relative;
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch
}
.modal-close {
  cursor:pointer;
  color:var(--fg-muted);
  background:0 0;
  border:0;
  place-items:center;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px;
  font-size:2rem;
  line-height:1;
  display:grid;
  position:absolute;
  top:.55rem;
  right:.45rem;
  z-index:5
}
.modal-close:hover {
  color:var(--ink)
}
.modal-title {
  margin-bottom:.6rem
}
.modal-blurb {
  font-size:var(--step-0);
  margin-bottom:1.75rem
}
.lead-brand {
  display:flex;
  justify-content:flex-start;
  margin:0 0 .85rem
}
.lead-brand img {
  display:block;
  height:72px;
  width:auto;
  max-width:168px;
  object-fit:contain
}
.form-panel .lead-brand {
  margin-right:0;
  margin-bottom:.85rem
}
.lead-form {
  grid-gap:1.15rem;
  gap:1.15rem;
  display:grid
}
.field {
  grid-gap:.4rem;
  gap:.4rem;
  display:grid
}
.field-row {
  grid-template-columns:1fr 1fr;
  grid-gap:1.15rem;
  gap:1.15rem;
  display:grid
}
@media (max-width:480px) {
  .field-row {
    grid-template-columns:1fr
  }
  
}
.chips legend,.lead-form label {
  font-size:var(--step--1);
  text-transform:uppercase;
  color:var(--bronze)
}
.modal-kicker {
  font-family:var(--font-sans);
  font-size:.68rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--bronze);
  margin:0 0 .55rem;
  font-weight:400
}
.lead-form input[type=email],.lead-form input[type=tel],.lead-form input[type=text],.lead-form select,.lead-form textarea {
  background:var(--paper);
  border:1px solid var(--line);
  width:100%;
  font-size:max(16px,var(--step-0));
  transition:border-color .3s var(--ease);
  border-radius:0;
  min-height:48px;
  padding:.85em 1em
}
.lead-form input:focus,.lead-form select:focus,.lead-form textarea:focus {
  border-color:var(--bronze);
  outline:none
}
.lead-form input[aria-invalid=true] {
  border-color:#a4402f
}
.chips {
  border:0;
  grid-gap:.55rem;
  gap:.55rem;
  margin:0;
  padding:0;
  display:grid
}
.chips legend {
  margin-bottom:.15rem;
  padding:0
}
.chips {
  flex-wrap:wrap;
  gap:.5rem;
  display:flex
}
.chips legend {
  flex-basis:100%
}
.chip {
  position:relative
}
.chip input {
  opacity:0;
  width:0;
  height:0;
  position:absolute
}
.chip span {
  border:1px solid var(--line);
  font-size:var(--step--1);
  letter-spacing:.08em;
  cursor:pointer;
  transition:all .25s var(--ease);
  min-height:40px;
  padding:.6em 1.1em;
  line-height:1.6;
  display:inline-block
}
.chip input:checked+span {
  background:var(--ink);
  border-color:var(--ink);
  color:var(--bone)
}
.chip input:focus-visible+span {
  outline:2px solid var(--bronze);
  outline-offset:2px
}
.err {
  color:#a4402f;
  font-size:var(--step--1);
  letter-spacing:0;
  text-transform:none
}
.err-block {
  background:#f6e9e6;
  border-left:2px solid #a4402f;
  padding:.75rem 1rem
}
.fineprint {
  color:var(--fg-muted);
  margin:0;
  font-size:.72rem;
  line-height:1.55
}
.fineprint a {
  border-bottom:1px solid var(--line)
}
.fineprint a:hover {
  color:var(--bronze)
}
.hp {
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  border:0
}
.lead-success {
  grid-gap:1.1rem;
  gap:1.1rem;
  display:grid
}
.dl-list {
  grid-gap:.5rem;
  gap:.5rem;
  margin:.5rem 0;
  display:grid
}
.dl-item {
  background:var(--paper);
  border:1px solid var(--line-soft);
  transition:border-color .3s var(--ease);
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  min-height:48px;
  padding:.95rem 1.1rem;
  display:flex
}
.dl-item:hover {
  border-color:var(--bronze)
}
.dl-text {
  grid-gap:.15rem;
  gap:.15rem;
  display:grid
}
.dl-text strong {
  font-weight:400;
  font-size:var(--step-0)
}
.dl-text em {
  color:var(--fg-muted);
  letter-spacing:.04em;
  font-size:.72rem;
  font-style:normal
}
.form-panel {
  background:var(--paper);
  border:1px solid var(--line-soft);
  padding:clamp(1.5rem,3.5vw,2.75rem)
}
.faq {
  border-top:1px solid var(--line)
}
.faq-item {
  border-bottom:1px solid var(--line-soft)
}
.faq-item summary {
  cursor:pointer;
  font-family:var(--font-display);
  font-size:var(--step-1);
  justify-content:space-between;
  align-items:center;
  gap:1.5rem;
  padding:1.4rem max(0px, calc(var(--fab-inset) - var(--gutter) + 1.35rem)) 1.4rem 0;
  line-height:1.3;
  list-style:none;
  display:flex
}
.faq-item summary::-webkit-details-marker {
  display:none
}
.faq-item summary svg {
  color:var(--bronze);
  transition:transform .35s var(--ease);
  flex-shrink:0
}
.faq-item[open] summary svg {
  transform:rotate(45deg)
}
.faq-answer {
  max-width:var(--measure);
  color:var(--fg-muted);
  padding-bottom:1.5rem
}
.site-footer {
  background:var(--ink);
  color:#f6f3eed1;
  font-size:var(--step--1);
  padding-block:clamp(3.5rem,7vw,6rem) clamp(5rem,7vw,3rem)
}
.footer-top {
  border-bottom:1px solid #f6f3ee29;
  grid-template-columns:1.4fr 1fr 1fr;
  grid-gap:clamp(2rem,5vw,4rem);
  gap:clamp(2rem,5vw,4rem);
  padding-bottom:clamp(2.5rem,5vw,3.5rem);
  display:grid
}
@media (max-width:800px) {
  .footer-top {
    grid-template-columns:1fr
  }
  
}
.site-footer .brand-name {
  color:var(--bone);
  font-size:1.4rem;
  display:block
}
.site-footer .brand-sub {
  color:var(--bronze-light);
  display:block
}
.footer-address {
  margin-top:1.25rem;
  font-style:normal;
  line-height:1.8
}
.footer-h {
  font-family:var(--font-sans);
  font-size:var(--step--1);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bronze-light);
  margin:0 0 1.1rem;
  font-weight:400
}
.footer-contact,.footer-nav {
  flex-direction:column;
  align-items:flex-start;
  gap:.7rem;
  display:flex
}
.footer-contact a,.footer-nav a {
  transition:border-color .3s var(--ease);
  border-bottom:1px solid #0000
}
.footer-contact a:hover,.footer-nav a:hover {
  border-bottom-color:var(--bronze-light);
  color:var(--bone)
}
.footer-advisor {
  font-size:.78rem;
  letter-spacing:.02em;
  color:rgba(245,237,224,.68);
  margin:0 0 .35rem;
  font-weight:400
}
.footer-legal {
  border-bottom:1px solid #f6f3ee29;
  grid-gap:.9rem;
  gap:.9rem;
  padding-block:clamp(2rem,4vw,2.75rem);
  padding-right:max(var(--gutter), calc(var(--fab-inset) + 1.35rem));
  display:grid
}
.footer-legal p {
  color:#f6f3ee8c;
  margin:0;
  font-size:.68rem;
  line-height:1.65
}
.footer-legal .upper {
  font-size:.64rem
}
.footer-bottom {
  color:#f6f3ee8c;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem;
  padding-top:1.75rem;
  display:flex
}
.footer-bottom p {
  margin:0
}
.footer-links {
  gap:.6rem;
  display:flex
}
.footer-links a:hover {
  color:var(--bone)
}
.page-end-links {
  font-size:var(--step--1);
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-top:2rem
}
.page-end-links a {
  border-bottom:1px solid #f6f3ee59
}
.page-end-links a:hover {
  border-bottom-color:var(--bronze-light)
}
.prose {
  max-width:var(--measure)
}
.prose h2 {
  font-size:var(--step-2);
  margin-top:2.75rem;
  margin-bottom:1rem
}
.prose h3 {
  font-size:var(--step-1);
  margin-top:2rem;
  margin-bottom:.6rem
}
.prose ul {
  margin-bottom:1.1em;
  padding-left:1.2rem
}
.prose li {
  margin-bottom:.5rem
}
.prose a {
  border-bottom:1px solid var(--line)
}
.prose a:hover {
  color:var(--bronze)
}
@media (max-width:640px) {
  .hero {
    min-height:100svh;
    min-height:var(--hero-height);
    height:100svh;
    height:var(--hero-height)
  }
  .hero-inner {
    padding-bottom:var(--hero-inner-pad-bottom);
    padding-top:var(--hero-copy-offset);
    padding-right:4.35rem
  }
  .hero h1,.hero-title {
    max-width:var(--hero-title-maxw);
    font-size:var(--hero-title-size);
    margin:0 0 .5rem;
    line-height:1.05
  }
  .hero-eyebrow {
    letter-spacing:.2em;
    margin-bottom:.35rem;
    font-size:.58rem
  }
  .hero-sub {
    max-width:28ch;
    margin-bottom:.7rem;
    font-size:var(--hero-sub-size);
    line-height:1.45
  }
  .hero-sub-full {
    display:none
  }
  .hero-sub-short {
    display:inline
  }
  .hero,.hero>.hero-inner {
    height:100svh;
    height:var(--hero-height);
    min-height:100svh;
    min-height:var(--hero-height)
  }
  .hero>.hero-inner {
    padding-top:var(--hero-copy-offset);
    padding-bottom:var(--hero-inner-pad-bottom);
    padding-right:4.35rem
  }
  .hero-ctas {
    gap:var(--hero-cta-gap);
    flex-wrap:wrap
  }
  .hero-ctas .cta-long {
    display:inline
  }
  .hero-ctas .cta-short {
    display:none
  }
  .hero-ctas .btn {
    width:auto;
    flex:0 1 auto;
    min-height:32px;
    padding:.38em .72em;
    font-size:.5rem;
    letter-spacing:.1em
  }
  .hero-dots {
    bottom:1.15rem;
    gap:.4rem
  }
  .hero-dot {
    width:18px
  }
  .hero-slide-label {
    display:none
  }
  .page-hero h1 {
    font-size:clamp(2rem,9vw,2.6rem)
  }
  .page-hero .hero-sub {
    font-size:.95rem;
    min-height:0
  }
  
}
.sticky-bar {
  z-index:500;
  padding:.9rem 3.5rem calc(1.05rem + env(safe-area-inset-bottom, 0px)) 1.9rem;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  border-top:1px solid var(--line);
  transition:transform .45s var(--ease),padding-bottom .45s var(--ease);
  background:#18233af7;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
  display:flex;
  position:fixed;
  bottom:0;
  left:0;
  right:0;
  transform:translateY(100%)
}
.sticky-bar.visible {
  transform:translateY(0)
}
.sticky-bar-text {
  color:#f5ede0b8;
  flex-wrap:wrap;
  align-items:baseline;
  gap:.7rem;
  font-size:.8rem;
  display:flex
}
.sticky-bar-text strong {
  font-family:var(--font-sans);
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--bronze);
  font-size:.66rem;
  font-weight:500
}
.sticky-bar-ctas {
  flex-wrap:wrap;
  align-items:center;
  gap:.75rem;
  display:flex
}
.nav-cta,.sticky-bar-cta {
  background:var(--bronze);
  color:var(--white);
  cursor:pointer;
  font-family:var(--font-sans);
  letter-spacing:.2em;
  text-transform:uppercase;
  min-height:44px;
  transition:background .3s var(--ease);
  border:none;
  align-items:center;
  gap:.5rem;
  padding:.75rem 1.5rem;
  font-size:.66rem;
  font-weight:500;
  animation:ctaPulse 2.8s ease-in-out infinite;
  display:inline-flex;
  position:relative;
  overflow:hidden
}
.nav-cta:before,.sticky-bar-cta:before {
  content:"";
  pointer-events:none;
  background:linear-gradient(90deg,#0000,#ffffff61,#0000);
  width:60%;
  height:100%;
  animation:ctaShimmer 2.8s ease-in-out infinite;
  position:absolute;
  top:0;
  left:-100%
}
.nav-cta>*,.sticky-bar-cta>* {
  z-index:1;
  position:relative
}
.nav-cta:hover,.sticky-bar-cta:hover {
  background:var(--bronze-light);
  animation:none;
  box-shadow:0 6px 28px #9a784899
}
@keyframes ctaPulse {
  0%,to {
    box-shadow:0 0 #9a784880
  }
  50% {
    box-shadow:0 0 0 10px #9a784800
  }
  
}
@keyframes ctaShimmer {
  0% {
    left:-100%
  }
  55%,to {
    left:160%
  }
  
}
.sticky-bar-close {
  color:#f5ede080;
  cursor:pointer;
  background:0 0;
  border:none;
  width:44px;
  height:44px;
  font-size:1.4rem;
  line-height:1;
  position:absolute;
  top:.9rem;
  right:.65rem
}
.sticky-bar-close:hover {
  color:var(--bone)
}
@media (max-width:900px) {
  .sticky-bar {
    gap:.7rem;
    padding:.95rem 3rem calc(1.2rem + env(safe-area-inset-bottom, 0px)) .9rem
  }
  .sticky-bar-text {
    display:none
  }
  .sticky-bar-ctas {
    flex-wrap:nowrap;
    flex:100% 1;
    align-items:stretch;
    gap:.6rem;
    width:100%
  }
  .sticky-bar-cta {
    letter-spacing:.08em;
    text-align:center;
    flex:1 1;
    justify-content:center;
    gap:.35rem;
    min-width:0;
    padding:.75rem .4rem;
    font-size:.58rem
  }
  .sticky-bar-cta span {
    white-space:nowrap
  }
  
}
.fab-stack {
  z-index:950;
  transition:bottom .45s var(--ease);
  flex-direction:column;
  align-items:flex-end;
  gap:.75rem;
  display:flex;
  position:fixed;
  bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px));
  right:max(1.15rem,env(safe-area-inset-right,0px));
  left:auto;
  top:auto
}
body.sticky-on .fab-stack {
  bottom:calc(7.25rem + env(safe-area-inset-bottom, 0px))
}
@media (max-width:900px) {
  body.sticky-on .fab-stack {
    bottom:calc(8.5rem + env(safe-area-inset-bottom, 0px))
  }
  
}
.fab-round {
  cursor:pointer;
  width:54px;
  height:54px;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease);
  border:none;
  border-radius:50%;
  justify-content:center;
  align-items:center;
  display:flex;
  position:relative
}
.fab-round:focus-visible,.fab-round:hover {
  animation:none;
  transform:scale(1.08)
}
.fab-round svg {
  display:block
}
.fab-tip {
  white-space:nowrap;
  color:var(--bone);
  letter-spacing:.18em;
  text-transform:uppercase;
  opacity:0;
  pointer-events:none;
  transition:opacity .3s var(--ease);
  background:#18233af2;
  padding:.45rem .8rem;
  font-size:.6rem;
  position:absolute;
  top:50%;
  right:calc(100% + .7rem);
  transform:translateY(-50%)
}
.fab-round:focus-visible .fab-tip,.fab-round:hover .fab-tip,.fab-stack.tips-on .fab-tip {
  opacity:1
}
.fab-wa {
  background:#25d366;
  animation:fabPulseGreen 1.8s ease-in-out infinite
}
.fab-call {
  background:var(--champagne)
}
.fab-call,.fab-chat {
  animation:fabPulseGold 1.8s ease-in-out infinite
}
.fab-chat {
  background:var(--ink);
  border:1px solid rgba(154,120,72,.45)
}
.fab-chat:hover {
  background:var(--ink-soft)
}
@keyframes fabPulseGold {
  0%,to {
    box-shadow:0 4px 14px rgba(154,120,72,.28);
    transform:scale(1);
    opacity:1
  }
  50% {
    box-shadow:0 8px 22px rgba(154,120,72,.42),0 0 0 7px rgba(154,120,72,.12);
    transform:scale(1.04);
    opacity:.92
  }
  
}
@keyframes fabPulseGreen {
  0%,to {
    box-shadow:0 4px 14px rgba(37,211,102,.28);
    transform:scale(1);
    opacity:1
  }
  50% {
    box-shadow:0 8px 22px rgba(37,211,102,.42),0 0 0 7px rgba(37,211,102,.14);
    transform:scale(1.04);
    opacity:.92
  }
  
}
@media (max-width:700px) {
  .fab-round {
    width:48px;
    height:48px
  }
  .fab-tip {
    display:none
  }
  
}
.chatbox {
  z-index:949;
  background:var(--paper);
  border:1px solid var(--line);
  width:min(320px,100vw - 2.8rem);
  transition:bottom .45s var(--ease);
  display:none;
  position:fixed;
  bottom:calc(1.35rem + env(safe-area-inset-bottom, 0px) + 200px);
  right:max(1.15rem,env(safe-area-inset-right,0px));
  box-shadow:0 24px 60px #18233a47
}
.chatbox.open {
  display:block
}
body.sticky-on .chatbox {
  bottom:calc(7.25rem + env(safe-area-inset-bottom, 0px) + 200px)
}
.chat-head {
  background:var(--ink);
  color:var(--bone);
  align-items:center;
  gap:.75rem;
  padding:.9rem 1rem;
  display:flex;
  position:relative
}
.chat-av {
  background:var(--bronze);
  width:38px;
  height:38px;
  color:var(--white);
  letter-spacing:.1em;
  border-radius:50%;
  flex-shrink:0;
  place-items:center;
  font-size:.75rem;
  display:grid
}
.chat-name {
  letter-spacing:.06em;
  font-size:.78rem
}
.chat-status {
  color:var(--bronze-light);
  margin-top:.15rem;
  font-size:.62rem
}
.chat-x {
  color:#f5ede099;
  cursor:pointer;
  background:0 0;
  border:none;
  width:36px;
  height:36px;
  font-size:1.3rem;
  position:absolute;
  top:50%;
  right:.5rem;
  transform:translateY(-50%)
}
.chat-x:hover {
  color:var(--bone)
}
.chat-body {
  padding:1rem
}
.chat-msg {
  color:var(--ink-muted);
  margin-bottom:.9rem;
  font-size:.84rem;
  line-height:1.65
}
.chat-chips {
  flex-wrap:wrap;
  gap:.5rem;
  display:flex
}
.chat-chip {
  letter-spacing:.1em;
  border:1px solid var(--line);
  color:var(--bronze);
  cursor:pointer;
  transition:background .3s var(--ease),color .3s var(--ease);
  font-size:.66rem;
  font-family:var(--font-sans);
  background:0 0;
  min-height:38px;
  padding:.55rem .9rem
}
.chat-chip:hover {
  background:var(--bronze);
  color:#fff
}
@media (max-width:700px) {
  .chatbox {
    bottom:calc(1.5rem + env(safe-area-inset-bottom, 0px) + 180px)
  }
  body.sticky-on .chatbox {
    bottom:calc(8.5rem + env(safe-area-inset-bottom, 0px) + 180px)
  }
  
}
.residences-grid {
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  grid-gap:1.15rem;
  gap:1.15rem;
  margin-top:1.8rem;
  display:grid;
  padding-right:max(0px,calc(var(--fab-inset) + .35rem - var(--gutter)))
}
@media (min-width:1100px) {
  .residences-grid.is-featured {
    grid-template-columns:repeat(5,minmax(0,1fr))
  }
  
}
@media (max-width:1099px) and (min-width:700px) {
  .residences-grid.is-featured {
    grid-template-columns:repeat(2,1fr)
  }
  
}
@media (max-width:420px) {
  .residences-grid {
    grid-template-columns:1fr
  }
  
}
@media (max-width:700px) {
  .residences-grid {
    padding-right:0
  }
  
}
.res-card {
  cursor:pointer;
  background:var(--white);
  border:1px solid var(--line-soft);
  transition:transform .5s var(--ease),box-shadow .5s var(--ease),border-color .5s var(--ease);
  flex-direction:column;
  display:flex;
  min-width:0
}
.res-card:hover {
  border-color:var(--line);
  transform:translateY(-6px);
  box-shadow:0 26px 60px #18233a24
}
.res-media {
  background:var(--ink);
  position:relative;
  overflow:hidden
}
.res-media .media {
  aspect-ratio:16/10;
  width:100%;
  min-height:0
}
.res-media img {
  transition:transform 1.1s var(--ease)
}
.res-card:hover .res-media img {
  transform:scale(1.05)
}
.res-badges {
  z-index:2;
  flex-wrap:wrap;
  gap:.45rem;
  display:flex;
  position:absolute;
  top:1rem;
  left:1rem
}
.res-badge {
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bone);
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  background:#18233ab8;
  padding:.4rem .75rem;
  font-size:.56rem
}
.res-badge-sale {
  background:var(--bronze);
  color:var(--white)
}
.res-body {
  flex-direction:column;
  flex:1 1;
  padding:1.05rem 1.1rem .9rem;
  display:flex
}
.res-price {
  font-family:var(--font-display);
  color:var(--ink);
  font-size:1.45rem;
  font-weight:400;
  line-height:1
}
.res-address {
  letter-spacing:.2em;
  color:var(--bronze);
  margin-top:.45rem
}
.res-address,.res-specs {
  text-transform:uppercase;
  font-size:.6rem
}
.res-specs {
  letter-spacing:.12em;
  color:var(--ink-muted);
  flex-wrap:wrap;
  align-items:center;
  gap:.35rem;
  margin-top:.55rem;
  display:flex
}
.res-specs .dot {
  color:var(--bronze);
  opacity:.6
}
.res-sf {
  color:var(--ink-muted);
  border-top:1px solid var(--line-soft);
  margin-top:.9rem;
  padding-top:.9rem;
  font-size:.82rem
}
.res-sf b {
  color:var(--ink);
  font-weight:500
}
.res-outlook {
  color:var(--bronze);
  letter-spacing:.08em;
  margin-top:.35rem;
  font-size:.72rem;
  display:block
}
.res-links {
  flex-wrap:wrap;
  align-items:center;
  gap:.45rem;
  margin-top:.75rem;
  display:flex
}
.res-link {
  letter-spacing:.16em;
  text-transform:uppercase;
  border:1px solid var(--line);
  color:var(--bronze);
  cursor:pointer;
  font-size:.52rem;
  font-family:var(--font-sans);
  transition:background .3s var(--ease),color .3s var(--ease);
  background:0 0;
  align-items:center;
  min-height:32px;
  padding:.35rem .7rem;
  display:inline-flex
}
.res-link:hover {
  background:var(--bronze);
  color:var(--white)
}
.res-footer {
  justify-content:space-between;
  align-items:center;
  margin-top:auto;
  padding-top:.75rem;
  display:flex
}
.res-brand {
  font-family:var(--font-display);
  letter-spacing:.12em;
  color:var(--ink);
  font-size:1rem;
  align-items:center;
  gap:.55rem;
  display:inline-flex;
  min-width:0
}
.res-mark {
  display:block;
  height:22px;
  width:auto;
  object-fit:contain
}
.res-brand-name {
  white-space:nowrap;
  font-size:.82rem
}
.res-brand-name {
  display:none
}
.res-cta {
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bronze);
  cursor:pointer;
  font-size:.62rem;
  font-family:var(--font-sans);
  background:0 0;
  border:none;
  min-height:40px;
  white-space:nowrap;
  flex-shrink:0
}
.res-cta:hover {
  color:var(--ink)
}
@media (max-width:720px) {
  .res-media .media {
    aspect-ratio:16/10
  }
  .res-badges {
    top:.7rem;
    left:.7rem;
    gap:.3rem
  }
  .res-badge {
    padding:.28rem .55rem;
    font-size:.5rem
  }
  .res-body {
    padding:1.05rem 1rem .95rem
  }
  .res-price {
    font-size:1.45rem
  }
  .res-address {
    margin-top:.45rem;
    font-size:.58rem
  }
  .res-specs {
    margin-top:.5rem;
    font-size:.58rem;
    gap:.3rem
  }
  .res-sf {
    margin-top:.55rem;
    padding-top:.55rem;
    font-size:.74rem
  }
  .res-links {
    margin-top:.7rem;
    gap:.4rem
  }
  .res-link {
    min-height:32px;
    padding:.4rem .75rem;
    font-size:.52rem
  }
  .res-footer {
    padding-top:.75rem
  }
  .res-mark {
    height:18px
  }
  .res-brand-name {
    font-size:.85rem
  }
  .res-cta {
    min-height:32px;
    font-size:.56rem
  }
  
}
body.sticky-on .site-footer {
  padding-bottom:calc(7.5rem + env(safe-area-inset-bottom, 0px))
}
.expand-row {
  justify-content:center;
  margin-top:2.5rem;
  display:flex
}
.expand-row .btn {
  min-width:min(320px,100%)
}
.gallery-card {
  border-top:1px solid var(--line);
  margin-top:2.5rem;
  padding-top:1.5rem
}
.gallery-card address {
  margin-top:.6rem;
  font-style:normal;
  line-height:1.9
}
.plan-grid {
  grid-template-columns:repeat(2,1fr);
  grid-gap:2rem;
  gap:2rem;
  margin-top:2.5rem;
  display:grid
}
@media (max-width:720px) {
  .plan-grid {
    grid-template-columns:1fr
  }
  
}
.plan-preview {
  background:var(--white);
  border:1px solid var(--line-soft);
  flex-direction:column;
  gap:1rem;
  padding:clamp(.9rem,2vw,1.4rem);
  display:flex
}
.plan-preview-media {
  background:#fff;
  aspect-ratio:1600/1035;
  position:relative;
  overflow:hidden
}
.plan-preview-open {
  cursor:zoom-in;
  background:0 0;
  border:0;
  padding:0;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  z-index:1
}
.plan-preview-media .media,.plan-preview-open .media {
  position:absolute;
  inset:0;
  min-height:0;
  height:100%;
  width:100%;
  aspect-ratio:auto
}
.plan-lightbox-panel img,.plan-preview-media img,.plan-preview-open img {
  object-fit:contain!important;
  object-position:center center
}
.plan-lightbox {
  padding:clamp(.5rem,2vw,1.25rem);
  align-items:center
}
.plan-lightbox-panel {
  position:relative;
  width:min(1180px,100%);
  height:min(92svh,920px);
  background:#fff;
  padding:3.2rem 1.2rem 1.2rem;
  display:flex;
  align-items:center;
  justify-content:center
}
.plan-lightbox-img {
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  object-position:center
}
.plan-preview figcaption strong {
  font-family:var(--font-display);
  font-size:var(--step-1);
  color:var(--ink);
  margin-bottom:.6rem;
  font-weight:400;
  display:block
}
.plan-preview .res-link {
  margin-top:.85rem
}
.modal-panel-slim {
  width:min(460px,100%)
}
.nl-panel {
  padding:0;
  overflow:hidden
}
.nl-panel .modal-close {
  color:var(--white);
  z-index:3
}
.nl-panel .modal-close:hover {
  color:var(--bone)
}
.nl-media {
  aspect-ratio:16/9;
  background:var(--ink);
  position:relative;
  overflow:hidden
}
.nl-media .media {
  position:absolute;
  inset:0;
  min-height:0;
  height:100%;
  aspect-ratio:auto
}
.nl-media picture {
  width:100%;
  height:100%;
  display:block
}
.nl-media img {
  object-fit:cover;
  width:100%;
  height:100%
}
.nl-media:after {
  content:"";
  background:linear-gradient(#080c1147,#080c110f 55%,#faf7f2e6);
  position:absolute;
  inset:0
}
.nl-body {
  padding:clamp(1.5rem,4vw,2.25rem)
}
.nl-body .lead-brand {
  margin:0 auto .65rem
}
.nl-body .modal-title {
  font-size:var(--step-2);
  margin-bottom:.5rem
}
.nl-dismiss {
  cursor:pointer;
  width:100%;
  color:var(--fg-muted);
  letter-spacing:.14em;
  text-transform:uppercase;
  background:0 0;
  border:0;
  min-height:40px;
  padding:.5rem;
  font-size:.72rem;
  display:block
}
.nl-dismiss:hover {
  color:var(--ink)
}
@media (max-width:560px) {
  .nl-media {
    aspect-ratio:16/10
  }
  
}
@media (max-width:900px) {
  .brand-lockup {
    height:50px
  }
  
}
@media (max-width:640px) {
  .header-inner {
    gap:.45rem;
    padding-inline:.85rem 1.15rem
  }
  .site-header .header-cta {
    letter-spacing:.12em;
    white-space:nowrap;
    min-height:44px;
    padding:.55rem 1rem;
    font-size:.62rem;
    display:inline-flex;
    flex-shrink:0;
    margin-right:.2rem
  }
  .header-actions {
    gap:.55rem;
    flex-shrink:0
  }
  .brand {
    max-width:calc(100vw - 12.5rem);
    -webkit-margin-start:.65rem;
    margin-inline-start:.65rem
  }
  .brand-lockup {
    height:52px
  }
  .burger {
    width:50px;
    height:50px;
    flex-shrink:0
  }
  .burger span {
    width:24px;
    height:2px
  }
  .site-header.is-open .burger span:first-child {
    transform:translateY(8px)rotate(45deg)
  }
  .site-header.is-open .burger span:nth-child(3) {
    transform:translateY(-8px)rotate(-45deg)
  }
  
}
.phone-row {
  grid-template-columns:4.6rem 1fr;
  grid-gap:.4rem;
  gap:.4rem;
  display:grid
}
.phone-dial-wrap {
  position:relative
}
.lead-form {
  gap:.8rem
}
.field {
  gap:.3rem
}
.field-row {
  gap:.7rem
}
.chips legend,.lead-form label {
  letter-spacing:.16em;
  font-size:.62rem
}
.lead-form input[type=email],.lead-form input[type=tel],.lead-form input[type=text],.lead-form select,.lead-form textarea {
  min-height:44px;
  padding:.6em .8em
}
.lead-form textarea {
  min-height:76px
}
.chip-row {
  grid-template-columns:1fr auto;
  align-items:start;
  grid-gap:.8rem 1.1rem;
  gap:.8rem 1.1rem;
  display:grid;
  overflow:visible
}
.contact-row {
  grid-template-columns:1fr 1fr;
  overflow:visible
}
@media (max-width:560px) {
  .chip-row,.contact-row,.lead-form.is-compact .chip-row,.lead-form.is-compact .contact-row,.lead-form.is-compact .field-row.contact-row {
    grid-template-columns:1fr
  }
  
}
.chips {
  gap:.35rem
}
.chips legend {
  margin-bottom:.35rem
}
.chip span {
  letter-spacing:.06em;
  min-height:34px;
  padding:.45em .75em;
  font-size:.62rem;
  line-height:1.9
}
.modal-panel {
  padding:clamp(1.4rem,3vw,2rem)
}
.modal-title {
  font-size:var(--step-2);
  margin-bottom:.4rem
}
.modal-blurb {
  margin-bottom:1.1rem;
  font-size:.86rem;
  line-height:1.5
}
.fineprint {
  font-size:.66rem
}
.phone-dial {
  background:var(--paper);
  border:1px solid var(--line);
  width:100%;
  height:100%;
  min-height:44px;
  color:var(--ink);
  font-family:var(--font-sans);
  font-size:max(16px,var(--step-0));
  cursor:pointer;
  text-align:left;
  justify-content:space-between;
  align-items:center;
  gap:.3rem;
  padding:.6em;
  display:inline-flex
}
.phone-dial:hover {
  border-color:var(--bronze)
}
.phone-dial svg {
  color:var(--ink-muted);
  flex-shrink:0
}
.dial-menu {
  z-index:20;
  background:var(--white);
  border:1px solid var(--line);
  width:min(280px,78vw);
  max-height:260px;
  margin:0;
  padding:.3rem;
  list-style:none;
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  overflow-y:auto;
  box-shadow:0 18px 44px #18233a2e
}
.dial-menu li {
  margin:0
}
.dial-menu button {
  cursor:pointer;
  text-align:left;
  width:100%;
  font-family:var(--font-sans);
  color:var(--ink);
  background:0 0;
  border:0;
  grid-template-columns:3.4rem 1fr;
  align-items:baseline;
  grid-gap:.5rem;
  gap:.5rem;
  min-height:38px;
  padding:.5rem .6rem;
  font-size:.85rem;
  display:grid
}
.dial-menu button:focus-visible,.dial-menu button:hover {
  background:var(--bone-warm)
}
.dial-code,.dial-menu button.is-selected {
  color:var(--bronze)
}
.dial-code {
  font-feature-settings:"tnum";
  font-variant-numeric:tabular-nums
}
.dial-name {
  color:var(--ink-muted)
}
.slot {
  background:radial-gradient(120% 80% at 20% 10%,#d4ae7a33 0,transparent 55%),linear-gradient(160deg,#221a13,#18233a 55%,#3a2d22);
  color:var(--bone);
  width:100%;
  height:100%;
  min-height:inherit;
  display:grid;
  place-items:center;
  text-align:center;
  padding:1.5rem;
  position:relative;
  overflow:hidden
}
.slot:before {
  content:"";
  position:absolute;
  inset:12% 18%;
  border:1px solid #9a784855
}
.slot-kicker {
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--bronze-light);
  font-size:.62rem;
  margin-bottom:.6rem
}
.slot-title {
  font-family:var(--font-display);
  font-size:clamp(1.1rem,2.4vw,1.7rem);
  font-weight:300;
  letter-spacing:.02em;
  max-width:18ch
}
.slot-note {
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#f5ede099;
  font-size:.58rem;
  margin-top:.85rem
}
.quote {
  font-family:var(--font-display);
  font-size:var(--step-2);
  font-style:italic;
  line-height:1.35;
  color:var(--ink);
  margin:0;
  max-width:42ch
}
.quote cite {
  display:block;
  font-size:var(--step--1);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--bronze);
  margin-top:1.2rem
}
.quote cite,.section-dark .quote {
  font-family:var(--font-sans);
  font-style:normal
}
.section-dark .quote {
  font-size:var(--step-0);
  line-height:1.75;
  color:#b9c0c7;
  max-width:none;
  margin:2.5rem 0 0;
  padding-left:1.5rem;
  border-left:1px solid var(--bronze)
}
.section-dark .quote cite {
  color:var(--bronze-light)
}
.asset-missing {
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--bronze);
  font-size:.62rem;
  margin-top:.4rem;
  display:block
}
.contact-dl {
  display:grid;
  grid-gap:1.4rem;
  gap:1.4rem
}
.contact-dl dt {
  font-size:var(--step--1);
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--bronze);
  margin-bottom:.35rem
}
.contact-dl dd {
  margin:0
}
.contact-dl a {
  border-bottom:1px solid var(--line)
}
.contact-dl a:hover {
  color:var(--bronze)
}
.map-embed {
  border:1px solid var(--line-soft);
  background:var(--ink);
  min-height:360px;
  position:relative;
  overflow:hidden
}
.map-embed iframe {
  width:100%;
  height:100%;
  min-height:360px;
  border:0;
  filter:grayscale(.35) contrast(1.05)
}
.gated-note {
  font-size:var(--step--1);
  color:var(--fg-muted);
  margin-top:.6rem
}
h2 em,h3 em {
  font-style:italic;
  color:var(--bronze);
  font-weight:300
}
.section-dark h2 em,.section-dark h3 em,.tour-band h2 em {
  color:var(--bronze-light)
}
.gold-rule {
  width:56px;
  height:1px;
  background:var(--bronze);
  margin:1.6rem 0
}
.center .gold-rule {
  margin-left:auto;
  margin-right:auto
}
.image-band {
  position:relative;
  overflow:hidden
}
.image-band .media {
  aspect-ratio:21/9;
  min-height:min(58vh,640px)
}
.visionaries-block {
  margin-top:4.5rem
}
.visionaries-block .eyebrow {
  text-align:center
}
.visionaries {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-gap:0;
  gap:0;
  background:transparent;
  margin-top:1.6rem;
  border:1px solid var(--line-soft)
}
.vis-card {
  background:var(--paper);
  padding:2.2rem 1.4rem;
  text-align:center;
  border-right:1px solid var(--line-soft)
}
.vis-card:last-child {
  border-right:0
}
@media (max-width:900px) {
  .visionaries {
    grid-template-columns:1fr 1fr
  }
  .vis-card:nth-child(2) {
    border-right:0
  }
  .vis-card:first-child,.vis-card:nth-child(2) {
    border-bottom:1px solid var(--line-soft)
  }
  
}
@media (max-width:560px) {
  .visionaries {
    grid-template-columns:1fr
  }
  .vis-card {
    border-right:0;
    border-bottom:1px solid var(--line-soft)
  }
  .vis-card:last-child {
    border-bottom:0
  }
  
}
.vis-role {
  font-size:.58rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--bronze);
  margin-bottom:.7rem
}
.vis-name {
  font-size:1.28rem;
  color:var(--ink);
  line-height:1.25
}
.invest-intro,.vis-name {
  font-family:var(--font-display)
}
.invest-intro {
  font-size:clamp(1.35rem,2.4vw,1.85rem);
  line-height:1.35;
  color:var(--bone);
  max-width:44rem;
  margin:0 auto 2.4rem;
  font-weight:300
}
.invest-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-column-gap:2.4rem;
  column-gap:2.4rem;
  grid-row-gap:0;
  row-gap:0;
  margin-top:1.2rem
}
.invest-item {
  border-top:1px solid var(--bronze);
  padding:1.45rem 0 2.4rem
}
.invest-num {
  font-family:var(--font-sans);
  font-size:.72rem;
  color:var(--bronze);
  letter-spacing:.18em;
  margin-bottom:.85rem
}
.invest-h {
  font-family:var(--font-display);
  font-size:1.45rem;
  color:var(--bone);
  margin-bottom:.6rem;
  line-height:1.25;
  font-weight:300
}
.invest-p {
  font-size:.9rem;
  color:rgba(245,237,224,.68);
  line-height:1.7;
  margin:0
}
@media (max-width:900px) {
  .invest-grid {
    grid-template-columns:1fr
  }
  
}
.home-stats {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  grid-gap:2rem;
  gap:2rem;
  margin-top:4.5rem;
  padding-top:3.2rem;
  border-top:1px solid var(--line)
}
.home-stat {
  text-align:center
}
.stat-n {
  font-family:var(--font-display);
  font-size:clamp(2.1rem,4.4vw,3.1rem);
  color:var(--bronze);
  line-height:1;
  display:block
}
.stat-l {
  font-size:.62rem;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(245,237,224,.62);
  margin-top:.85rem;
  line-height:1.7;
  display:block
}
.home-gallery {
  margin-top:2rem
}
.gal-stage {
  position:relative;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--ink);
  margin-top:3rem;
  touch-action:pan-y
}
.gal-slide {
  position:absolute;
  inset:0;
  opacity:0;
  transition:opacity 1s ease
}
.gal-slide.is-active {
  opacity:1
}
.gal-slide .media,.gal-stage .media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%!important;
  aspect-ratio:auto!important
}
.gal-slide img,.gal-stage img {
  object-fit:cover;
  width:100%;
  height:100%
}
.gal-cap {
  left:0;
  bottom:0;
  padding:1.5rem 2rem;
  z-index:3;
  background:linear-gradient(0deg,rgba(24,35,58,.85),transparent);
  width:100%;
  font-size:.66rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  justify-content:space-between;
  gap:1rem
}
.gal-arrow,.gal-cap {
  position:absolute;
  color:var(--bone);
  display:flex
}
.gal-arrow {
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:48px;
  height:48px;
  background:rgba(24,35,58,.55);
  border:1px solid rgba(245,237,224,.3);
  cursor:pointer;
  font-size:1.1rem;
  align-items:center;
  justify-content:center;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px)
}
.gal-arrow:hover {
  background:var(--bronze);
  border-color:var(--bronze)
}
.gal-prev {
  left:1rem
}
.gal-next {
  right:1rem
}
.gal-thumbs {
  display:flex;
  gap:.6rem;
  margin-top:.8rem;
  overflow-x:auto;
  padding-bottom:.4rem
}
.gal-thumb {
  flex:0 0 108px;
  aspect-ratio:16/10;
  overflow:hidden;
  cursor:pointer;
  opacity:.44;
  transition:opacity .35s;
  border:1px solid transparent;
  padding:0;
  background:none
}
.gal-thumb.is-active {
  opacity:1;
  border-color:var(--bronze)
}
.gal-nav {
  align-items:center;
  justify-content:space-between;
  gap:.6rem 1rem;
  margin-top:.85rem
}
.gal-dots,.gal-nav {
  display:flex;
  flex-wrap:wrap
}
.gal-dots {
  gap:.4rem
}
.gal-dot {
  width:18px;
  height:2px;
  padding:0;
  border:none;
  cursor:pointer;
  background:rgba(184,147,90,.28)
}
.gal-dot.is-active {
  background:var(--bronze)
}
.gal-swipe-note {
  margin:0
}
@media (max-width:720px) {
  .gal-arrow {
    display:none
  }
  .gal-stage {
    aspect-ratio:4/3
  }
  .gal-cap {
    padding:1rem 1.1rem;
    font-size:.58rem
  }
  
}
.amen-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-gap:1.15rem;
  gap:1.15rem;
  margin-top:3.2rem
}
@media (max-width:900px) {
  .amen-grid {
    grid-template-columns:1fr 1fr
  }
  
}
@media (max-width:640px) {
  .amen-grid {
    grid-template-columns:1fr
  }
  
}
.amen-card {
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background:var(--ink)
}
.amen-card .media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%!important;
  aspect-ratio:auto!important
}
.amen-ov {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:1.7rem;
  background:linear-gradient(0deg,rgba(24,35,58,.9) 0,rgba(24,35,58,.15) 60%,transparent);
  pointer-events:none
}
.amen-h {
  font-family:var(--font-display);
  font-size:1.5rem;
  color:var(--bone);
  line-height:1.2;
  margin:0
}
.amen-s {
  font-size:.66rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--bronze-light);
  margin-top:.55rem
}
.list-cols {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
  grid-gap:2.6rem;
  gap:2.6rem;
  margin-top:4rem
}
.list-h {
  font-size:.64rem;
  letter-spacing:.28em;
  text-transform:uppercase;
  color:var(--bronze);
  padding-bottom:.9rem;
  border-bottom:1px solid var(--line);
  margin-bottom:1.2rem
}
.list-ul {
  list-style:none;
  font-size:.92rem;
  line-height:2;
  margin:0;
  padding:0
}
.list-ul li {
  padding-left:1.1rem;
  position:relative
}
.list-ul li:before {
  content:"·";
  position:absolute;
  left:.15rem;
  color:var(--bronze)
}
.section-dark .list-ul {
  color:rgba(245,237,224,.78)
}
.coll-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-gap:1.4rem;
  gap:1.4rem;
  margin-top:3.4rem
}
@media (max-width:900px) {
  .coll-grid {
    grid-template-columns:1fr
  }
  
}
.coll {
  background:var(--white);
  border:1px solid var(--line-soft);
  overflow:hidden;
  display:flex;
  flex-direction:column
}
.coll-media {
  aspect-ratio:21/9;
  overflow:hidden;
  position:relative
}
.coll-media .media {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  min-height:100%!important;
  aspect-ratio:auto!important
}
.coll-body {
  padding:2.2rem 2rem 2rem;
  flex:1 1;
  display:flex;
  flex-direction:column;
  gap:.85rem
}
.coll-body .btn-gold {
  align-self:flex-start;
  margin-top:auto
}
.coll-floors {
  font-size:.62rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--bronze)
}
.coll-h {
  font-family:var(--font-display);
  font-size:2rem;
  color:var(--ink);
  margin:.55rem 0 1.2rem;
  line-height:1.15
}
.tour-band {
  position:relative;
  overflow:hidden;
  background:var(--ink);
  text-align:center;
  color:var(--bone);
  padding-bottom:calc(var(--section-y) + 7.75rem)
}
.tour-band h2,.tour-band h3 {
  color:var(--bone)
}
.tour-band .eyebrow {
  color:var(--bronze-light)
}
.tour-band .lede {
  color:rgba(244,239,230,.9);
  margin-inline:auto
}
.tour-band .btn-row {
  justify-content:center
}
@media (max-width:900px) {
  .tour-band {
    padding-bottom:calc(var(--section-y) + 9.25rem)
  }
}
.tour-bg {
  opacity:.3
}
.tour-bg,.tour-bg .media {
  position:absolute;
  inset:0
}
.tour-bg .media {
  width:100%;
  height:100%;
  min-height:100%;
  aspect-ratio:auto
}
.tour-inner {
  position:relative;
  z-index:2;
  max-width:720px;
  margin:0 auto
}
.hl-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
  grid-gap:1px;
  gap:1px;
  background:var(--line);
  margin-top:3.2rem;
  border:1px solid var(--line)
}
.hl {
  background:var(--ink);
  padding:1.7rem 1.6rem;
  font-size:.9rem;
  line-height:1.65;
  color:rgba(245,237,224,.82);
  display:flex;
  gap:.9rem;
  margin:0
}
.hl:before {
  content:"";
  flex:0 0 6px;
  height:6px;
  background:var(--bronze);
  margin-top:.62rem;
  border-radius:50%
}
.dl-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  grid-gap:1rem;
  gap:1rem;
  margin-top:3rem
}
button.dl {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1.35rem 1.5rem;
  border:1px solid var(--line);
  background:transparent;
  cursor:pointer;
  font-family:var(--font-sans);
  text-align:left;
  width:100%;
  transition:background .35s,border-color .35s,transform .35s
}
button.dl:hover {
  background:rgba(184,147,90,.09);
  transform:translateY(-3px)
}
.dl-name {
  font-size:.72rem;
  letter-spacing:.18em;
  color:var(--bone)
}
.dl-meta,.dl-name {
  text-transform:uppercase
}
.dl-meta {
  font-size:.6rem;
  letter-spacing:.14em;
  color:var(--bronze);
  opacity:.85;
  white-space:nowrap
}
.hoods {
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  margin-top:2.6rem
}
.hood {
  font-size:.62rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  padding:.6rem 1.1rem;
  border:1px solid var(--line);
  color:var(--bronze)
}
.views-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  grid-gap:1.5rem;
  gap:1.5rem;
  margin-top:3.2rem
}
.view-card {
  position:relative;
  aspect-ratio:3/4;
  overflow:hidden;
  background:var(--ink)
}
.view-card .media {
  inset:0;
  height:100%;
  min-height:0;
  aspect-ratio:auto
}
.view-card .media,.view-lbl {
  position:absolute;
  width:100%
}
.view-lbl {
  left:0;
  bottom:0;
  padding:1.3rem 1.2rem;
  background:linear-gradient(0deg,rgba(24,35,58,.88),transparent);
  font-family:var(--font-display);
  font-size:1.2rem;
  color:var(--bone)
}
.contact-home {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  grid-gap:clamp(2.5rem,6vw,5rem);
  gap:clamp(2.5rem,6vw,5rem);
  align-items:start;
  margin-top:3.2rem
}
.advisor-quiet {
  font-size:.78rem;
  letter-spacing:.04em;
  color:rgba(245,237,224,.72);
  margin:0 0 1.6rem;
  line-height:1.7
}
.advisor-quiet a {
  color:rgba(245,237,224,.88)
}
.advisor-quiet a:hover {
  color:var(--bronze-light)
}
.cinfo {
  margin-bottom:1.9rem
}
.cinfo-l {
  font-size:.6rem;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--bronze);
  margin-bottom:.4rem
}
.cinfo-v {
  font-size:1.02rem;
  color:var(--bone)
}
.cinfo-v a:hover {
  color:var(--bronze-light)
}
.form-panel-dark {
  background:rgba(245,237,224,.04);
  border:1px solid var(--line)
}
.form-panel-dark,.form-panel-dark h3 {
  color:var(--bone)
}
.form-panel-dark .chips legend,.form-panel-dark .fineprint,.form-panel-dark .muted,.form-panel-dark label {
  color:rgba(245,237,224,.7)
}
.form-panel-dark .lead-form input[type=email],.form-panel-dark .lead-form input[type=tel],.form-panel-dark .lead-form input[type=text],.form-panel-dark .lead-form select,.form-panel-dark .lead-form textarea {
  background:rgba(24,35,58,.45);
  border-color:var(--line);
  color:var(--bone)
}
.form-panel-dark .chip span {
  background:rgba(24,35,58,.45);
  border-color:var(--line);
  color:rgba(245,237,224,.9)
}
.form-panel-dark .lead-form .btn {
  --btn-bg:var(--bronze);
  --btn-fg:#fff;
  --btn-bd:var(--bronze);
  letter-spacing:.2em
}
.form-panel-dark .lead-form .btn:hover {
  --btn-bg:var(--bronze-light);
  --btn-fg:#18233a
}
.form-note {
  margin:.85rem 0 0;
  font-size:.58rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:rgba(245,237,224,.55);
  text-align:center
}
.gallery-more {
  text-align:center;
  margin-top:2.8rem;
  padding:2.4rem 1.4rem;
  border:1px solid var(--line-soft);
  background:var(--paper)
}
.home-gallery-more,.section-dark .gallery-more {
  background:transparent;
  border-color:var(--line);
  padding-bottom:5.2rem
}
@media (min-width:720px) {
  .home-gallery-more {
    padding-bottom:2.2rem
  }
  
}
.gallery-more-count {
  font-family:var(--font-display);
  font-size:1.6rem;
  margin:0 0 .6rem
}
.gallery-item.is-teaser {
  position:relative;
  cursor:pointer
}
.gallery-item.is-teaser.is-feature {
  grid-column:1/-1
}
.gallery-item.is-teaser.is-feature .media {
  aspect-ratio:16/9
}
.gallery-item.is-teaser .media img {
  filter:blur(6px) brightness(.62);
  transform:scale(1.04)
}
.gallery-teaser-veil {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(24,35,58,.22);
  color:var(--bone);
  font-size:.72rem;
  letter-spacing:.2em;
  text-transform:uppercase
}
.gallery-teaser-veil span {
  border:1px solid rgba(255,255,255,.55);
  padding:.85em 1.4em
}
.home-gallery-teaser {
  margin-top:1.25rem
}
.gallery-swipe-more {
  cursor:pointer
}
.gallery-more-slide {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1rem;
  min-height:240px;
  aspect-ratio:4/3;
  padding:2rem;
  background:var(--ink);
  color:var(--bone);
  text-align:center
}
@media (max-width:900px) {
  .contact-home {
    grid-template-columns:1fr
  }
  .hero-slide-label {
    max-width:46%
  }
  
}
@media (max-width:720px) {
  .gallery-more {
    display:block
  }
  
}
.modal {
  align-items:center;
  padding:clamp(.4rem,2vw,1.25rem);
  overflow:hidden
}
.lead-modal {
  width:min(560px,100%);
  background:var(--bone);
  padding:clamp(1.55rem,3.4vw,2.4rem) clamp(1.4rem,3vw,2.2rem) 1.35rem;
  max-height:min(100svh - 1.5rem,100dvh - 1.5rem)
}
.lead-modal .modal-title {
  padding-right:2.2rem
}
.form-panel .lead-brand img,.lead-modal .lead-brand img {
  height:72px;
  max-width:168px
}
.modal-panel.is-compact {
  width:min(480px,100%);
  max-height:min(100svh,100dvh);
  padding:1.15rem 1.15rem 1rem;
  overflow-y:auto
}
.lead-modal .modal-close,.modal-panel.is-compact .modal-close {
  top:.4rem;
  right:.35rem;
  width:48px;
  height:48px;
  min-width:48px;
  min-height:48px
}
.modal-panel.is-compact .lead-brand {
  margin:0 0 .5rem
}
.modal-panel.is-compact .lead-brand img {
  height:56px;
  max-width:140px
}
.modal-panel.is-compact .modal-title {
  font-size:clamp(1.25rem,3.4vw,1.55rem);
  margin-bottom:.35rem;
  padding-right:2.2rem;
  line-height:1.15
}
.modal-panel.is-compact .modal-blurb {
  margin-bottom:.7rem;
  font-size:.82rem;
  line-height:1.45
}
.form-panel.is-compact {
  padding:clamp(1.1rem,2.5vw,1.6rem)
}
.form-panel.is-compact .muted {
  margin-bottom:.75rem
}
.lead-form.is-compact {
  gap:.55rem
}
.lead-form.is-compact .chip-row {
  grid-template-columns:1fr auto;
  gap:.55rem 1rem;
  overflow:visible
}
.lead-form.is-compact .chips {
  gap:.28rem
}
.lead-form.is-compact .chip span {
  min-height:34px;
  padding:.35em .7em;
  font-size:.6rem;
  line-height:1.35
}
.lead-form.is-compact input[type=email],.lead-form.is-compact input[type=tel],.lead-form.is-compact input[type=text],.lead-form.is-compact select {
  min-height:44px;
  padding:.5em .75em;
  font-size:16px
}
.lead-form.is-compact .phone-dial {
  min-height:44px
}
.lead-form.is-compact .btn {
  min-height:48px;
  padding:.85em 1em;
  letter-spacing:.2em
}
.lead-form.is-compact .fineprint {
  font-size:.62rem;
  line-height:1.45
}
.nl-panel.is-compact {
  padding:0
}
.nl-panel.is-compact .nl-body {
  padding:.95rem 1.05rem 1rem
}
@media (max-width:560px) {
  .modal {
    padding:.25rem;
    align-items:flex-start;
    overflow:hidden
  }
  .lead-modal,.modal-panel,.modal-panel.is-compact {
    width:100%;
    max-height:100svh;
    padding:.85rem .9rem 1rem;
    border:0
  }
  .form-panel.is-compact .lead-brand img,.lead-modal .lead-brand img,.modal-panel.is-compact .lead-brand img {
    height:52px;
    max-width:128px
  }
  .lead-modal .modal-title,.modal-panel.is-compact .modal-title {
    font-size:1.2rem
  }
  .lead-modal .modal-blurb,.modal-panel.is-compact .modal-blurb {
    margin-bottom:.5rem;
    font-size:.78rem
  }
  .nl-panel.is-compact .nl-media {
    display:none
  }
  .nl-panel.is-compact .nl-body {
    padding:.7rem .8rem .8rem
  }
  .lead-form.is-compact {
    gap:.42rem
  }
  .lead-form.is-compact .chips legend,.lead-form.is-compact label {
    font-size:.58rem;
    letter-spacing:.12em;
    margin:0
  }
  .form-panel.is-compact {
    padding:1rem .95rem
  }
  
}
.explore-hub-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  grid-gap:1px;
  gap:1px;
  background:var(--line);
  border:1px solid var(--line);
  margin-top:2.2rem
}
.explore-card {
  background:var(--paper);
  color:var(--ink);
  padding:1.6rem 1.45rem 1.45rem;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:.75rem;
  min-height:100%;
  transition:background .35s var(--ease)
}
.explore-card.is-featured {
  grid-column:1/-1;
  background:var(--bone-warm);
  padding:2rem 1.8rem 1.7rem
}
.explore-card:hover {
  background:var(--bronze-pale)
}
.explore-kicker {
  font-size:.58rem;
  letter-spacing:.24em;
  text-transform:uppercase;
  color:var(--bronze)
}
.explore-title {
  font-family:var(--font-display);
  font-size:clamp(1.55rem,2.1vw,2.15rem);
  color:var(--ink);
  line-height:1.15;
  font-weight:300
}
.explore-card.is-featured .explore-title {
  font-size:clamp(1.9rem,2.6vw,2.6rem)
}
.explore-text {
  color:var(--ink-muted);
  font-size:.95rem;
  line-height:1.55;
  max-width:62ch;
  margin:0
}
.explore-card .link-arrow {
  margin-top:auto
}
@media (max-width:900px) {
  .explore-hub-grid {
    grid-template-columns:1fr 1fr
  }
  .explore-card.is-featured {
    grid-column:1/-1
  }
  
}
@media (max-width:560px) {
  .explore-hub-grid {
    grid-template-columns:1fr
  }
  
}

.modal[hidden], .lightbox[hidden], .nav-mobile[hidden] { display:none !important; }
.site-footer .brand-lockup-on-light { display:none; }
.site-footer .brand-lockup-on-dark { display:block; height:46px; }
.sub main > section:first-child { padding-top:calc(var(--header-h) + clamp(2rem,4vw,3.25rem)); }
.addr { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:1rem; margin:1.5rem 0 0; }
.addr div { border-top:1px solid var(--line); padding-top:.7rem; min-width:0; }
.addr dt { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); }
.addr dd { margin:.35rem 0 0; font-family:var(--font-display); font-size:1.35rem; color:var(--ink); overflow-wrap:anywhere; }
@media (max-width:800px) {
  .addr { grid-template-columns:1fr 1fr; }
}
@media (max-width:520px) {
  .addr { grid-template-columns:1fr; }
}
.map-frame { width:100%; height:320px; border:0; margin-top:1.4rem; filter:saturate(.75); }
.team { display:grid; gap:.15rem; }
.team div { border-top:1px solid var(--line); padding:.75rem 0; }
.team dt { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--bronze); }
.team dd { margin:.3rem 0 0; }
.thanks { margin:.4rem 0 0; }
.faq-item summary:after { content:"+"; margin-left:auto; color:var(--bronze); font-family:var(--font-sans); font-size:1.3rem; line-height:1; }
.faq-item[open] summary:after { content:"–"; }
.section.gallery-sneak { background:var(--bone); }
.gallery-sneak .sneak-wrap { width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.wrap.clears-fabs { padding-right:max(var(--gutter), var(--fab-inset)); }
.gallery-sneak h2 em { font-style:italic; color:var(--bronze); }
.sneak, .sneak-stage { position:relative; }
.sneak-grid { display:grid; grid-template-columns:repeat(6,1fr); grid-template-rows:clamp(168px,17vw,230px) clamp(230px,24vw,328px) clamp(168px,15vw,196px); gap:8px; }
.sneak-grid figure { position:relative; overflow:hidden; margin:0; min-width:0; background:#18233a; }
.sneak-hit { display:block; position:relative; width:100%; height:100%; padding:0; border:0; background:transparent; cursor:pointer; }
.sneak-grid img { position:absolute; inset:0; width:100%; height:100%; max-width:none; object-fit:cover; }
.sneak-grid .s-w2 { grid-column:span 2; }
.sneak-grid .s-w3 { grid-column:span 3; }
.sneak-grid .s-w4 { grid-column:span 4; }
.sneak-blur { height:22px; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); -webkit-mask-image:linear-gradient(0deg,#000 0,#000 28%,transparent); mask-image:linear-gradient(0deg,#000 0,#000 28%,transparent); }
.sneak-blur, .sneak-wash { position:absolute; left:0; right:0; bottom:0; pointer-events:none; }
.sneak-wash { height:36px; background:linear-gradient(to top, var(--bone) 0, rgba(244,239,230,.72) 46%, rgba(244,239,230,0) 100%); }
.sneak-lock { position:relative; z-index:2; display:grid; align-content:end; justify-items:center; gap:.85rem; margin-top:1.15rem; text-align:center; }
.sneak-count { margin:0; font-weight:400; letter-spacing:.28em; color:#8a847a; font-size:.68rem; text-transform:uppercase; }
.sneak-cta { -webkit-appearance:none; appearance:none; display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:.9em 1.7em; background:var(--bronze); color:#fff; border:0; font-family:var(--font-sans); font-weight:500; letter-spacing:.16em; font-size:.68rem; text-transform:uppercase; cursor:pointer; }
.sneak-cta:hover { background:var(--bronze-light); color:#18233a; }
.sneak.is-open .sneak-blur, .sneak.is-open .sneak-wash, .sneak.is-open .sneak-lock { display:none; }
.sneak.is-open .sneak-grid { grid-template-rows:none; grid-auto-rows:clamp(168px,18vw,240px); }
.sneak .gallery-swipe { display:none; }
.sneak .gallery-swipe-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; overscroll-behavior-x:contain; scrollbar-width:none; touch-action:pan-x; min-width:0; width:100%; gap:.65rem; }
.sneak .gallery-swipe-track::-webkit-scrollbar { display:none; }
.sneak .gallery-swipe-slide { flex:0 0 86%; scroll-snap-align:start; display:block; background:#18233a; padding:0; border:0; cursor:pointer; }
.sneak .gallery-swipe-slide .media { display:block; aspect-ratio:4/3; overflow:hidden; position:relative; min-height:0; }
.sneak .gallery-swipe-slide img { width:100%; height:100%; object-fit:cover; }
@media (max-width:759px) {
  .sneak-blur, .sneak-grid, .sneak-wash { display:none; }
  .sneak .gallery-swipe { display:block; }
  .sneak-lock { margin-top:0; padding:1.35rem 0 .25rem; }
}
.fab-stack.tips-off .fab-tip { display:none; }
.dial-menu[hidden] { display:none; }
.lead-form .chip span {
  background:transparent;
  border-color:var(--line);
  color:var(--ink);
}
.lead-form .chip input:checked+span {
  background:var(--ink);
  border-color:var(--ink);
  color:var(--bone);
}
@media (max-width:700px) {
  #priority-modal { align-items:end; padding:0; }
  #priority-modal .modal-panel { width:100%; height:390px; max-height:390px; border-radius:16px 16px 0 0; }
}
