  * { box-sizing: border-box; }
  html, body { margin: 0; overflow-x: hidden; }
  .hp-field { position: absolute; left: -9999px; top: -9999px; }
  body {
    background: #000;
    font-family: "Poppins", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  }

  section.hero {
    position: relative;
    min-height: 100vh;
    background-image:
      linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
      url("images/hero-bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    flex-direction: column;
  }

  /* nav */
  header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.1rem clamp(1.25rem, 4vw, 3rem);
    background: transparent;
    transition: background 0.5s ease, box-shadow 0.5s ease, backdrop-filter 0.5s ease;
  }

  header.scrolled {
    background: rgba(66, 50, 13, 0.82);
    backdrop-filter: blur(14px) saturate(150%);
    -webkit-backdrop-filter: blur(14px) saturate(150%);
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3);
  }
  header.scrolled .nav-links a,
  header.scrolled .phone {
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }
  header.scrolled .nav-links a:hover, header.scrolled .nav-links a:focus-visible,
  header.scrolled .phone:hover, header.scrolled .phone:focus-visible {
    color: #f0d58a;
  }
  header.scrolled .nav-right .btn-gold {
    background: linear-gradient(135deg, rgba(232, 200, 107, 0.95), rgba(201, 162, 39, 0.95));
    color: #19150d;
    box-shadow: 0 8px 16px -6px rgba(25, 21, 13, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.4);
  }
  header.scrolled .nav-right .btn-gold:hover, header.scrolled .nav-right .btn-gold:focus-visible {
    background: linear-gradient(135deg, rgba(240, 213, 138, 0.95), rgba(217, 178, 63, 0.95));
  }

  header img.logo { height: 64px; width: auto; display: block; margin: -9px 0; }

  .nav-links {
    display: flex;
    gap: 2.25rem;
    list-style: none;
    margin: 0;
    padding: 0;
  }
  .nav-links a {
    color: #fff;
    text-decoration: none;
    font-size: 0.95rem;
    font-weight: 500;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }
  .nav-links a:hover, .nav-links a:focus-visible { color: #e8c86b; }

  .nav-right { display: flex; align-items: center; gap: 1.5rem; }

  .phone {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    font-size: 0.95rem;
    white-space: nowrap;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
  }
  .phone:hover, .phone:focus-visible { color: #e8c86b; }

  .btn-gold {
    display: inline-flex;
    align-items: center;
    gap: 0.444em;
    background: linear-gradient(135deg, #e8c86b, #c9a227);
    color: #19150d;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 0.778em 3.278em 0.778em 1.556em;
    border-radius: 0.944em;
    text-decoration: none;
    white-space: nowrap;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 16px -6px rgba(25, 21, 13, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: background 0.22s ease-out, box-shadow 0.22s ease-out, transform 0.22s ease-out;
  }
  .btn-gold:hover, .btn-gold:focus-visible {
    filter: brightness(0.86);
    box-shadow: 0 12px 22px -8px rgba(25, 21, 13, 0.45), inset 0 1px 0 rgba(255, 255, 255, 0.5);
    transform: translateY(-2px);
  }
  .btn-gold:focus-visible { outline: 2px solid #c9a227; outline-offset: 3px; }
  .btn-gold:active {
    transform: translateY(0) scale(0.98);
    box-shadow: 0 4px 10px -6px rgba(25, 21, 13, 0.4);
    transition: transform 0.12s ease-out, box-shadow 0.12s ease-out;
  }
  .btn-gold svg { transition: transform 0.22s ease-out; }
  .btn-gold:hover svg, .btn-gold:focus-visible svg { transform: translateX(3px); }

  @media (prefers-reduced-motion: reduce) {
    .btn-gold, .btn-gold svg { transition-duration: 0.01ms; }
    .btn-gold:hover, .btn-gold:focus-visible, .btn-gold:active { transform: none; }
    .btn-gold:hover svg, .btn-gold:focus-visible svg { transform: none; }
  }

  /* arrows only stay on the hero CTA; every other cta-fill/btn-gold button loses the icon
     and the padding that made room for it */
  .btn-gold:not(.hero-cta) svg { display: none; }
  .btn-gold:not(.hero-cta) { padding-right: 1.556em; font-weight: 600; }

  /* shared CTA text-roll, same signature as the services "Request Service" button,
     sized generically so it drops onto any button without changing its dimensions */
  .cta-fill { position: relative; overflow: hidden; }

  .cta-fill-text {
    position: relative;
    z-index: 1;
    display: inline-block;
    height: 1.2em;
    line-height: 1.2em;
    overflow: hidden;
  }
  .cta-fill-text-inner { display: flex; flex-direction: column; transition: transform 0.4s ease-in-out; }
  .cta-fill-text-inner span { display: block; height: 1.2em; line-height: 1.2em; }
  .cta-fill:hover .cta-fill-text-inner, .cta-fill:focus-visible .cta-fill-text-inner { transform: translateY(-50%); }
  .cta-fill svg { position: relative; z-index: 1; }

  .cta-fill-arrow {
    position: absolute;
    top: 0.2em;
    bottom: 0.2em;
    right: 0.2em;
    width: 2.6em;
    z-index: 1;
    display: none;
    align-items: center;
    justify-content: center;
  }
  .hero-cta .cta-fill-arrow { display: flex; }

  @media (prefers-reduced-motion: reduce) {
    .cta-fill-text-inner { transition: none; }
    .cta-fill:hover .cta-fill-text-inner, .cta-fill:focus-visible .cta-fill-text-inner { transform: none; }
  }

  .hero-cta {
    margin-top: 2.2rem;
    font-size: 1.05rem;
    box-shadow: 0 14px 30px -12px rgba(0, 0, 0, 0.5);
    padding-top: 1.05em;
    padding-bottom: 1.05em;
    padding-left: 2em;
    padding-right: 3em;
  }
  .hero-cta .cta-fill-arrow { width: 1.9em; right: 0.7em; }

  .nav-burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 2.2rem;
    height: 2.2rem;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    flex: none;
  }
  .nav-burger span {
    display: block;
    width: 22px;
    height: 2px;
    border-radius: 2px;
    background: #fff;
    transition: transform 0.3s ease, opacity 0.2s ease;
  }
  .nav-burger.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-burger.active span:nth-child(2) { opacity: 0; }
  .nav-burger.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .mobile-menu {
    position: fixed;
    inset: 0;
    z-index: 70;
    background: linear-gradient(160deg, rgba(14, 18, 15, 0.97), rgba(8, 10, 8, 0.99));
    backdrop-filter: blur(18px) saturate(140%);
    -webkit-backdrop-filter: blur(18px) saturate(140%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2.25rem;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform 0.35s ease, visibility 0s linear 0.35s;
  }
  .mobile-menu.open {
    transform: translateX(0);
    visibility: visible;
    transition: transform 0.35s ease, visibility 0s linear 0s;
  }
  .mobile-menu-close {
    position: absolute;
    top: 1.25rem;
    right: clamp(1.1rem, 4vw, 1.6rem);
    background: transparent;
    border: none;
    color: #fff;
    padding: 0.6rem;
    cursor: pointer;
  }
  .mobile-menu-links {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
  }
  .mobile-menu-links a {
    color: #fff;
    text-decoration: none;
    font-family: "Poppins", sans-serif;
    font-size: 1.6rem;
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .mobile-menu-links a:hover, .mobile-menu-links a:active { color: #e8c86b; }
  .mobile-menu-phone {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.6rem;
    color: rgba(255, 255, 255, 0.85);
    text-decoration: none;
    font-size: 1.35rem;
    font-weight: 600;
    width: 220px;
    padding-top: 1.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
  }
  .mobile-menu-phone:hover { color: #e8c86b; }
  .mobile-menu-phone svg { width: 22px; height: 22px; }
  .mobile-menu-cta.btn-gold {
    margin-top: 0.25rem;
    font-size: 1.1rem;
    padding: 1em 2.4em;
  }

  body.menu-open { overflow: hidden; }

  @media (prefers-reduced-motion: reduce) {
    .mobile-menu, .nav-burger span { transition: none; }
  }

  @media (max-width: 960px) {
    .nav-links { display: none; }
    .nav-burger { display: flex; }
  }

  @media (min-width: 961px) {
    .mobile-menu { display: none; }
  }

  @media (max-width: 600px) {
    header { padding: 1rem 1.1rem; gap: 0.75rem; }
    header img.logo { height: 50px; margin: -16px 0; }
    .nav-right { gap: 0.6rem; }
    .phone span.phone-text { display: none; }
    .phone { margin-left: -0.3rem; }
    .phone svg { width: 20px; height: 20px; }
    .btn-gold { padding: 0.6rem 0.9rem; font-size: 0.82rem; }
    .btn-gold:not(.hero-cta) { padding-right: 0.9rem; }
    .btn-gold svg { display: none; }
    .hero-cta { padding: 1.2rem 2.4rem; font-size: 1.15rem; }
    .hero-cta svg { display: inline; }
    .hero-cta .cta-fill-arrow { right: 0.3em; }
    .hero-cta .cta-fill-text { margin-left: -0.4em; }
    .mobile-menu-cta.btn-gold { padding: 1em 2.4em; }
  }

  /* hero body */
  .hero-body {
    position: relative;
    z-index: 1;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 3rem;
    flex-wrap: wrap;
    max-width: 82rem;
    width: 100%;
    margin: 0 auto;
    padding: 2rem clamp(1.25rem, 4vw, 3rem);
  }

  .hero-left {
    max-width: 50rem;
    margin-top: 6rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
  }

  .trust-pill {
    position: absolute;
    right: clamp(3rem, 8vw, 6rem);
    top: 65%;
    transform: translateY(-50%);
    width: 23.4rem;
    height: 13rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    text-align: center;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.06));
    border-radius: 1.5rem;
    backdrop-filter: blur(16px) saturate(160%);
    -webkit-backdrop-filter: blur(16px) saturate(160%);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.45);
  }

  .trust-inline {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    margin-top: 1.75rem;
    text-align: left;
  }

  .avatars { display: flex; }
  .avatars span {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 999px;
    border: 2px solid rgba(255, 255, 255, 0.7);
    margin-left: -0.7rem;
    display: block;
    background-size: cover;
    background-position: center;
  }
  .avatars span:first-child { margin-left: 0; }
  .avatars span:nth-child(1) { background-image: url("images/avatar1.png"); }
  .avatars span:nth-child(2) { background-image: url("images/avatar2.png"); }
  .avatars span:nth-child(3) { background-image: url("images/avatar3.png"); }

  .trust-text { color: #fff; font-size: 0.95rem; line-height: 1.3; }
  .trust-text .stars { color: #e8c86b; letter-spacing: 2px; display: block; margin-bottom: 0.2rem; font-size: 1.05rem; }
  .trust-text .caption { color: rgba(255, 255, 255, 0.85); }

  h1 {
    color: #fff;
    font-size: clamp(2.5rem, 5.2vw, 4.4rem);
    font-weight: 800;
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0 0 1.3rem;
  }
  h1 span { display: block; }
  @media (min-width: 761px) {
    h1 span { white-space: nowrap; }
  }

  .sub {
    color: rgba(255, 255, 255, 0.85);
    font-size: 1.22rem;
    line-height: 1.5;
    max-width: 36rem;
    margin: 1rem 0 0;
  }

  @media (max-width: 760px) {
    .hero-body { flex-direction: column; align-items: stretch; gap: 2.25rem; padding: 1.5rem 1.1rem 2.5rem; }
    section.hero { min-height: 100svh; }
    .hero-left { margin-top: 6.5rem; align-items: flex-start; text-align: left; }
    .trust-inline { margin-top: 1.1rem; }
    h1 { font-size: clamp(2.4rem, 10vw, 3.2rem); }
    .sub { margin-top: 0.3rem; max-width: none; font-weight: 400; }
    .trust-pill { display: none; }
    .trust-inline { justify-content: flex-start; margin-left: 0; margin-right: 0; }
    .hero-cta { margin-top: 1.5rem; padding: 1rem 2rem; font-size: 1.05rem; }
    section.hero {
      background-image:
        linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)),
        url("images/hero-bg-mobile.jpg");
      background-position: center;
    }
  }

  @media (max-width: 420px) {
    .field-row { flex-direction: column; gap: 1.1rem; }
    .proof-bar { padding: 1.3rem 1.1rem 1.8rem; }
    .marquee-track span { font-size: 0.85rem; }
    h1 { font-size: clamp(2.46rem, 7.9vw, 2.46rem); }
    .sub { font-size: 1rem; }
  }

  .proof-bar {
    position: relative;
    z-index: 1;
    overflow: hidden;
    max-width: 60rem;
    margin: 0 auto;
    padding: 1.6rem clamp(1.25rem, 4vw, 3rem) 2.25rem;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    -webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
    mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
  }

  .marquee-track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 3rem;
    animation: marquee 26s linear infinite;
  }

  .marquee-track span {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.95rem;
    font-style: italic;
    white-space: nowrap;
  }

  @keyframes marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  @media (prefers-reduced-motion: reduce) {
    .marquee-track { animation: none; }
  }

  section.blank {
    position: relative;
    background: #f4f2ec;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 4rem clamp(1.25rem, 4vw, 3rem) 2rem;
    overflow: hidden;
  }

  section.blank::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
      linear-gradient(to right, rgba(25, 21, 13, 0.07) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(25, 21, 13, 0.07) 1px, transparent 1px);
    background-size: 48px 48px;
    mask-image: radial-gradient(ellipse 60% 70% at 50% 50%, #000 0%, transparent 75%);
    -webkit-mask-image: radial-gradient(ellipse 60% 70% at 50% 50%, #000 0%, transparent 75%);
    pointer-events: none;
  }

  section.blank .steps {
    position: relative;
    z-index: 1;
  }

  .steps {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    gap: 2rem;
    max-width: 70rem;
    width: 100%;
    flex-wrap: wrap;
  }

  .step {
    flex: 1 1 14rem;
    max-width: 16rem;
    text-align: center;
  }

  .step-icon {
    position: relative;
    width: 7rem;
    height: 5.5rem;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .step-icon .blob {
    position: absolute;
    inset: 0;
    background: #e8c86b;
    border-radius: 60% 55% 50% 60% / 55% 50% 60% 50%;
  }

  .step-icon svg {
    position: relative;
    width: 2.6rem;
    height: 2.6rem;
    stroke: #19150d;
  }

  .step h3 {
    margin: 0 0 0.5rem;
    font-family: "Poppins", "Inter", sans-serif;
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: -0.0417em;
    color: #19150d;
  }

  .step h3 a {
    color: inherit;
    text-decoration: none;
  }
  .step h3 a:hover, .step h3 a:focus-visible { color: #c9a227; }

  .step p {
    margin: 0;
    font-size: 0.95rem;
    color: #6b6558;
  }

  .step-arrow {
    flex: none;
    align-self: center;
    width: 4rem;
    display: flex;
    justify-content: center;
    color: #b7b09a;
  }

  @media (max-width: 760px) {
    .steps {
      flex-direction: column;
      align-items: center;
      gap: 1.75rem;
      max-width: 20rem;
    }

    .step {
      flex: 1 1 100%;
      max-width: 20rem;
    }

    .step-arrow {
      width: 2.5rem;
      height: 1.5rem;
      margin: -0.75rem 0;
      transform: rotate(90deg);
    }

    .steps > .step-arrow:nth-of-type(2) {
      align-self: flex-end;
      margin-right: -0.5rem;
    }

    .steps > .step-arrow:nth-of-type(4) {
      align-self: flex-start;
      margin-left: -0.5rem;
    }
  }

  .arrow-head { transition: stroke-dashoffset 0.15s ease-out; }
  .arrow-reveal { transition: stroke-dashoffset 0.3s ease-out; }

  @media (prefers-reduced-motion: reduce) {
    .arrow-head, .arrow-reveal { transition: none; }
  }

  /* services grid section */
  section.services-grid-section {
    background: #f4f2ec;
    padding: 5.5rem clamp(1.25rem, 4vw, 3rem) 5rem;
  }

  .services-grid-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    color: #8a7a3d;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.5s ease 0.1s, transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s;
  }
  .services-grid-eyebrow.revealed {
    opacity: 1;
    transform: none;
  }
  .services-grid-eyebrow .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8a7a3d;
    display: inline-block;
  }

  .services-grid-head-row {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    gap: 3.5rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
  }
  .services-grid-head-row h2 {
    font-family: "Poppins", "Inter", sans-serif;
    font-size: clamp(2.4rem, 4.6vw, 3.9rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.0417em;
    color: #19150d;
    margin: 0;
    transform: translateY(-24px);
    max-width: 900px;
  }
  .services-grid-head-row h2 .accent { color: #c9a227; }

  .services-grid-head-right {
    max-width: 560px;
    margin-left: auto;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.5s ease 0.1s, transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s;
  }
  .services-grid-head-right.revealed {
    opacity: 1;
    transform: none;
  }

  .h2-word {
    display: inline-block;
    white-space: pre;
    opacity: 0;
    transform: translateY(10px);
    filter: blur(10px);
  }
  .h2-word.revealed {
    opacity: 1;
    transform: none;
    filter: none;
  }
  .services-grid-head-row h2.reveal .h2-word,
  .video-head h2.reveal .h2-word {
    animation: h2WordIn 0.5s ease-out forwards;
    animation-delay: calc(var(--i, 0) * 50ms);
  }
  @keyframes h2WordIn {
    to { opacity: 1; transform: none; filter: blur(0); }
  }

  @media (prefers-reduced-motion: reduce) {
    .services-grid-eyebrow,
    .services-grid-head-right,
    .services-grid-card,
    .h2-word {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
    }
  }
  .services-grid-head-right p {
    color: #19150d;
    font-size: 1.2rem;
    line-height: 1.6;
    margin: 0 0 1.4rem;
  }

  .btn-orange {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    background: linear-gradient(135deg, #e8c86b, #c9a227);
    color: #19150d;
    font-weight: 600;
    font-size: 1.05rem;
    padding: 0.95em 1.8em;
    border-radius: 0.944em;
    text-decoration: none;
    overflow: hidden;
    box-shadow: 0 8px 16px -6px rgba(25, 21, 13, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: filter 0.2s ease;
  }
  .btn-orange:hover, .btn-orange:focus-visible {
    filter: brightness(0.86);
  }

  .btn-orange-text {
    position: relative;
    z-index: 1;
    display: inline-block;
    height: 1.2em;
    line-height: 1.2em;
    overflow: hidden;
  }
  .btn-orange-text-inner {
    display: flex;
    flex-direction: column;
    transition: transform 0.4s ease-in-out;
  }
  .btn-orange-text-inner span {
    display: block;
    height: 1.2em;
    line-height: 1.2em;
  }
  .btn-orange:hover .btn-orange-text-inner,
  .btn-orange:focus-visible .btn-orange-text-inner {
    transform: translateY(-50%);
  }

  .btn-orange:focus-visible { outline: 2px solid #c9a227; outline-offset: 3px; }

  @media (prefers-reduced-motion: reduce) {
    .btn-orange-text-inner { transition: none; }
    .btn-orange:hover .btn-orange-text-inner, .btn-orange:focus-visible .btn-orange-text-inner { transform: none; }
  }

  .btn-orange .circle { display: none; }

  .services-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.75rem;
  }

  .services-grid-card {
    display: block;
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    height: 462px;
    background: #f4f2ec;
    text-decoration: none;
    box-shadow: 0 6px 18px -2px rgba(22, 34, 58, 0.4);
    transition: transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.2s ease, opacity 0.5s ease;
    opacity: 0;
    transform: translateY(40px);
  }
  .services-grid-card.revealed {
    opacity: 1;
    transform: none;
  }
  .services-grid-card:hover, .services-grid-card:focus-visible {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    transform: translateY(-4px);
    box-shadow: 0 10px 24px -4px rgba(22, 34, 58, 0.45);
  }

  .services-grid-img {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
  }

  .services-grid-glass {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    min-height: 132px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 8px;
    padding: 20px 76px 20px 20px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }
  .services-grid-glass h3 {
    margin: 0;
    font-size: 1.3rem;
    font-weight: 500;
    color: #19150d;
  }
  .services-grid-glass p {
    margin: 0;
    max-width: 78%;
    font-size: 0.92rem;
    font-weight: 400;
    color: rgba(25, 21, 13, 0.75);
    line-height: 1.5;
  }

  .services-grid-arrow {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    width: 54px;
    height: 54px;
    flex: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f4f2ec;
    border: 1px solid rgba(22, 34, 58, 0.14);
    color: #19150d;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .services-grid-arrow-track {
    position: relative;
    width: 26px;
    height: 26px;
    overflow: hidden;
  }
  .services-grid-arrow-track svg {
    position: absolute;
    top: 0;
    left: 0;
    width: 26px;
    height: 26px;
    transition: transform 0.32s ease;
  }
  .services-grid-arrow-track svg:last-child {
    transform: translateX(-150%);
  }
  .services-grid-card:hover .services-grid-arrow-track svg:first-child {
    transform: translateX(150%);
  }
  .services-grid-card:hover .services-grid-arrow-track svg:last-child {
    transform: translateX(0);
  }

  @media (max-width: 960px) {
    .services-grid { grid-template-columns: repeat(2, 1fr); }
  }

  @media (max-width: 680px) {
    .services-grid { grid-template-columns: 1fr; }
    .services-grid-head-row { align-items: flex-start; gap: 0.2rem; }
    .services-grid-head-row h2 { margin-top: 1.5rem; font-size: 2.65rem; }
    .services-grid-head-right p { font-size: 1rem; }
    .services-grid-card { height: 420px; }

    /* faster reveal-in on mobile, to match the earlier scroll trigger */
    .services-grid-eyebrow,
    .services-grid-head-right {
      transition-duration: 0.28s, 0.32s;
      transition-delay: 0s, 0s;
    }
    .services-grid-card {
      transition-duration: 0.35s, 0.2s, 0.3s;
    }
    .services-grid-head-row h2.reveal .h2-word {
      animation-duration: 0.3s;
      animation-delay: calc(var(--i, 0) * 25ms);
    }
  }

  section.services-pin {
    position: relative;
    background:
      radial-gradient(65% 35% at 30% 100%, rgba(232, 200, 107, 0.3), transparent),
      radial-gradient(60% 30% at 85% 100%, rgba(201, 162, 39, 0.22), transparent),
      linear-gradient(180deg, #ffffff 0, #fdfaf1 500px, #fdfaf1 100%);
    scroll-margin-top: 6.5rem;
  }

  .services-pin-inner {
    height: 44rem;
    display: flex;
    align-items: center;
    gap: 3.5rem;
    max-width: 88rem;
    margin: 0 auto;
    padding: 4rem clamp(1.25rem, 4vw, 3rem);
  }

  .services-pin-left {
    flex: 0 0 24rem;
    display: flex;
    flex-direction: column;
  }

  .services-pin-left .eyebrow {
    display: block;
    color: #8a7a3d;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 0.75rem;
  }

  .services-pin-left h2 {
    color: #19150d;
    font-size: clamp(2rem, 3.2vw, 2.6rem);
    font-weight: 500;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem;
  }

  .service-list {
    list-style: none;
    margin: 0 0 2rem;
    padding: 0;
  }

  .service-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 1rem 1.25rem;
    font-size: 1.2rem;
    font-weight: 700;
    color: #6b6558;
    border-bottom: 1px solid #ece7da;
    border-radius: 0.75rem;
    cursor: pointer;
    transition: color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  }
  .service-list-item:last-child { border-bottom: none; }

  .service-list-arrow {
    flex: none;
    width: 0;
    opacity: 0;
    overflow: hidden;
    transition: width 0.3s ease, opacity 0.3s ease;
  }

  .service-list-item.active .service-list-arrow {
    width: 1.4rem;
    opacity: 1;
    animation: service-arrow-nudge 1.3s ease-in-out infinite;
  }

  @keyframes service-arrow-nudge {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
  }

  @media (prefers-reduced-motion: reduce) {
    .service-list-item.active .service-list-arrow { animation: none; }
  }
  .service-list-item.active {
    color: #19150d;
    background: linear-gradient(135deg, #e8c86b, #c9a227);
    border-bottom-color: transparent;
    box-shadow: 0 6px 10px -6px rgba(25, 21, 13, 0.45);
  }

  .services-pin-quote {
    position: relative;
    margin-top: auto;
    min-height: 14rem;
    border-radius: 1rem;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    box-shadow: 0 20px 40px -20px rgba(25, 21, 13, 0.4);
  }

  .services-pin-quote-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.85rem;
    padding: 1.75rem;
    background: rgba(16, 13, 8, 0.6);
  }

  .services-pin-quote-overlay p {
    color: #fff;
    font-size: 1rem;
    line-height: 1.5;
    font-style: italic;
    margin: 0;
  }

  .services-pin-quote-overlay strong {
    display: block;
    color: #e8c86b;
    font-size: 0.88rem;
    font-weight: 700;
  }

  .services-pin-stage {
    position: relative;
    flex: 1;
    height: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
    box-shadow: 0 40px 70px -30px rgba(25, 21, 13, 0.35);
  }

  .service-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-color: #19150d;
    transform: translateY(100%);
    transition: transform 0.7s cubic-bezier(.65, 0, .35, 1);
    z-index: 0;
    cursor: pointer;
  }
  .service-slide.active { transform: translateY(0); z-index: 2; }

  .service-slide-icon-wrap {
    background: linear-gradient(135deg, #2b2316, #19150d);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .service-slide-icon svg { width: 7rem; height: 7rem; stroke: #e8c86b; }

  .service-slide-label {
    display: none;
  }
  .service-slide-arrow {
    flex: none;
    width: 1.25rem;
    height: 1.25rem;
    color: #e8c86b;
  }

  @media (prefers-reduced-motion: reduce) {
    .service-slide { transition: none; }
  }

  @media (max-width: 760px) {
    .services-pin-inner {
      height: auto;
      flex-direction: column;
      align-items: stretch;
      gap: 0;
      padding: 3rem clamp(1.25rem, 4vw, 2rem);
    }

    .services-pin-left { display: contents; }

    .services-pin-left .eyebrow { order: 1; }
    .services-pin-left h2 { order: 2; margin-bottom: 1.5rem; }

    /* the click-to-swap text list only makes sense with the desktop
       sticky image stage; on mobile every service gets its own card below */
    .service-list { display: none; }

    .services-pin-stage {
      order: 3;
      position: static;
      flex: none;
      width: 100%;
      height: auto;
      display: flex;
      flex-direction: column;
      gap: 0.9rem;
      border-radius: 0;
      box-shadow: none;
      overflow: visible;
      margin-bottom: 1.5rem;
    }

    .service-slide,
    .service-slide.active {
      position: relative;
      inset: auto;
      width: 100%;
      height: 10.5rem;
      border-radius: 1.1rem;
      overflow: hidden;
      transform: none;
      transition: none;
      z-index: auto;
      box-shadow: 0 14px 28px -18px rgba(25, 21, 13, 0.4);
    }

    .service-slide::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, rgba(12, 9, 4, 0) 42%, rgba(10, 8, 4, 0.88) 100%);
    }

    .service-slide-label {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      position: absolute;
      left: 1.1rem;
      right: 1.1rem;
      bottom: 1rem;
      color: #fff;
      font-weight: 700;
      font-size: 1.05rem;
      letter-spacing: -0.01em;
      text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    }

    .services-pin-quote {
      order: 4;
      width: 100%;
      margin-top: 0;
      min-height: 10rem;
    }
  }

  section.blank2 {
    background: #f4f2ec;
    min-height: 40vh;
  }

  /* client reviews (new ticker section) */
  section.client-reviews {
    background: #f4f2ec;
    padding: 80px 40px;
    overflow: hidden;
  }

  .cr-header {
    max-width: 770px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    text-align: center;
  }

  .cr-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #8a7a3d;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 999px;
  }
  .cr-badge .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #c9a227;
    display: inline-block;
  }
  .cr-badge, .cr-heading, .cr-sub, .review-badges { opacity: 0; }
  .cr-badge.reveal, .review-badges.reveal {
    opacity: 1;
    animation: crBadgeIn 0.6s ease-out forwards;
  }
  @keyframes crBadgeIn {
    from { opacity: 0; transform: translateY(40px); }
    to { opacity: 1; transform: translateY(0); }
  }

  .cr-heading {
    font-family: "Poppins", "Inter", sans-serif;
    font-size: 3.75rem;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.0417em;
    margin: 0;
  }
  .cr-line { display: block; }
  .cr-line-dark { color: #19150d; }
  .cr-line-accent { color: #c9a227; }

  .cr-sub {
    max-width: 660px;
    margin: 0 auto;
    font-family: "Inter", sans-serif;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.6;
    letter-spacing: -0.01em;
    color: #19150d;
  }

  .cr-heading.reveal, .cr-sub.reveal { opacity: 1; }
  .cr-heading .word, .cr-sub .word {
    display: inline-block;
    white-space: pre;
    opacity: 0;
    transform: translateY(10px);
    filter: blur(4px);
  }
  .cr-heading.reveal .word, .cr-sub.reveal .word {
    animation: crWordIn 0.5s ease-out forwards;
    animation-delay: calc(var(--i) * 30ms);
  }
  @keyframes crWordIn {
    to { opacity: 1; transform: translateY(0); filter: blur(0); }
  }

  .cr-viewport {
    margin-top: 16px;
    padding: 24px 0;
    overflow: hidden;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    opacity: 0;
    transform: translateY(10px);
  }
  .cr-viewport.reveal {
    animation: crStripIn 0.5s ease-out 0.3s forwards;
  }

  .cr-strip {
    display: flex;
    width: max-content;
    will-change: transform;
  }
  @keyframes crStripIn {
    to { opacity: 1; transform: translateY(0); }
  }

  .cr-set {
    display: flex;
    gap: 16px;
    padding-left: 16px;
  }
  .cr-set:first-child { padding-left: 0; }

  .cr-card {
    flex: none;
    width: 400px;
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(25, 21, 13, 0.08);
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 18px -5px rgba(22, 34, 58, 0.55);
    transition: box-shadow 0.25s ease;
  }
  .cr-card:hover {
    box-shadow: 0 10px 22px -5px rgba(22, 34, 58, 0.6);
  }

  .cr-panel {
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    height: 300px;
    flex: none;
    background: rgba(255, 255, 255, 0.7);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  .cr-stars {
    flex: none;
    color: #c9a227;
    font-size: 1.25rem;
    letter-spacing: 2px;
    line-height: 1;
  }

  .cr-quote {
    flex: 1 1 auto;
    min-height: 0;
    margin: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: #19150d;
    text-align: left;
    overflow: hidden;
  }
  .cr-quote-short { display: none; }

  .cr-divider {
    flex: none;
    height: 1px;
    width: 100%;
    background: rgba(25, 21, 13, 0.15);
  }

  .cr-person {
    flex: none;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .cr-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    flex: none;
    background-size: cover;
    background-position: center;
  }
  .cr-id {
    display: flex;
    flex-direction: column;
  }
  .cr-name {
    font-size: 1rem;
    font-weight: 600;
    color: #19150d;
  }
  .cr-loc {
    font-size: 0.75rem;
    color: #6b6558;
  }

  .cr-photo {
    flex: 1 1 auto;
    width: 100%;
    min-height: 340px;
    background-size: cover;
    background-position: center;
  }

  @media (prefers-reduced-motion: reduce) {
    .cr-viewport { overflow-x: auto; -webkit-overflow-scrolling: touch; cursor: auto; }
    .cr-strip { transform: none !important; }
    .cr-set[aria-hidden="true"] { display: none; }
    .cr-badge, .cr-heading, .cr-sub, .cr-viewport, .review-badges { opacity: 1; animation: none; transform: none; }
    .cr-heading .word, .cr-sub .word { opacity: 1; transform: none; filter: none; animation: none; }
  }

  @media (max-width: 960px) {
    .cr-heading { font-size: 2.875rem; }
    .cr-sub { font-size: 1.125rem; }
  }

  @media (max-width: 680px) {
    section.client-reviews { padding: 56px 20px; }
    .cr-heading { font-size: 2.5rem; }
    .cr-sub { font-size: 1rem; }
    .cr-card { width: 330px; }
    .cr-photo { display: none; }
    .cr-quote-full { display: none; }
    .cr-quote-short { display: inline; }

    #reviews .review-badges {
      flex-direction: column;
      align-items: center;
      align-self: center;
      gap: 1.25rem;
      margin: 2rem auto 1.5rem;
      width: auto;
      margin-left: 5px;
    }
    #reviews .review-divider {
      width: 70%;
      height: 1px;
      align-self: center;
      margin: 0;
      order: 1;
    }
    #reviews .review-badges > .google-badge:nth-child(1) { order: 2; transform: translateX(-3px); }
    #reviews .review-badges > .google-badge:nth-child(1) svg {
      transform: translateX(-14px);
      margin-right: 8px;
    }
    #reviews .review-badges > .google-badge:nth-child(3) { order: 0; }
    #reviews .review-badges > .google-badge {
      width: fit-content;
      margin: 0 auto;
    }
    #reviews .google-badge-text { align-items: center; }
    #reviews .google-badge-stars { display: block; width: 100%; text-align: center; }
    .cr-viewport { margin-top: 0; }
  }

  section.testimonials {
    background:
      radial-gradient(60% 55% at 25% 20%, rgba(232, 200, 107, 0.35), transparent),
      radial-gradient(55% 50% at 80% 10%, rgba(201, 162, 39, 0.25), transparent),
      #fdfaf1;
    padding: 8.5rem 0 7rem;
    overflow: hidden;
  }

  .testimonials-head {
    max-width: 64rem;
    margin: 0 auto 3.5rem;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
    text-align: center;
  }

  .testimonials-head h2 {
    color: #19150d;
    font-size: clamp(2rem, 3.6vw, 2.9rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    white-space: nowrap;
    margin: 0;
  }

  .review-badges {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    width: fit-content;
    margin: 3rem auto 3.5rem;
  }

  .review-divider {
    width: 1px;
    align-self: stretch;
    margin: 0 2.25rem;
    background: #ece7da;
  }

  .google-badge {
    display: inline-flex;
    align-items: center;
    gap: 1rem;
  }
  .google-badge svg { width: 2.75rem; height: 2.75rem; flex: none; }
  .google-badge-text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.3;
    color: #19150d;
    font-weight: 500;
    font-size: 1.15rem;
  }
  .google-badge-stars { color: #c9a227; letter-spacing: 2px; font-size: 1.2rem; }


  .t-featured {
    position: relative;
    display: flex;
    align-items: stretch;
    gap: 2.5rem;
    max-width: 62rem;
    margin: 0 auto 3.5rem;
    padding: 1.5rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.18));
    border-radius: 1.5rem;
    border: 1px solid rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    box-shadow: 0 30px 60px -28px rgba(25, 21, 13, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }

  .t-featured-stat {
    position: absolute;
    right: 1.5rem;
    bottom: 1.25rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: #19150d;
    font-weight: 700;
    font-size: 0.95rem;
  }
  .t-featured-stat .stars { color: #c9a227; letter-spacing: 1px; font-size: 1rem; }

  .t-featured-google {
    position: absolute;
    top: 2.4rem;
    right: 2.1rem;
    width: 2.75rem;
    height: 2.75rem;
    z-index: 1;
  }

  .t-featured-photo {
    flex: 0 0 36%;
    min-height: 28rem;
    border-radius: 1.1rem;
    background-size: cover;
    background-position: center;
  }

  .t-featured-content {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    text-align: left;
    padding: 1.5rem 1.5rem 1.5rem 0.5rem;
  }

  .t-featured-stars { color: #c9a227; letter-spacing: 3px; font-size: 1.3rem; display: block; margin-bottom: 1.5rem; }

  .t-featured-quote {
    position: relative;
    color: #19150d;
    font-size: clamp(1.3rem, 2.2vw, 1.8rem);
    line-height: 1.4;
    font-weight: 500;
    margin: 0;
  }

  .t-featured-quote::before {
    content: '\201C';
    position: absolute;
    left: -0.58em;
    top: 0;
  }

  .t-featured-quote::after {
    content: '\201D';
  }

  .t-featured-person {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: 2rem;
  }

  .t-featured-pfp {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: 999px;
    flex: none;
    background-size: cover;
    background-position: center;
    border: 3px solid rgba(201, 162, 39, 0.6);
    box-shadow: 0 10px 20px rgba(25, 21, 13, 0.2);
  }

  .t-featured-id { text-align: left; }
  .t-featured-name { color: #19150d; font-weight: 700; font-size: 1.15rem; }
  .t-featured-role { color: #8a7a3d; font-size: 0.95rem; }

  @media (max-width: 760px) {
    .testimonials-head h2 { white-space: normal; }
    .t-featured { flex-direction: column; padding: 1.5rem; }
    .t-featured-photo { min-height: 16rem; }
    .t-featured-content { padding: 0.5rem 0.25rem; }
    .t-featured-stat { position: static; margin-top: 1rem; }
  }

  .t-row-wrap {
    overflow: hidden;
    max-width: 82rem;
    margin: 0 auto 0.5rem;
    -webkit-mask-image: linear-gradient(to right, transparent, #000 60px, #000 calc(100% - 60px), transparent);
    mask-image: linear-gradient(to right, transparent, #000 60px, #000 calc(100% - 60px), transparent);
    padding: 0.5rem 0 1.5rem;
  }
  .t-row-wrap:last-child { margin-bottom: 0; }

  .t-row {
    display: flex;
    width: max-content;
    gap: 2rem;
    animation: t-scroll-left 100s linear infinite;
  }
  .t-row.reverse { animation-name: t-scroll-right; }

  @keyframes t-scroll-left {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  @keyframes t-scroll-right {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
  }

  @media (prefers-reduced-motion: reduce) {
    .t-row { animation: none; }
  }

  .t-card {
    position: relative;
    overflow: hidden;
    flex: none;
    width: 22.5rem;
    min-height: 17.6rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.06));
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 1.75rem;
    backdrop-filter: blur(34px) saturate(220%);
    -webkit-backdrop-filter: blur(34px) saturate(220%);
    box-shadow:
      0 14px 24px -10px rgba(25, 21, 13, 0.35),
      inset 0 1px 1px rgba(255, 255, 255, 0.9),
      inset 0 -12px 20px -14px rgba(255, 255, 255, 0.5);
    padding: 1.7rem;
  }

  .t-card::before {
    content: "";
    position: absolute;
    top: -60%;
    left: -30%;
    width: 85%;
    height: 85%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.55), transparent 70%);
    transform: rotate(18deg);
    pointer-events: none;
  }

  .t-card > * { position: relative; z-index: 1; }

  .t-stars { color: #e8c86b; letter-spacing: 2px; margin-bottom: 0.85rem; display: block; font-size: 1.05rem; }

  .t-quote {
    color: #3c382f;
    font-size: 1.1rem;
    line-height: 1.5;
    margin: 0 0 1.25rem;
  }

  .t-person { display: flex; align-items: center; gap: 0.7rem; }
  .t-avatar {
    width: 2.9rem;
    height: 2.9rem;
    border-radius: 999px;
    flex: none;
    display: block;
    background-size: cover;
    background-position: center;
    background-color: #e8c86b;
  }
  .t-name { font-weight: 700; font-size: 1.05rem; color: #19150d; }
  .t-role { font-size: 0.9rem; color: #8a8372; }

  @media (max-width: 600px) {
    .t-card { width: 17.5rem; min-height: auto; padding: 1.5rem; }
    .t-quote { font-size: 1rem; }
  }

  section.why-us {
    position: relative;
    display: flex;
    align-items: flex-end;
    background-image: url('images/why-us-bg.jpg');
    background-size: cover;
    background-position: center bottom;
    padding: 5.5rem clamp(1.25rem, 4vw, 3rem) 4rem;
  }

  .why-us-wrap {
    max-width: 82rem;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
  }

  .why-us-content {
    max-width: 42rem;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.22));
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 1.25rem;
    padding: 2.5rem;
    backdrop-filter: blur(24px) saturate(180%);
    -webkit-backdrop-filter: blur(24px) saturate(180%);
    box-shadow: 0 30px 60px -24px rgba(25, 21, 13, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  }

  .why-us-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    color: #8a7a3d;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    margin-bottom: 1rem;
  }
  .why-us-eyebrow .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8a7a3d;
    display: inline-block;
  }

  .why-us-content h2 {
    color: #19150d;
    font-size: clamp(2.2rem, 3.8vw, 3.2rem);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -0.02em;
    margin: 0 0 1.5rem;
  }

  .why-us-content p {
    color: #3c382f;
    font-size: 1.08rem;
    line-height: 1.6;
    margin: 0 0 2.25rem;
  }

  .why-us-stats {
    display: flex;
    gap: 2rem;
    margin-bottom: 2.25rem;
  }

  .why-us-stats div { border-right: 1px solid rgba(25, 21, 13, 0.18); padding-right: 2rem; }
  .why-us-stats div:last-child { border-right: none; padding-right: 0; }

  .why-us-stats strong {
    display: block;
    color: #19150d;
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 0.4rem;
  }

  .why-us-stats span {
    color: #6b6558;
    font-size: 0.85rem;
    font-weight: 700;
    line-height: 1.3;
  }

  .why-us-list-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.5rem;
  }

  .why-us-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
  }

  .why-us-list li {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    font-size: 1.1rem;
    font-weight: 700;
    color: #19150d;
  }

  .why-us-list svg {
    flex: none;
    width: 1.6rem;
    height: 1.6rem;
    stroke: #e8c86b;
  }

  .why-us-cta-btn {
    font-size: 1.05rem;
    margin-left: auto;
    margin-right: 2.25rem;
    margin-top: 0.45rem;
  }

  @media (max-width: 900px) {
    section.why-us {
      background-image:
        linear-gradient(0deg, rgba(25, 21, 13, 0.9), rgba(25, 21, 13, 0.6)),
        url('images/why-us-bg.jpg');
      background-position: left top;
    }
    .why-us-wrap { justify-content: center; text-align: center; }
    .why-us-content { max-width: 32rem; }
    .why-us-list-row { flex-direction: column; justify-content: center; }
    .why-us-list li { justify-content: center; }
    .why-us-stats { justify-content: center; }
    .why-us-stats span { color: #3c382f; }

    .why-us-list { display: none; }
    .why-us-cta-btn.btn-gold {
      margin: 0;
      font-size: 1.15rem;
      padding: 1.2rem 2.4rem;
      box-shadow: 0 14px 30px -12px rgba(0, 0, 0, 0.5);
    }
  }

  @media (max-width: 600px) {
    .why-us-stats { gap: 1.25rem; }
    .why-us-stats div { padding-right: 1.25rem; }
    .why-us-stats strong { font-size: 1.6rem; }
  }

  /* trust-stat style (reused inside the video section's glass stats bar) */
  .split-about-stat {
    text-align: center;
    padding: 0.5rem 1.25rem;
  }

  .split-about-stat strong {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 0.15em;
    font-family: "Inter", sans-serif;
    letter-spacing: -0.02em;
    margin-bottom: 0.75rem;
  }
  .split-about-stat .split-about-num {
    color: #19150d;
    font-weight: 500;
    font-size: clamp(1.9rem, 3.4vw, 2.7rem);
    line-height: 1;
  }
  .split-about-stat .split-about-suffix {
    color: #c9a227;
    font-weight: 500;
    font-size: clamp(0.95rem, 1.7vw, 1.25rem);
    line-height: 1;
  }
  .split-about-stat .split-about-suffix--dark {
    color: #19150d;
  }

  .split-about-stat span {
    display: block;
    color: #19150d;
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
  }

  .split-about-stat p {
    margin: 0;
    color: #6b6558;
    font-size: 0.9rem;
    line-height: 1.4;
  }


  section.service-area {
    position: relative;
    background: #f4f2ec;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
  }

  .service-area-eyebrow {
    position: relative;
    z-index: 1;
    display: flex;
    width: fit-content;
    align-items: center;
    gap: 0.5rem;
    margin: 0 auto 1.5rem;
    background: #fff;
    color: #8a7a3d;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
  }
  .service-area-eyebrow .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8a7a3d;
    display: inline-block;
  }

  .service-area-heading {
    position: relative;
    z-index: 1;
    color: #19150d;
    font-size: clamp(2.2rem, 4vw, 3.75rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.0417em;
    text-align: center;
    margin: 0 0 1.5rem;
  }
  .service-area-heading .accent { color: #c9a227; }

  .service-area-sub {
    position: relative;
    z-index: 1;
    max-width: 50rem;
    margin: 0 auto 0;
    color: #19150d;
    font-size: 1.25rem;
    line-height: 1.6;
    text-align: center;
  }

  .service-area-sketch-wrap {
    overflow: hidden;
    line-height: 0;
    margin-top: -5.5rem;
  }

  .service-area-sketch {
    display: block;
    width: 103%;
    max-width: 103%;
    height: auto;
    margin: 0 -1.5%;
    pointer-events: none;
  }

  .service-area-list {
    position: relative;
    z-index: 1;
    max-width: 78rem;
    margin: 0.75rem auto 0;
    padding: 0 clamp(1.25rem, 4vw, 3rem);
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem 0;
    list-style: none;
  }

  .service-area-list li {
    position: relative;
    padding: 0 2.1rem;
  }

  .service-area-list a {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #19150d;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease;
  }
  .service-area-list a:hover, .service-area-list a:focus-visible { color: #c9a227; }

  .service-area-more {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    color: #19150d;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.3rem;
    font-weight: 600;
  }

  .service-area-list li:not(:last-child)::after {
    content: "";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.1em;
    background: #ddd6c3;
  }

  .service-area-list svg {
    flex: none;
    width: 1.45rem;
    height: 1.45rem;
    stroke: #c9a227;
    fill: none;
  }

  @media (max-width: 680px) {
    .service-area-heading { font-size: 2.65rem; }
    .service-area-sub { font-size: 1rem; }
    .service-area-sketch-wrap { margin-top: -1.5rem; }

    .service-area-list {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 1.5rem;
      max-width: 22rem;
      margin: 1.5rem auto 0;
      padding: 0;
    }
    .service-area-list li {
      padding: 0.85rem 0.1rem;
      border-bottom: 1px solid rgba(25, 21, 13, 0.1);
    }
    .service-area-list li:nth-child(9),
    .service-area-list li:nth-child(10) { border-bottom: none; }
    .service-area-list li:not(:last-child)::after { display: none; }
    .service-area-list a, .service-area-list .service-area-more {
      justify-content: flex-start;
      font-size: 1rem;
    }
    .service-area-list svg { width: 1.1rem; height: 1.1rem; }
  }

  section.video-section {
    background: #f4f2ec;
    padding: 6rem clamp(1.25rem, 4vw, 3rem) 6rem;
  }

  .video-split {
    max-width: 82rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem;
    flex-wrap: wrap;
  }

  .video-head {
    flex: 1 1 22rem;
    max-width: 32rem;
    text-align: left;
  }

  .video-head-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    color: #8a7a3d;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 0.5rem 1.1rem;
    border-radius: 999px;
    margin-bottom: 1.5rem;
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.5s ease 0.1s, transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s;
  }
  .video-head-badge.revealed { opacity: 1; transform: none; }
  .video-head-badge .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8a7a3d;
    display: inline-block;
  }
  .video-head-badge .stars { color: #c9a227; letter-spacing: 1px; }

  .video-head h2 {
    font-family: "Poppins", "Inter", sans-serif;
    color: #19150d;
    font-size: clamp(2.2rem, 4vw, 3rem);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.0417em;
    margin: 0 0 1.5rem;
  }
  .video-head h2 .accent { color: #c9a227; }

  .video-head-body {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.5s ease, transform 0.7s cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .video-head-body.revealed { opacity: 1; transform: none; }

  .video-head-cta { display: none; }

  .video-head-social {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;
    margin-top: 0.5rem;
  }

  .video-head-social a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    transition: transform 0.2s ease;
  }

  .video-head-social a:hover, .video-head-social a:focus-visible {
    transform: translateY(-2px);
  }

  .video-head-social img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 8px 14px rgba(25, 21, 13, 0.3));
  }

  .video-head-social img[alt="Instagram"] {
    width: 94%;
    height: 94%;
    margin: auto;
  }

  .video-head p {
    color: #19150d;
    font-size: 1.25rem;
    line-height: 1.6;
    margin: 0 0 1.5rem;
  }

  .video-grid {
    flex: 0 1 44rem;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    margin-top: 3rem;
    padding-bottom: 8rem;
  }

  .video-card {
    position: relative;
    flex: 0 1 15rem;
    aspect-ratio: 9 / 18;
    border-radius: 2.2rem;
    background: #19150d;
    border: 0.6rem solid #19150d;
    overflow: hidden;
    box-shadow: 0 20px 40px -14px rgba(25, 21, 13, 0.45);
    transform: rotate(-7deg) translateY(10px);
  }

  .video-card:nth-child(3) {
    transform: rotate(7deg) translateY(10px);
  }

  .video-card.featured {
    flex-basis: 18rem;
    z-index: 2;
    transform: translateY(-14px);
  }

  .video-card::before {
    content: '';
    position: absolute;
    top: 0.6rem;
    left: 50%;
    transform: translateX(-50%);
    width: 2.6rem;
    height: 0.6rem;
    background: #19150d;
    border-radius: 999px;
    z-index: 4;
  }

  .video-card-img {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    border-radius: 1.65rem;
  }

  @media (max-width: 900px) {
    .video-split { flex-direction: column; justify-content: center; text-align: center; }
    .video-head { text-align: center; max-width: 30rem; }
    .video-head-social { justify-content: center; margin-top: 2rem; }
    .video-head p { display: none; }

    .video-head-cta { display: none; }

    .video-grid {
      flex-basis: auto;
      width: 100%;
      gap: 0.75rem;
      margin-top: -7.5rem;
      padding-bottom: 3rem;
    }
    .video-card {
      flex: 1 1 0;
      max-width: none;
      aspect-ratio: 9 / 19.5;
      border-width: 0.3rem;
      border-radius: 1.6rem;
      transform: rotate(-4deg) translateY(10px);
    }
    .video-card:nth-child(3) { transform: rotate(4deg) translateY(10px); }
    .video-card.featured { flex: 1.15 1 0; transform: translateY(-14px); }
    .video-card-img { border-radius: 1.1rem; }
    .video-card::before { top: 0.4rem; width: 1.8rem; height: 0.4rem; }
  }

  .video-cta-bar {
    position: relative;
    z-index: 5;
    max-width: 82rem;
    margin: -3rem auto 0;
    background: linear-gradient(165deg, rgba(235, 236, 239, 0.75), rgba(232, 200, 107, 0.2), rgba(180, 183, 190, 0.55));
    border-radius: 2.25rem;
    padding: 3.75rem clamp(1.5rem, 4vw, 3.5rem);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    flex-wrap: wrap;
    overflow: hidden;
    border: 1.5px solid rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(20px) saturate(180%);
    -webkit-backdrop-filter: blur(20px) saturate(180%);
    box-shadow:
      0 16px 28px -10px rgba(25, 21, 13, 0.45),
      inset 0 1px 1px rgba(255, 255, 255, 1),
      inset 0 -2px 3px rgba(120, 122, 130, 0.45);
  }

  .video-cta-bar--stats {
    padding: 1.75rem clamp(1.5rem, 4vw, 3rem);
    display: block;
  }

  .video-cta-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .video-cta-stats .split-about-stat {
    border-left: 1px solid rgba(25, 21, 13, 0.18);
  }
  .video-cta-stats .split-about-stat:first-child {
    border-left: none;
  }

  @media (max-width: 900px) {
    .video-cta-bar { margin-top: -2rem; }
    .video-cta-stats { grid-template-columns: 1fr; gap: 2rem; }
    .video-cta-stats .split-about-stat {
      border-left: none;
      border-top: 1px solid rgba(25, 21, 13, 0.18);
      padding-top: 1.5rem;
    }
    .video-cta-stats .split-about-stat:first-child {
      border-top: none;
      padding-top: 0.5rem;
    }
  }

  .video-cta-text, .video-cta-actions {
    position: relative;
    z-index: 1;
  }

  .video-cta-text h3 {
    color: #19150d;
    font-size: clamp(1.6rem, 2.6vw, 2.2rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    margin: 0 0 0.5rem;
  }

  .video-cta-text p {
    color: #4a453c;
    font-size: 1rem;
    margin: 0;
  }

  .video-cta-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
  }

  .video-cta-actions .btn-outline-dark {
    display: inline-flex;
    align-items: center;
    gap: 0.526em;
    background: rgba(255, 255, 255, 0.5);
    color: #19150d;
    font-weight: 700;
    font-size: 0.95rem;
    padding: 0.895em 2em 0.895em 1.474em;
    border-radius: 0.895em;
    border: 1px solid rgba(255, 255, 255, 0.8);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.22s ease-out, box-shadow 0.22s ease-out, transform 0.22s ease-out;
  }
  .video-cta-actions .btn-outline-dark:hover,
  .video-cta-actions .btn-outline-dark:focus-visible {
    background: rgba(255, 255, 255, 0.68);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 10px 20px -10px rgba(25, 21, 13, 0.35);
    transform: translateY(-2px);
  }
  .video-cta-actions .btn-outline-dark:focus-visible { outline: 2px solid #c9a227; outline-offset: 3px; }
  .video-cta-actions .btn-outline-dark:active {
    transform: translateY(0) scale(0.98);
    transition: transform 0.12s ease-out;
  }
  @media (prefers-reduced-motion: reduce) {
    .video-cta-actions .btn-outline-dark { transition-duration: 0.01ms; }
    .video-cta-actions .btn-outline-dark:hover,
    .video-cta-actions .btn-outline-dark:focus-visible,
    .video-cta-actions .btn-outline-dark:active { transform: none; }
  }

  @media (max-width: 760px) {
    .video-cta-bar { flex-direction: column; align-items: flex-start; margin-top: -2rem; }
  }

  /* contact us section */
  section.contact-us {
    background: #f4f2ec;
    padding: 80px 40px;
  }

  .cu-inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1.168fr;
    gap: 40px;
    align-items: center;
  }

  .cu-left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 26px;
    opacity: 0;
    transform: scale(0.95);
  }
  .cu-left.revealed { opacity: 1; transform: none; }

  .cu-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    color: #8a7a3d;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 7px 16px;
    border-radius: 999px;
    opacity: 0;
    transform: translateY(40px);
  }
  .cu-badge .dot { width: 7px; height: 7px; border-radius: 50%; background: #c9a227; display: inline-block; }
  .cu-badge.revealed { opacity: 1; transform: none; }

  .cu-heading {
    font-family: "Poppins", "Inter", sans-serif;
    font-size: 2.875rem;
    font-weight: 500;
    line-height: 1.2;
    margin: 0 0 8px;
  }
  .cu-dark { color: #19150d; }
  .cu-accent { color: #c9a227; }
  .cu-heading .word {
    display: inline-block;
    white-space: pre;
    opacity: 0;
    transform: translateY(10px);
    filter: blur(10px);
  }
  .cu-heading .word.revealed {
    opacity: 1;
    transform: none;
    filter: none;
  }
  .cu-heading.reveal .word {
    animation: cuWordIn 0.5s ease-out forwards;
    animation-delay: calc(var(--i, 0) * 50ms);
  }
  @keyframes cuWordIn {
    to { opacity: 1; transform: none; filter: blur(0); }
  }

  .cu-sub {
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.6;
    color: #19150d;
    max-width: 470px;
    margin: 0;
  }
  .cu-sub .word {
    display: inline-block;
    white-space: pre;
    opacity: 0;
    transform: translateY(10px);
    filter: blur(10px);
  }
  .cu-sub .word.revealed {
    opacity: 1;
    transform: none;
    filter: none;
  }
  .cu-sub.reveal .word {
    animation: cuWordIn 0.5s ease-out forwards;
    animation-delay: calc(var(--i, 0) * 50ms);
  }

  .cu-details {
    max-width: 400px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 18px;
    opacity: 0;
    transform: translateY(40px);
  }
  .cu-details.revealed { opacity: 1; transform: none; }

  .cu-row { display: flex; align-items: center; gap: 16px; min-height: 52px; }
  .cu-icon {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #f4ece3;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
  }
  .cu-icon svg { width: 22px; height: 22px; color: #c9a227; }
  .cu-text { display: flex; flex-direction: column; gap: 2px; }
  .cu-label { font-size: 0.85rem; color: #6b6558; }
  .cu-value { font-size: 1.125rem; color: #19150d; text-decoration: none; font-weight: 500; }
  a.cu-value:hover, a.cu-value:focus-visible { color: #c9a227; }
  .cu-divider { height: 1px; width: 100%; background: rgba(25, 21, 13, 0.2); }

  .cu-form-card {
    background: #fff;
    border-radius: 18px;
    padding: 34px 24px;
    opacity: 0;
    transform: translateY(40px);
  }
  .cu-form-card.revealed { opacity: 1; transform: none; }

  @media (min-width: 961px) {
    .cu-form-card { margin-top: 48px; }
  }

  #cu-form { display: flex; flex-direction: column; gap: 22px; }
  .cu-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
  .cu-field { display: flex; flex-direction: column; gap: 8px; }
  .cu-field label {
    font-size: 0.875rem;
    font-weight: 500;
    color: #4a453c;
  }
  .cu-field input, .cu-field textarea, .cu-field select {
    height: 46px;
    border-radius: 6px;
    padding: 0 10px;
    background: #f7f0d9;
    border: none;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 0.875rem;
    font-weight: 500;
    letter-spacing: -0.01em;
    color: #19150d;
  }
  .cu-field textarea { height: auto; min-height: 120px; padding: 10px; resize: vertical; margin-top: 2px; }
  .cu-select-wrap select { margin-top: 2px; }
  .cu-field input::placeholder, .cu-field textarea::placeholder { color: rgba(25, 21, 13, 0.5); }
  .cu-field input:focus, .cu-field textarea:focus, .cu-field select:focus {
    outline: 2px solid #c9a227;
    outline-offset: 2px;
  }
  .cu-select-wrap { position: relative; }
  .cu-select-wrap select { width: 100%; appearance: none; -webkit-appearance: none; padding-right: 36px; cursor: pointer; }
  .cu-select-wrap::after {
    content: '';
    position: absolute;
    right: 14px;
    top: 50%;
    width: 9px;
    height: 9px;
    margin-top: -3px;
    border-right: 2px solid #19150d;
    border-bottom: 2px solid #19150d;
    transform: rotate(45deg);
    pointer-events: none;
  }
  .cu-field.invalid input, .cu-field.invalid select, .cu-field.invalid textarea {
    outline: 2px solid #c0392b;
  }

  .cu-submit {
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.85rem;
    border: none;
    background: linear-gradient(135deg, #e8c86b, #c9a227);
    color: #19150d;
    font-weight: 700;
    font-size: 1rem;
    cursor: pointer;
    box-shadow: 0 8px 16px -6px rgba(25, 21, 13, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.4);
    transition: background 0.2s ease, opacity 0.2s ease;
  }
  .cu-submit:hover, .cu-submit:focus-visible { background: linear-gradient(135deg, #f0d58a, #d9b23f); }
  .cu-submit:disabled { opacity: 0.6; cursor: not-allowed; }

  .cu-form-status { margin: 0; font-size: 0.9rem; min-height: 1.2em; color: #4a453c; }
  .cu-form-status.error { color: #c0392b; }
  .cu-form-status.success { color: #2e7d32; }

  @media (prefers-reduced-motion: reduce) {
    .cu-left, .cu-badge, .cu-heading, .cu-sub, .cu-details, .cu-form-card {
      opacity: 1 !important;
      transform: none !important;
      filter: none !important;
    }
    .cu-heading .word, .cu-sub .word { opacity: 1 !important; transform: none !important; filter: none !important; animation: none !important; }
  }

  @media (max-width: 960px) {
    .cu-inner { grid-template-columns: 1fr; gap: 2.5rem; }
  }

  @media (max-width: 680px) {
    section.contact-us { padding: 40px 16px; }
    .cu-heading { font-size: 2rem; }
    .cu-sub { font-size: 1.05rem; max-width: none; }
    .cu-row { min-height: 44px; gap: 12px; }
    .cu-icon { width: 44px; height: 44px; }
    .cu-icon svg { width: 18px; height: 18px; }
    .cu-value { font-size: 1rem; }
    .cu-form-card { padding: 22px 16px; border-radius: 14px; }
    .cu-form-row { grid-template-columns: 1fr; gap: 16px; }
    #cu-form { gap: 16px; }
    .cu-field input, .cu-field select { height: 42px; }
    .cu-field textarea { min-height: 90px; }
    .cu-submit { height: 44px; }
  }

  /* footer */
  .site-footer {
    background: #f4f2ec;
    padding: 72px 40px 32px;
    border-top: 1px solid #ece7da;
  }

  .footer-inner {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.05fr;
    gap: 32px;
  }

  .footer-brand img.footer-logo { height: 72px; width: auto; display: block; margin: 0 0 16px; }

  .footer-tagline {
    color: #3c382f;
    font-size: 0.9rem;
    line-height: 1.75;
    max-width: 350px;
    margin: 0 0 18px;
  }

  .footer-social-divider { height: 1px; background: rgba(25, 21, 13, 0.12); margin: 0 0 18px; }
  .footer-social { display: flex; gap: 14px; }
  .footer-social a {
    width: 46px;
    height: 46px;
    border-radius: 9px;
    background: #ece4da;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #19150d;
    transition: color 0.2s ease;
  }
  .footer-social a:hover, .footer-social a:focus-visible { color: #c9a227; }
  .footer-social svg { width: 21px; height: 21px; }

  .footer-col h4 {
    color: #19150d;
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.01em;
    margin: 0 0 16px;
  }

  .footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 17px;
  }

  .footer-col ul li { color: #6b6558; font-size: 1rem; line-height: 1.5; }

  .footer-col ul a {
    color: #3c382f;
    font-size: 1rem;
    line-height: 1.5;
    text-decoration: none;
  }
  .footer-col ul a:hover, .footer-col ul a:focus-visible { color: #c9a227; }

  .footer-contact-rule { height: 1px; background: rgba(25, 21, 13, 0.12); margin: 0 0 20px; }
  .footer-contact-row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 18px;
    font-size: 1rem;
    line-height: 1.55;
    color: #3c382f;
  }
  .footer-contact-row:last-child { margin-bottom: 0; }
  .footer-contact-row svg { width: 18px; height: 18px; color: #c9a227; flex: none; margin-top: 2px; }
  .footer-contact-row a { color: #000; text-decoration: none; }
  .footer-contact-row a:hover, .footer-contact-row a:focus-visible { color: #c9a227; }

  .footer-legal {
    max-width: 1440px;
    margin: 32px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    color: #4a453c;
    font-size: 0.85rem;
  }
  .footer-legal-links { display: flex; align-items: center; gap: 10px; }
  .footer-legal-links a { color: #4a453c; text-decoration: none; }
  .footer-legal-links a:hover, .footer-legal-links a:focus-visible { color: #c9a227; }
  .footer-legal-divider { width: 1px; height: 14px; background: rgba(25, 21, 13, 0.25); }

  .footer-bottom {
    max-width: 1440px;
    margin: 40px auto 0;
    padding-top: 24px;
    border-top: 1px solid #ece7da;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
    color: #4a453c;
    font-size: 0.85rem;
  }

  @media (max-width: 960px) {
    .footer-inner { grid-template-columns: 1fr 1fr; gap: 46px 32px; }
    .site-footer { padding: 72px 30px 32px; }
  }

  @media (max-width: 760px) {
    .footer-inner { grid-template-columns: 1fr 1fr; gap: 2.5rem 1.5rem; }
    .footer-brand { grid-column: 1 / -1; }
  }

  @media (max-width: 680px) {
    .site-footer { padding: 52px 20px 32px; }
    .footer-inner { grid-template-columns: 1fr; gap: 32px; }
    .footer-brand { grid-column: auto; }
    .footer-legal { margin-top: 24px; flex-direction: column; align-items: flex-start; gap: 12px; }
    .footer-legal-links { flex-direction: column; align-items: flex-start; gap: 10px; }
    .footer-legal-divider { display: none; }
    .footer-bottom { margin-top: 32px; flex-direction: column; align-items: flex-start; gap: 10px; }
  }

  .modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 100;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background: rgba(16, 13, 8, 0.72);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }
  .modal-overlay.open { display: flex; }

  .modal-card {
    position: relative;
    width: 100%;
    max-width: 60rem;
    background: #f4f2ec;
    border-radius: 1.5rem;
    padding: 3.5rem 4rem 3rem;
    box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.5);
  }

  .modal-close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2.75rem;
    height: 2.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background: transparent;
    color: #6b6558;
    cursor: pointer;
    border-radius: 999px;
    transition: background 0.2s ease, color 0.2s ease;
  }
  .modal-close:hover, .modal-close:focus-visible { background: #ece7da; color: #19150d; }
  .modal-close svg { width: 1.1rem; height: 1.1rem; }

  .modal-eyebrow {
    display: block;
    color: #8a7a3d;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 0.5rem;
  }
  .modal-card h3 { margin: 0 0 0.6rem; color: #19150d; font-size: 2rem; font-weight: 800; }
  .modal-sub { margin: 0 0 2rem; color: #6b6558; font-size: 1.1rem; line-height: 1.5; }

  .modal-field { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 1.4rem; }
  .modal-field label { font-size: 0.95rem; font-weight: 600; color: #19150d; }
  .modal-field input, .modal-field textarea {
    font-family: inherit;
    font-size: 1.1rem;
    padding: 0.95rem 1.1rem;
    border: 1px solid #ddd6c3;
    border-radius: 0.7rem;
    background: #f4f2ec;
    color: #19150d;
  }
  .modal-field input:focus, .modal-field textarea:focus {
    outline: none;
    border-color: #c9a227;
    box-shadow: 0 0 0 3px rgba(201, 162, 39, 0.2);
  }
  .modal-field textarea { resize: vertical; min-height: 7rem; }

  .modal-row { display: flex; gap: 1.25rem; }
  .modal-row .modal-field { flex: 1; }

  .modal-submit { width: 100%; justify-content: center; margin-top: 0.5rem; padding: 1.05rem 2rem; font-size: 1.1rem; border: none; }

  .modal-success { display: none; text-align: center; padding: 1.5rem 0; }
  .modal-success.show { display: block; }
  .modal-success svg { width: 3rem; height: 3rem; stroke: #c9a227; margin-bottom: 1rem; }
  .modal-success h3 { margin: 0 0 0.5rem; }
  .modal-success p { margin: 0; color: #6b6558; }

  @media (max-width: 700px) {
    .modal-overlay { padding: 0.75rem; }
    .modal-row { flex-direction: column; gap: 0.75rem; }
    .modal-card { padding: 2rem 1.25rem 1.5rem; border-radius: 1.1rem; }
    .modal-eyebrow { font-size: 0.7rem; }
    .modal-card h3 { font-size: 1.5rem; margin: 0 0 0.4rem; }
    .modal-sub { font-size: 0.95rem; margin: 0 0 1.25rem; }
    .modal-field { margin-bottom: 1rem; gap: 0.35rem; }
    .modal-field label { font-size: 0.85rem; }
    .modal-field input, .modal-field textarea {
      font-size: 0.95rem;
      padding: 0.7rem 0.85rem;
    }
    .modal-field textarea { min-height: 5rem; }
    .modal-submit { padding: 0.9rem 1.5rem; font-size: 1rem; }
    .modal-close { top: 0.4rem; right: 0.4rem; width: 2.25rem; height: 2.25rem; }
  }


  /* ---- shared across inner pages ---- */

  .logo-link { display: block; }

  section.hero.inner-hero {
    min-height: 58vh;
  }

  .breadcrumb {
    color: rgba(255, 255, 255, 0.75);
    font-size: 0.9rem;
    margin: 0 0 1.1rem;
  }
  .breadcrumb a { color: rgba(255, 255, 255, 0.75); text-decoration: none; }
  .breadcrumb a:hover, .breadcrumb a:focus-visible { color: #e8c86b; }
  .breadcrumb .crumb-sep { margin: 0 0.5rem; color: rgba(255, 255, 255, 0.4); }
  .breadcrumb .crumb-current { color: #fff; font-weight: 600; }

  .page-section {
    background: #f4f2ec;
    padding: 5rem clamp(1.25rem, 4vw, 3rem);
  }
  .page-section.alt { background: #fdfaf1; }

  .page-section-head {
    max-width: 44rem;
    margin: 0 auto 3rem;
    text-align: center;
  }
  .page-eyebrow {
    display: block;
    color: #8a7a3d;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-bottom: 0.75rem;
  }
  .page-heading {
    color: #19150d;
    font-size: clamp(1.9rem, 3.4vw, 2.6rem);
    font-weight: 600;
    letter-spacing: -0.02em;
    line-height: 1.15;
    margin: 0 0 1rem;
  }
  .page-sub {
    color: #6b6558;
    font-size: 1.05rem;
    line-height: 1.6;
    margin: 0;
  }

  .intro-grid {
    max-width: 78rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 3.5rem;
    flex-wrap: wrap;
  }
  .intro-text { flex: 1 1 26rem; }
  .intro-text p {
    color: #3c382f;
    font-size: 1.08rem;
    line-height: 1.65;
    margin: 0 0 1.25rem;
  }
  .intro-image {
    flex: 1 1 22rem;
    min-height: 22rem;
    border-radius: 1.5rem;
    background-size: cover;
    background-position: center;
    box-shadow: 0 30px 60px -28px rgba(25, 21, 13, 0.35);
  }
  /* the "Local & Licensed" photo crops the subject's head at center position */
  .intro-image[style*="why-us-photo"] { background-position: center 30%; }
  .intro-list {
    list-style: none;
    margin: 1.5rem 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
  }
  .intro-list li {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    font-size: 1.05rem;
    font-weight: 700;
    color: #19150d;
  }
  .intro-list svg { flex: none; width: 1.5rem; height: 1.5rem; stroke: #c9a227; }

  @media (max-width: 760px) {
    .intro-image { min-height: 16rem; }
  }

  .link-grid {
    max-width: 78rem;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
  @media (max-width: 900px) {
    .link-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 560px) {
    .link-grid { grid-template-columns: 1fr; }
  }

  .link-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.4rem 1.5rem;
    background: #f4f2ec;
    border: 1px solid #ece7da;
    border-radius: 1rem;
    text-decoration: none;
    color: #19150d;
    font-weight: 700;
    font-size: 1.05rem;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
  }
  .link-card:hover, .link-card:focus-visible {
    border-color: #c9a227;
    box-shadow: 0 14px 26px -16px rgba(25, 21, 13, 0.35);
    transform: translateY(-2px);
  }
  .link-card-icon {
    flex: none;
    width: 2.75rem;
    height: 2.75rem;
    border-radius: 999px;
    background: #fdfaf1;
    color: #c9a227;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .link-card-icon svg { width: 1.4rem; height: 1.4rem; }
  .link-card-arrow { margin-left: auto; flex: none; width: 1.1rem; height: 1.1rem; color: #c9a227; }

  .page-section .video-cta-bar { margin: 0 auto; }

  @media (max-width: 760px) {
    .page-section { padding: 3rem 1.25rem; }
    .page-section-head { margin-bottom: 2rem; }
    .intro-grid { gap: 2rem; }
    .link-grid { gap: 1rem; }
    .breadcrumb { font-size: 0.82rem; }
  }

  /* ---- homepage animations ---- */

  .service-list-item:hover:not(.active) {
    background: #fdfaf1;
  }

  .t-card {
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  .t-card:hover {
    transform: translateY(-8px);
    box-shadow:
      0 22px 34px -12px rgba(25, 21, 13, 0.4),
      inset 0 1px 1px rgba(255, 255, 255, 0.9),
      inset 0 -12px 20px -14px rgba(255, 255, 255, 0.5);
  }

  .t-featured-quote span.char {
    color: rgba(25, 21, 13, 0.3);
  }
  .t-featured-quote.reveal span.char {
    animation: char-reveal 0.5s ease forwards;
    animation-delay: calc(var(--i) * 16ms);
  }
  @keyframes char-reveal {
    to { color: #19150d; }
  }

  .why-us-stats strong { font-variant-numeric: tabular-nums; }

  .service-area-list a svg {
    transition: transform 0.25s ease;
  }
  .service-area-list a:hover svg {
    transform: translateY(-3px) scale(1.12);
  }

  .video-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }
  .video-card:hover {
    transform: rotate(-7deg) translateY(2px);
  }
  .video-card:nth-child(3):hover {
    transform: rotate(7deg) translateY(2px);
  }
  .video-card.featured:hover {
    transform: translateY(-20px);
  }

  .step-icon .blob {
    transition: transform 0.3s ease;
  }
  .step:hover .step-icon .blob {
    transform: rotate(8deg) scale(1.06);
  }

  .google-badge, .t-featured-google {
    transition: transform 0.25s ease;
  }
  .review-badges .google-badge:hover, .t-featured-google:hover {
    transform: translateY(-3px);
  }

  @media (prefers-reduced-motion: reduce) {
    .t-featured-quote.reveal span.char { animation: none; color: #19150d; }
    .t-card, .video-card, .video-card-img, .step-icon .blob, .google-badge, .t-featured-google,
    .service-area-list a svg {
      transition: none;
    }
  }

  /* tight shadow on every section's eyebrow pill, mobile only */
  @media (max-width: 680px) {
    .services-grid-eyebrow,
    .cr-badge,
    .why-us-eyebrow,
    .service-area-eyebrow,
    .cu-badge {
      box-shadow: 0 2px 6px rgba(25, 21, 13, 0.22);
    }
  }
