html.w-mod-js [data-w-id] { opacity: 1 !important; transform: none !important; }
.w-nav-overlay { background: #f5f1e8; }
.form_notice { padding: 1rem; border: 1px solid rgba(203,161,92,.45); border-radius: 1rem; background: rgba(203,161,92,.14); margin-bottom: 1rem; color: #12211d; }
.w-button[disabled] { color: #33463e; background: #e8e3d6; border-color: rgba(32, 47, 40, 0.28); opacity: 1; cursor: not-allowed; }
@media (scripting: none) {
  [data-w-id], .w-nav-menu { opacity: 1 !important; display: block !important; transform: none !important; }
}

@media (max-width: 991px) {
  .w-nav-overlay {
    left: 0;
    right: 0;
    width: 100%;
    overflow-x: clip;
    background: #f5f1e8;
  }

  .w-nav-overlay .w-nav-menu,
  .w-nav-overlay [data-nav-menu-open],
  .w-nav [data-nav-menu-open],
  .w-nav .nav-menu-2[data-nav-menu-open],
  .w-nav .nav-menu-2.w--open {
    position: static;
    display: flex !important;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: 0;
    overflow-x: clip;
    box-sizing: border-box;
    background: #f5f1e8;
    transform: none !important;
    opacity: 1 !important;
  }

  .w-nav .nav-menu-2[data-nav-menu-open] {
    flex-basis: 100%;
    margin-top: .75rem;
  }

  .nav-menu-2 .w-nav-link,
  .w-nav-overlay .w-nav-link {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-height: 44px;
    padding: 12px 1rem;
    white-space: normal;
    overflow-wrap: anywhere;
    box-sizing: border-box;
  }

  .w-nav-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
  }

  html.w-mod-js .w-nav:not(:has([data-nav-menu-open])):has(.w-nav-button:is(:focus, :focus-visible, :focus-within, :active)) .nav-menu-2,
  html.w-mod-js .w-nav:not(:has([data-nav-menu-open])):has(.nav-menu-2:focus-within) .nav-menu-2 {
    position: static;
    display: flex !important;
    flex-basis: 100%;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: .75rem;
    overflow-x: clip;
    box-sizing: border-box;
    background: #f5f1e8;
    transform: none !important;
    opacity: 1 !important;
  }

  html:not(.w-mod-js) .nav-menu-2 {
    position: static;
    display: flex !important;
    flex-basis: 100%;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    margin-top: .75rem;
    overflow-x: clip;
    box-sizing: border-box;
    background: #f5f1e8;
    transform: none !important;
    opacity: 1 !important;
  }

  html:not(.w-mod-js) .w-nav-button {
    display: none;
  }
}

@media (max-width: 767px) {
  .navbar {
    max-width: 100%;
    overflow-x: clip;
  }

  .container-3 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 100%;
    overflow-x: clip;
    padding-left: 1rem;
    padding-right: 1rem;
    box-sizing: border-box;
  }

  .brand {
    display: flex;
    align-items: center;
    min-width: 0;
    max-width: 70vw;
  }

  .image-2 {
    display: block;
    width: auto;
    max-width: min(70vw, 231px);
    height: auto;
  }

  .nav-menu-2 {
    max-width: 100%;
    overflow-x: clip;
    box-sizing: border-box;
  }

  .nav-menu-2 .w-nav-link,
  .w-nav-link {
    display: flex;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    box-sizing: border-box;
  }

  .w-nav-button {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    box-sizing: border-box;
  }

  html:not(.w-mod-js) .nav-menu-2 {
    position: static;
    display: flex !important;
    flex-basis: 100%;
    flex-direction: column;
    width: 100%;
    margin-top: .75rem;
    background: #f5f1e8;
    transform: none !important;
    opacity: 1 !important;
  }

  html:not(.w-mod-js) .nav-menu-2 .w-nav-link {
    width: 100%;
  }

  html:not(.w-mod-js) .w-nav-button {
    display: none;
  }
}

@media (scripting: none) and (max-width: 767px) {
  .navbar { max-width: 100%; overflow-x: clip; }
  .container-3 { display: flex; flex-wrap: wrap; width: 100%; max-width: 100%; overflow-x: clip; box-sizing: border-box; }
  .brand { max-width: 70vw; min-width: 0; }
  .image-2 { width: auto; max-width: min(70vw, 231px); height: auto; }
  .nav-menu-2 { position: static; display: flex !important; flex-basis: 100%; flex-direction: column; width: 100%; max-width: 100%; margin-top: .75rem; overflow-x: clip; box-sizing: border-box; background: #f5f1e8; }
  .nav-menu-2 .w-nav-link, .w-nav-link { display: flex; align-items: center; min-height: 44px; width: 100%; max-width: 100%; white-space: normal; overflow-wrap: anywhere; box-sizing: border-box; }
  .w-nav-button { display: none; }
}

.nav-link-3.w-nav-link[data-client-login-trigger],
.nav_container .nav-link-3.w-nav-link[data-client-login-trigger],
.w-nav-menu .nav-link-3.w-nav-link[data-client-login-trigger] {
  color: var(--_colors---core-accent-color--accent-primary) !important;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.nav-link-3.w-nav-link[data-client-login-trigger]:hover,
.nav_container .nav-link-3.w-nav-link[data-client-login-trigger]:hover,
.w-nav-menu .nav-link-3.w-nav-link[data-client-login-trigger]:hover,
.nav-link-3.w-nav-link[data-client-login-trigger]:focus-visible,
.nav_container .nav-link-3.w-nav-link[data-client-login-trigger]:focus-visible,
.w-nav-menu .nav-link-3.w-nav-link[data-client-login-trigger]:focus-visible {
  color: var(--_colors---core-accent-color--accent-primary) !important;
  background: transparent;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .25rem;
  outline: 0;
}
.client-login-dialog[hidden] { display: none; }
.client-login-dialog { position: fixed; inset: 0; z-index: 9999; display: grid; place-items: center; padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left)); }
.client-login-dialog__backdrop { position: absolute; inset: 0; background: rgba(8, 19, 15, 0.58); }
.client-login-dialog__panel { position: relative; width: min(100% - 2rem, 32rem); max-height: calc(100dvh - 2rem); overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fffaf0; color: #10251f; border: 1px solid rgba(87, 68, 46, 0.24); border-radius: 1rem; box-shadow: 0 24px 60px rgba(16, 37, 31, 0.22); padding: clamp(1.25rem, 4vw, 2rem); }
.client-login-dialog__form { display: grid; gap: 1rem; }
.client-login-dialog__eyebrow { margin: 0 0 .35rem; color: #7a6334; text-transform: uppercase; letter-spacing: .12em; font: 700 .76rem/1.2 "Instrument Sans", sans-serif; }
.client-login-dialog__header h2 { margin: 0; font-family: "Cormorant Garamond", Georgia, serif; font-size: clamp(2rem, 6vw, 2.7rem); line-height: .98; color: #10251f; }
.client-login-dialog p { margin: 0; }
.client-login-dialog__example, .client-login-dialog__helper { color: #5f6f68; font-size: .94rem; line-height: 1.5; }
.client-login-dialog__field { display: grid; gap: .45rem; }
.client-login-dialog__field label { font-weight: 700; color: #183c32; }
.client-login-dialog__field input { width: 100%; min-height: 2.85rem; border: 1px solid rgba(32, 47, 40, .28); border-radius: .65rem; background: #fffdf7; color: #10251f; padding: .75rem .85rem; font: 1rem/1.4 "Instrument Sans", sans-serif; }
.client-login-dialog__field input:focus-visible { outline: 3px solid rgba(199, 164, 91, .38); border-color: #c7a45b; }
.client-login-dialog__field input[aria-invalid="true"] { border-color: #9f332d; }
.client-login-dialog__error { min-height: 1.25rem; color: #9f332d; font-weight: 700; font-size: .92rem; }
.client-login-dialog__actions { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: flex-end; }
.client-login-dialog__continue, .client-login-dialog__cancel { border-radius: .65rem; min-height: 2.65rem; padding: .65rem 1rem; font-weight: 700; cursor: pointer; }
.client-login-dialog__continue { color: #fffaf0; background: #183c32; border: 1px solid #102c25; }
.client-login-dialog__continue:hover { background: #102c25; }
.client-login-dialog__cancel { color: #183c32; background: transparent; border: 1px solid rgba(24, 60, 50, .34); }
.client-login-dialog__cancel:hover { background: #f0eadf; }
.client-login-dialog-open { overflow: hidden; }
@media (max-width: 560px) { .client-login-dialog { align-items: end; padding: max(.5rem, env(safe-area-inset-top)) max(.5rem, env(safe-area-inset-right)) max(.5rem, env(safe-area-inset-bottom)) max(.5rem, env(safe-area-inset-left)); } .client-login-dialog__panel { width: min(100%, 32rem); max-height: calc(100dvh - 1rem); border-radius: 1rem 1rem .75rem .75rem; } .client-login-dialog__actions { flex-direction: column; } .client-login-dialog__continue, .client-login-dialog__cancel { width: 100%; } }

@media (max-width: 560px) and (max-height: 700px) {
  .client-login-dialog {
    align-items: end;
    padding: max(.35rem, env(safe-area-inset-top)) max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));
  }

  .client-login-dialog__panel {
    width: min(100%, 32rem);
    max-height: calc(100dvh - .7rem);
    padding: .9rem;
  }

  .client-login-dialog__form {
    gap: .65rem;
  }

  .client-login-dialog__header h2 {
    font-size: clamp(1.45rem, 8vw, 1.85rem);
    line-height: 1;
  }

  .client-login-dialog__example,
  .client-login-dialog__helper {
    line-height: 1.35;
  }

  .client-login-dialog__field input {
    font-size: 16px;
  }

  .client-login-dialog__actions {
    flex-direction: column;
    gap: .55rem;
  }

  .client-login-dialog__continue,
  .client-login-dialog__cancel {
    width: 100%;
    min-height: 44px;
  }
}
.contact-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

@media (max-width: 766px) {
  .hero-image-wrapper,
  .about-hero-image-wrapper {
    aspect-ratio: 4 / 3;
    height: auto;
    max-height: min(70vh, 32rem);
  }

  .hero-image,
  .about-hero-image {
    object-fit: cover;
    width: 100%;
    max-width: 100%;
    height: 100%;
  }

  .hero_front,
  .hero_back {
    aspect-ratio: 4 / 3;
    height: auto;
    max-height: min(70vh, 32rem);
  }

  .image_cover {
    width: 100%;
    max-width: 100%;
    height: auto;
    object-fit: fill;
  }

  .image-ratio_4x3 .image_cover,
  .image-ratio_auto.height_100percent .image_cover,
  .hero_front .image_cover,
  .hero_back .image_cover {
    object-fit: cover;
    height: 100%;
  }
}


@media (max-width: 767px) {
  .client-login-dialog__header h2 { font-size: clamp(1.65rem, 9vw, 2.2rem); overflow-wrap: anywhere; }
  .client-login-dialog__field input { font-size: 16px; }
  .client-login-dialog__continue, .client-login-dialog__cancel { min-height: 44px; white-space: normal; }
}

/* Final mobile marketing typography overrides */
@media (max-width: 767px) {
  .heading_hero,
  .heading_primary,
  .heading_secondary,
  .paragraph_large,
  .paragraph_xlarge {
    max-width: 100%;
    overflow-wrap: anywhere;
    line-height: 1.18;
  }

  .heading_hero,
  .heading_primary {
    font-size: clamp(2.25rem, 11vw, 3.2rem);
    line-height: 1.04;
  }

  .heading_primary {
    padding-left: 0;
    padding-top: 0;
  }

  .heading_secondary {
    line-height: 1.1;
  }

  .paragraph_large,
  .paragraph_xlarge {
    line-height: 1.48;
  }
}

@media (max-width: 479px) {
  .heading_hero,
  .heading_primary,
  .heading_secondary,
  .paragraph_large,
  .paragraph_xlarge {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .heading_hero,
  .heading_primary {
    font-size: clamp(1.9rem, 12vw, 2.7rem);
    line-height: 1.06;
  }

  .heading_primary {
    padding-left: 0;
    padding-top: 0;
  }

  .heading_secondary {
    line-height: 1.12;
  }

  .paragraph_large,
  .paragraph_xlarge {
    margin-top: .5rem;
    margin-bottom: .75rem;
    line-height: 1.45;
  }
}
