/* Final responsive layer - loaded after every page stylesheet */
html,body {
  width:100%;
  max-width:100%;
  overflow-x:hidden
}

img {
  max-width:100%;
  height:auto
}

.luxe-home,.luxe-home section,.luxe-home .container {
  min-width:0
}

@media (max-width: 1100px) {
  .container,.coastal-lifestyle .container {
    width:calc(100% - 36px);
    max-width:1180px
  }
  .luxe-main-nav {
    gap:14px;
    font-size:.74rem
  }
  .coastal-lifestyle .coastal-cards {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:18px!important
  }
  .signature-grid {
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important
  }
  .signature-grid .giving-card {
    grid-column:1/-1!important
  }
}

@media (max-width: 900px) {
  .site-header {
    position:sticky;
    top:0
  }
  .luxe-nav-wrap {
    height:76px;
    position:relative
  }
  .brand-script {
    font-size:1.75rem
  }
  .luxe-brand small {
    font-size:.58rem;
    letter-spacing:.13em
  }
  .menu-toggle {
    display:block;
    position:relative;
    z-index:102;
    color:#fff
  }
  .menu-toggle span {
    background:#fff
  }
  .site-header .main-nav,.luxe-main-nav {
    display:none;
    position:absolute;
    z-index:101;
    top:76px;
    left:-18px;
    right:-18px;
    width:auto;
    max-height:calc(100vh - 76px);
    overflow-y:auto;
    padding:18px;
    background:#0d0f0f!important;
    border-top:1px solid rgba(189,136,64,.65)!important;
    box-shadow:0 18px 35px rgba(0,0,0,.28);
    flex-direction:column;
    align-items:stretch;
    gap:0!important;
  }
  .site-header .main-nav.is-open,.luxe-main-nav.is-open {
    display:flex!important
  }
  .site-header .main-nav a,.luxe-main-nav a {
    display:block!important;
    width:100%;
    padding:13px 8px!important;
    margin:0!important;
    border-bottom:1px solid rgba(255,255,255,.08);
    color:#fff!important
  }
  /* Keep the portrait visible: copy at the top, Tracy's face in the lower half. */
    .waterfront-hero,.waterfront-inner {
    min-height:760px!important
  }
  .waterfront-bg {
    background-image:url('../images/tracy-water-hero.jpg')!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
    background-position:46% center!important;
    transform:none!important;
  }
  .waterfront-shade {
    background:linear-gradient(180deg,rgba(250,246,239,.99) 0%,rgba(250,246,239,.93) 40%,rgba(250,246,239,.48) 58%,rgba(250,246,239,.04) 78%)!important
  }
  .waterfront-inner {
    align-items:flex-start!important
  }
  .waterfront-copy {
    width:100%!important;
    max-width:650px!important;
    margin:0 auto!important;
    padding:42px 0 0!important;
    text-align:center!important
  }
  .waterfront-copy h1 {
    font-size:clamp(2.8rem,8.5vw,4.25rem)!important;
    line-height:.98!important
  }
  .waterfront-copy p {
    max-width:560px!important;
    margin-left:auto!important;
    margin-right:auto!important
  }
  .waterfront-copy .hero-actions {
    justify-content:center!important;
    flex-wrap:wrap!important
  }
  .coastal-lifestyle {
    padding:48px 0!important
  }
  .coastal-lifestyle .coastal-cards {
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
  .coastal-lifestyle .coastal-card {
    width:100%!important;
    min-width:0!important
  }
  .coastal-lifestyle .coastal-image {
    display:block!important;
    width:100%!important;
    aspect-ratio:1/1!important;
    height:auto!important;
    overflow:hidden!important
  }
  .coastal-lifestyle .coastal-image img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important
  }
  .signature-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))!important
  }
  .signature-card {
    width:100%!important;
    min-width:0!important;
    min-height:420px!important;
    padding:32px 26px!important
  }
  .signature-grid .giving-card {
    grid-column:1/-1!important
  }
  .partner-stripe__inner {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:20px!important;
    text-align:center!important;
    padding-top:34px!important;
    padding-bottom:36px!important
  }
  .partner-stripe__logo {
    justify-content:center!important
  }
  .partner-stripe__copy p {
    margin-left:auto!important;
    margin-right:auto!important
  }
  .partner-stripe__button {
    grid-column:auto!important;
    justify-self:center!important;
    width:min(100%,310px)!important
  }
  .tracy-footer-model__main {
    grid-template-columns:1fr!important
  }
  .tracy-footer-model__photo {
    margin-right:0!important;
    width:100%!important;
    height:430px!important;
    min-height:430px!important
  }
  .tracy-footer-model__photo img {
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:62% center!important
  }
  .tracy-footer-model__photo-shade {
    background:linear-gradient(180deg,transparent 56%,rgba(244,237,227,.95) 100%)!important
  }
  .tracy-footer-model__content {
    grid-template-columns:1fr!important;
    width:100%!important;
    padding:0!important
  }
  .tracy-footer-model__connect,.tracy-footer-model__social,.tracy-footer-model__links {
    width:100%!important;
    padding:34px 28px!important;
    text-align:center!important;
    border-left:0!important;
    border-top:1px solid #d8c7af!important;
    background:#f4ede3!important
  }
  .tracy-footer-model__connect>p {
    margin-left:auto!important;
    margin-right:auto!important
  }
  .tracy-footer-model__contact-list {
    width:min(390px,100%)!important;
    margin:0 auto!important;
    text-align:left!important
  }
  .tracy-footer-model__links nav {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px 20px!important;
    width:min(380px,100%)!important;
    margin:0 auto!important;
    text-align:left!important
  }
}

@media (max-width: 600px) {
  .container,.coastal-lifestyle .container {
    width:calc(100% - 24px)!important;
    max-width:1180px
  }
  .luxe-nav-wrap {
    height:72px
  }
  .site-header .main-nav,.luxe-main-nav {
    top:72px;
    left:-12px;
    right:-12px
  }
  .brand-script {
    font-size:1.55rem
  }
  .waterfront-hero,.waterfront-inner {
    min-height:700px!important
  }
  .waterfront-bg {
    background-size:auto 100%!important;
    background-position:45% center!important
  }
  .waterfront-copy {
    padding-top:30px!important
  }
  .luxe-kicker {
    font-size:.63rem!important;
    letter-spacing:.11em!important
  }
  .waterfront-copy h1 {
    font-size:clamp(2.4rem,12vw,3.2rem)!important;
    margin-bottom:16px!important
  }
  .waterfront-copy p {
    font-size:.98rem!important;
    line-height:1.42!important
  }
  .waterfront-copy .hero-actions {
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    width:100%!important;
    margin-top:22px!important
  }
  .waterfront-copy .btn {
    width:100%!important;
    min-height:50px!important
  }
  /* Actual one-column image grids on phones. */
    .coastal-lifestyle .coastal-cards {
    grid-template-columns:1fr!important;
    gap:16px!important
  }
  .coastal-lifestyle .coastal-card {
    min-height:0!important
  }
  .coastal-lifestyle .coastal-image {
    aspect-ratio:1/1!important
  }
  .coastal-lifestyle .coastal-label {
    font-size:2rem!important;
    padding:15px 10px 17px!important
  }
  .signature-grid {
    grid-template-columns:1fr!important;
    gap:14px!important
  }
  .signature-card,.signature-grid .giving-card {
    grid-column:auto!important;
    min-height:auto!important;
    padding:32px 22px!important
  }
  .signature-card .btn {
    width:100%!important;
    margin-top:24px!important
  }
  .partner-stripe__inner {
    padding-left:0!important;
    padding-right:0!important
  }
  .partner-stripe__logo {
    flex-direction:column!important;
    gap:10px!important
  }
  .partner-stripe__copy h2 {
    font-size:1.65rem!important
  }
  .partner-stripe__copy p {
    font-size:.9rem!important;
    line-height:1.55!important
  }
  .tracy-footer-model__photo {
    height:350px!important;
    min-height:350px!important
  }
  .tracy-footer-model__photo img {
    object-position:61% center!important
  }
  .tracy-footer-model__connect,.tracy-footer-model__social,.tracy-footer-model__links {
    padding:30px 20px!important
  }
  .tracy-footer-model__links nav {
    grid-template-columns:1fr!important;
    text-align:center!important
  }
  .tracy-footer-model__bottom {
    flex-direction:column!important;
    justify-content:center!important;
    text-align:center!important;
    gap:5px!important;
    padding:17px 16px!important
  }
  .tracy-footer-model__divider {
    display:none!important
  }
  .tracy-footer-model__legal {
    margin-left:0!important;
    width:auto!important;
    justify-content:center!important;
    flex-wrap:wrap!important
  }
}

@media (max-width: 380px) {
  .waterfront-hero,.waterfront-inner {
    min-height:680px!important
  }
  .waterfront-bg {
    background-position:44% center!important
  }
  .waterfront-copy h1 {
    font-size:2.35rem!important
  }
  .tracy-footer-model__photo {
    height:310px!important;
    min-height:310px!important
  }
}
