/* Imported nbt-e rules retired after all 28 native page layout passes. */
@media (max-width: 767px){
  .mobile-1col{
    grid-template-columns: 1fr !important;
  }
}

  @font-face {
    font-family: "NBT Inter";
    src: url("/wp-content/uploads/elementor/google-fonts/fonts/inter-6ab57b19.woff2")
      format("woff2");
    font-display: swap;
  }

  @font-face {
    font-family: "NBT Playfair";
    src: url("/wp-content/uploads/elementor/google-fonts/fonts/playfairdisplay-61a96359.woff2")
      format("woff2");
    font-display: swap;
  }

  .nbt-about {
    --nbt-cream: #f9f7f2;
    --nbt-cream-deep: #f2eee5;
    --nbt-white: #ffffff;
    --nbt-ink: #191919;
    --nbt-body: #363636;
    --nbt-muted: #6b6862;
    --nbt-gold: #d4a32b;
    --nbt-gold-dark: #a9780b;
    --nbt-line: rgba(25, 25, 25, 0.18);
    --nbt-serif: "NBT Playfair", Georgia, serif;
    --nbt-sans: "NBT Inter", Arial, sans-serif;
    --nbt-shell: 1320px;
    --nbt-gutter: clamp(22px, 5vw, 72px);
    --nbt-section: clamp(82px, 10vw, 150px);

    width: 100%;
    overflow: hidden;
    background: var(--nbt-cream);
    color: var(--nbt-body);
    font-family: var(--nbt-sans);
    font-size: 17px;
    line-height: 1.72;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
  }

  .nbt-about,
  .nbt-about *,
  .nbt-about *::before,
  .nbt-about *::after {
    box-sizing: border-box;
  }

  .nbt-about img {
    display: block;
    width: 100%;
    max-width: 100%;
  }

  .nbt-about a {
    color: inherit;
    text-decoration: none;
  }

  .nbt-about a:focus-visible {
    outline: 3px solid var(--nbt-gold);
    outline-offset: 4px;
  }

  .nbt-shell {
    width: min(var(--nbt-shell), 100%);
    margin: 0 auto;
  }

  .nbt-section {
    padding: var(--nbt-section) var(--nbt-gutter);
  }

  .nbt-about h1,
  .nbt-about h2 {
    margin: 0;
    color: var(--nbt-ink);
    font-family: var(--nbt-serif);
    font-weight: 400;
    letter-spacing: -0.035em;
    line-height: 1.06;
  }

  .nbt-gold-rule {
    display: block;
    width: 104px;
    height: 2px;
    margin-top: 30px;
    background: var(--nbt-gold);
  }

  .nbt-gold-rule--center {
    margin-right: auto;
    margin-left: auto;
  }

  .nbt-button {
    display: inline-flex;
    min-height: 56px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    padding: 0 30px;
    font-family: var(--nbt-sans);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    transition:
      background-color 180ms ease,
      color 180ms ease,
      border-color 180ms ease,
      transform 180ms ease;
  }

  .nbt-button:hover {
    transform: translateY(-2px);
  }

  .nbt-button--gold {
    border-color: var(--nbt-gold);
    background: var(--nbt-gold);
    color: var(--nbt-ink) !important;
  }

  .nbt-button--gold:hover {
    border-color: #e4b83f;
    background: #e4b83f;
  }

  .nbt-button--outline {
    border-color: var(--nbt-gold);
    color: var(--nbt-white) !important;
  }

  .nbt-button--outline:hover {
    background: var(--nbt-gold);
    color: var(--nbt-ink) !important;
  }

  /* HERO */
  .nbt-hero {
    display: grid;
    min-height: min(900px, calc(100svh - 90px));
    grid-template-columns: 1fr minmax(480px, 1fr);
    background: var(--nbt-ink);
    color: var(--nbt-white);
  }

  .nbt-hero__content {
    display: flex;
    align-items: center;
    padding: clamp(62px, 8vw, 124px) var(--nbt-gutter);
  }

  .nbt-hero__inner {
    width: min(660px, 100%);
    margin-left: auto;
  }

  .nbt-hero h1 {
    max-width: 650px;
    color: var(--nbt-white);
    font-size: clamp(50px, 5.35vw, 78px);
  }

  .nbt-hero__inner > p {
    max-width: 610px;
    margin: 28px 0 0;
    color: rgba(255, 255, 255, 0.84);
    font-size: clamp(17px, 1.3vw, 21px);
  }

  .nbt-hero__actions {
    display: flex;
    align-items: center;
    gap: 40px;
    margin-top: 42px;
  }

  .nbt-text-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--nbt-gold);
    color: var(--nbt-white) !important;
    font-size: 15px;
    line-height: 2;
    transition:
      color 180ms ease,
      gap 180ms ease;
  }

  .nbt-text-link:hover {
    gap: 15px;
    color: var(--nbt-gold) !important;
  }

  .nbt-hero__media {
    min-height: 620px;
    margin: 0;
    overflow: hidden;
    background: #655f56;
  }

  .nbt-hero__media img {
    height: 100%;
    object-fit: cover;
    object-position: center 38%;
    filter: saturate(0.92) contrast(1.02);
  }

  /* TRUST RAIL */
  .nbt-trust {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-bottom: 1px solid var(--nbt-line);
  }

  .nbt-trust__item {
    display: flex;
    min-height: 168px;
    align-items: center;
    justify-content: center;
    gap: 24px;
    padding: 32px clamp(24px, 3vw, 50px);
  }

  .nbt-trust__item + .nbt-trust__item {
    border-left: 1px solid var(--nbt-line);
  }

  .nbt-trust__number {
    min-width: 70px;
    color: var(--nbt-gold-dark);
    font-family: var(--nbt-serif);
    font-size: clamp(38px, 3.3vw, 52px);
    line-height: 1;
  }

  .nbt-trust strong,
  .nbt-trust small {
    display: block;
  }

  .nbt-trust strong {
    color: var(--nbt-ink);
    font-family: var(--nbt-serif);
    font-size: clamp(23px, 2vw, 31px);
    font-weight: 400;
    line-height: 1.1;
  }

  .nbt-trust small {
    margin-top: 7px;
    color: var(--nbt-muted);
    font-size: 11px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
  }

  /* INTRO */
  .nbt-intro {
    text-align: center;
  }

  .nbt-intro__inner {
    max-width: 900px;
  }

  .nbt-intro h2 {
    margin-top: 27px;
    font-size: clamp(40px, 4vw, 62px);
  }

  .nbt-intro p {
    margin: 24px auto 0;
    color: var(--nbt-muted);
  }

  /* HOUSE STORY */
  .nbt-story {
    background: var(--nbt-white);
  }

  .nbt-story__grid {
    display: grid;
    grid-template-columns: minmax(360px, 0.88fr) 1.12fr;
    align-items: center;
    gap: clamp(60px, 8vw, 132px);
  }

  .nbt-portrait {
    margin: 0;
  }

  .nbt-portrait img {
    aspect-ratio: 0.77;
    object-fit: cover;
    object-position: center 35%;
  }

  .nbt-portrait figcaption {
    display: flex;
    min-height: 58px;
    align-items: center;
    gap: 13px;
    padding: 0 24px;
    background: var(--nbt-ink);
    color: var(--nbt-white);
    font-size: 11px;
    letter-spacing: 0.17em;
    text-transform: uppercase;
  }

  .nbt-portrait figcaption span {
    width: 20px;
    height: 1px;
    background: var(--nbt-gold);
  }

  .nbt-label {
    margin: 0;
    color: var(--nbt-gold-dark);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
  }

  .nbt-story__content .nbt-gold-rule {
    margin-top: 22px;
  }

  .nbt-story h2 {
    margin-top: 33px;
    font-size: clamp(44px, 4.7vw, 70px);
  }

  .nbt-story__content > p:not(.nbt-label) {
    margin: 30px 0 0;
  }

  .nbt-story blockquote {
    margin: 42px 0 0;
    padding-top: 30px;
    border-top: 2px solid var(--nbt-gold);
    color: var(--nbt-ink);
    font-family: var(--nbt-serif);
    font-size: clamp(28px, 2.6vw, 40px);
    font-style: italic;
    line-height: 1.25;
  }

  /* WHY CHOOSE */
  .nbt-dark {
    background: var(--nbt-ink);
    color: rgba(255, 255, 255, 0.78);
  }

  .nbt-dark h2 {
    color: var(--nbt-white);
  }

  .nbt-choose__grid {
    display: grid;
    grid-template-columns: minmax(420px, 1fr) minmax(460px, 0.95fr);
    gap: clamp(70px, 10vw, 160px);
  }

  .nbt-choose h2 {
    margin-top: 32px;
    font-size: clamp(50px, 5vw, 76px);
  }

  .nbt-choose__copy {
    align-self: end;
    font-size: clamp(17px, 1.3vw, 20px);
  }

  .nbt-choose__copy p {
    margin: 0;
  }

  .nbt-choose__copy p + p {
    margin-top: 30px;
  }

  /* DIFFERENCE */
  .nbt-difference {
    display: grid;
    min-height: 760px;
    grid-template-columns: minmax(360px, 0.8fr) minmax(540px, 1.2fr);
    padding: 0;
  }

  .nbt-difference__motif {
    display: flex;
    min-height: 760px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    overflow: hidden;
    border-right: 1px solid rgba(212, 163, 43, 0.32);
    background: var(--nbt-cream-deep);
    color: rgba(169, 120, 11, 0.24);
  }

  .nbt-difference__motif b {
    font-family: var(--nbt-serif);
    font-size: clamp(54px, 7vw, 108px);
    font-weight: 400;
    letter-spacing: -0.05em;
    line-height: 0.85;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
  }

  .nbt-difference__motif i {
    width: 1px;
    height: 78px;
    margin: 28px 0;
    background: var(--nbt-gold);
  }

  .nbt-difference__motif small {
    color: var(--nbt-gold-dark);
    font-size: 10px;
    letter-spacing: 0.35em;
  }

  .nbt-difference__content {
    align-self: center;
    width: min(790px, 100%);
    padding: var(--nbt-section) var(--nbt-gutter);
  }

  .nbt-difference h2 {
    margin-top: 31px;
    font-size: clamp(48px, 4.8vw, 72px);
  }

  .nbt-difference p {
    margin: 31px 0 0;
  }

  /* BEST TAILOR */
  .nbt-best {
    position: relative;
    padding-left: calc(var(--nbt-gutter) + 84px);
    background: var(--nbt-white);
  }

  .nbt-best__rail {
    position: absolute;
    inset: 0 auto 0 0;
    display: flex;
    width: 84px;
    flex-direction: column;
    align-items: center;
    gap: 28px;
    padding-top: var(--nbt-section);
    background: var(--nbt-ink);
    color: var(--nbt-gold);
    font-size: 14px;
  }

  .nbt-best__rail i {
    width: 1px;
    height: 170px;
    background: var(--nbt-gold);
  }

  .nbt-best__grid {
    display: grid;
    grid-template-columns: minmax(460px, 1fr) minmax(480px, 1fr);
    align-items: end;
    gap: clamp(72px, 9vw, 150px);
  }

  .nbt-best h2 {
    margin-top: 31px;
    font-size: clamp(48px, 4.9vw, 74px);
  }

  .nbt-best__copy {
    font-size: clamp(17px, 1.25vw, 19px);
  }

  .nbt-best__copy p {
    margin: 0;
  }

  .nbt-best__copy p + p {
    margin-top: 30px;
  }

  /* FINAL CTA */
  .nbt-commission {
    position: relative;
    overflow: hidden;
  }

  .nbt-commission::after {
    position: absolute;
    top: 0;
    right: -10%;
    width: 42%;
    height: 100%;
    border-left: 1px solid rgba(255, 255, 255, 0.22);
    content: "";
    transform: skewX(-12deg);
  }

  .nbt-commission__inner {
    position: relative;
    z-index: 1;
  }

  .nbt-commission h2 {
    max-width: 1000px;
    margin-top: 34px;
    font-size: clamp(56px, 6vw, 88px);
  }

  .nbt-commission p {
    max-width: 720px;
    margin: 34px 0 0;
    font-size: clamp(18px, 1.5vw, 22px);
  }

  .nbt-commission__actions {
    display: flex;
    gap: 20px;
    margin-top: 46px;
  }

  .nbt-commission__actions .nbt-button {
    min-width: 292px;
  }

  .nbt-commission__location {
    display: flex;
    align-items: center;
    gap: 42px;
    margin-top: 42px;
  }

  .nbt-commission__location span {
    padding-left: 23px;
    border-left: 2px solid var(--nbt-gold);
  }

  .nbt-commission__location a {
    border-bottom: 1px solid var(--nbt-gold);
    color: var(--nbt-gold) !important;
  }

  @media (min-width: 901px) and (max-height: 800px) {
    .nbt-hero__content {
      padding-top: 42px;
      padding-bottom: 42px;
    }

    .nbt-hero h1 {
      font-size: clamp(48px, 4.6vw, 66px);
    }

    .nbt-hero__inner > p {
      margin-top: 20px;
      font-size: 17px;
    }

    .nbt-hero .nbt-gold-rule {
      margin-top: 22px;
    }

    .nbt-hero__actions {
      margin-top: 28px;
    }
  }

  @media (max-width: 1100px) {
    .nbt-hero {
      grid-template-columns: 1.05fr 0.95fr;
    }

    .nbt-hero__actions {
      align-items: flex-start;
      flex-direction: column;
      gap: 24px;
    }

    .nbt-choose__grid,
    .nbt-best__grid {
      grid-template-columns: 1fr;
      gap: 56px;
    }

    .nbt-difference {
      grid-template-columns: 0.7fr 1.3fr;
    }
  }

  @media (max-width: 900px) {
    .nbt-hero {
      min-height: 0;
      grid-template-columns: 1fr;
    }

    .nbt-hero__content {
      min-height: 620px;
    }

    .nbt-hero__inner {
      margin: 0;
    }

    .nbt-hero__media {
      min-height: 560px;
    }

    .nbt-trust {
      grid-template-columns: 1fr;
    }

    .nbt-trust__item {
      min-height: 132px;
      justify-content: flex-start;
      padding-right: var(--nbt-gutter);
      padding-left: var(--nbt-gutter);
    }

    .nbt-trust__item + .nbt-trust__item {
      border-top: 1px solid var(--nbt-line);
      border-left: 0;
    }

    .nbt-story__grid,
    .nbt-difference {
      grid-template-columns: 1fr;
    }

    .nbt-portrait {
      width: min(620px, 100%);
    }

    .nbt-difference__motif {
      min-height: 280px;
      border-right: 0;
      border-bottom: 1px solid rgba(212, 163, 43, 0.32);
    }

    .nbt-difference__motif b {
      writing-mode: horizontal-tb;
      transform: none;
    }

    .nbt-difference__motif i {
      width: 78px;
      height: 1px;
      margin: 20px 0;
    }

    .nbt-difference__content {
      width: auto;
    }
  }

  @media (max-width: 620px) {
    .nbt-about {
      --nbt-gutter: 22px;
      font-size: 16px;
    }

    .nbt-hero__content {
      min-height: 610px;
      padding-top: 72px;
      padding-bottom: 72px;
    }

    .nbt-hero h1 {
      font-size: clamp(45px, 13vw, 58px);
    }

    .nbt-hero__actions,
    .nbt-commission__actions {
      width: 100%;
      flex-direction: column;
    }

    .nbt-hero__actions .nbt-button,
    .nbt-commission__actions .nbt-button {
      width: 100%;
      min-width: 0;
    }

    .nbt-hero__media {
      min-height: 470px;
    }

    .nbt-intro h2,
    .nbt-story h2,
    .nbt-choose h2,
    .nbt-difference h2,
    .nbt-best h2,
    .nbt-commission h2 {
      font-size: clamp(38px, 11vw, 52px);
    }

    .nbt-portrait figcaption {
      padding: 0 15px;
      font-size: 9px;
    }

    .nbt-best {
      padding-left: calc(var(--nbt-gutter) + 32px);
    }

    .nbt-best__rail {
      width: 32px;
      font-size: 11px;
    }

    .nbt-best__rail i {
      height: 110px;
    }

    .nbt-commission::after {
      display: none;
    }

    .nbt-commission__location {
      align-items: flex-start;
      flex-direction: column;
      gap: 19px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .nbt-about *,
    .nbt-about *::before,
    .nbt-about *::after {
      transition-duration: 0.01ms !important;
    }
  }

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */

/* Ensure the image stays 3:4 and clips the zoom */

/* Default state */

/* Hover state */
