/* Approved homepage design, scoped to homepage 51 and review page 439. */
.hp-refresh {
  --hp-gold: #dfb87e; --hp-muted: #c6cbd2; --hp-line: rgba(207,163,102,.25);
  width: 100% !important; max-width: none !important;
  margin: 0 !important; background: #0b1017; color: #f4f2ed;
  font-size: 17px; line-height: 1.65; overflow: clip;
}
.hp-refresh *, .hp-refresh *::before, .hp-refresh *::after { box-sizing: border-box; }
.hp-refresh .hp-wrap { width: min(1160px, calc(100% - 80px)); max-width: none; margin: 0 auto; }
.hp-refresh h1, .hp-refresh h2, .hp-refresh h3, .hp-refresh p, .hp-refresh ul, .hp-refresh figure { max-width: none; margin: 0; }
.hp-refresh h1, .hp-refresh h2, .hp-refresh h3 { font-weight: 400; text-wrap: balance; letter-spacing: -.025em; }
.hp-refresh h2 { font-size: clamp(1.9rem,3.1vw,2.75rem); line-height: 1.18; color: var(--hp-gold); }
.hp-refresh h3 { font-size: 1.4rem; line-height: 1.28; color: #f4f2ed; }
.hp-refresh p { color: var(--hp-muted); }
.hp-refresh a { color: inherit; }
.hp-refresh a:focus-visible { outline: 3px solid #fff; outline-offset: 6px; }
.hp-refresh .hp-kicker { color: var(--hp-gold); font-size: .72rem; font-weight: 600; line-height: 1.5; letter-spacing: .18em; margin-bottom: 1rem; }
.hp-refresh .hp-text-link { color: var(--hp-gold); display: inline-flex; gap: .8rem; align-items: center; text-decoration: none; font-size: .95rem; font-weight: 600; }
.hp-refresh .hp-text-link:hover { color: #fff; text-decoration: underline; text-underline-offset: 5px; }
.hp-refresh .hp-button { display: inline-flex; align-items: center; justify-content: center; gap: 1.2rem; padding: .8rem 1.3rem; border-radius: 5px; background: #d5ae75; color: #10151d; font-size: .95rem; font-weight: 600; text-decoration: none; line-height: 1.4; }
.hp-refresh .hp-button:hover { background: #edc990; color: #10151d; }
.hp-refresh .hp-section { padding-top: 72px; padding-bottom: 72px; }
.hp-refresh .hp-section-head { max-width: 720px; margin-bottom: 34px; }
.hp-refresh .hp-section-head h2 { margin-bottom: 1rem; }
.hp-refresh .hp-hero { position: relative; isolation: isolate; display: flex; align-items: center; min-height: 520px; background: #080c12; }
.hp-refresh .hp-video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 51% 47%; z-index: -2; }
.hp-refresh .hp-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,rgba(7,11,17,.93),rgba(7,11,17,.76) 53%,rgba(7,11,17,.4)); }
.hp-refresh .hp-hero-content { padding-top: 72px; padding-bottom: 72px; }
.hp-refresh .hp-hero h1 { color: #fff; font-size: clamp(2.35rem,4.4vw,3.65rem); line-height: 1.13; max-width: 930px; margin-bottom: 1.4rem; }
.hp-refresh .hp-hero h1 span { color: var(--hp-gold); }
.hp-refresh .hp-lead { max-width: 740px; font-size: 1.1rem; color: #e1e3e6; line-height: 1.7; }
.hp-refresh .hp-hero-actions { display: flex; align-items: center; gap: 1.4rem; margin-top: 1.8rem; }
.hp-refresh .hp-mobile-call { display: none; }
.hp-refresh .hp-credentials { background: #111821; border-bottom: 1px solid var(--hp-line); padding: 28px 0 18px; }
.hp-refresh .hp-credentials-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.hp-refresh .hp-credentials strong { display: block; font-size: .95rem; font-weight: 500; color: #eee5d9; }
.hp-refresh .hp-credentials span { display: block; font-size: .8rem; color: #acb6c2; margin-top: .25rem; }
.hp-refresh .hp-credentials-link { display: block; width: fit-content; margin: 14px auto 0; font-size: .77rem; color: var(--hp-gold); text-underline-offset: 4px; }
.hp-refresh .hp-credentials-link span { display: inline; color: inherit; }
.hp-refresh #hp-services { scroll-margin-top: 185px; }
.hp-refresh .hp-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.hp-refresh .hp-service-card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 27px 28px 24px; background: linear-gradient(135deg,#131c27,#101720); border: 1px solid #2a3440; border-radius: 8px; transition: border-color .18s, background-color .18s; }
.hp-refresh .hp-service-card:last-child { grid-column: 1 / -1; width: calc(50% - 10px); justify-self: center; }
.hp-refresh .hp-service-card:hover, .hp-refresh .hp-service-card:focus-within { border-color: #b38e58; }
.hp-refresh .hp-service-art { position: absolute; top: 12px; right: 12px; width: 118px; height: 98px; object-fit: contain; opacity: 1; filter: brightness(1.45); pointer-events: none; }
.hp-refresh .hp-service-card h3 { padding-right: 112px; margin-bottom: 1rem; min-height: 3.6em; }
.hp-refresh .hp-service-card h3 a { text-decoration: none; }
.hp-refresh .hp-service-card h3 a::after { content: ''; position: absolute; inset: 0; border-radius: 8px; }
.hp-refresh .hp-service-card p { font-size: 1rem; line-height: 1.65; margin-bottom: 1rem; }
.hp-refresh .hp-service-card ul { list-style: none; padding: 0; margin: auto 0 1.2rem; font-size: .84rem; line-height: 1.6; color: #d7dce3; }
.hp-refresh .hp-service-card li { position: relative; padding-left: 15px; margin: 0 0 .35rem; }
.hp-refresh .hp-service-card li::before { content: ''; position: absolute; left: 0; top: .65em; width: 4px; height: 4px; background: var(--hp-gold); }
.hp-refresh .hp-card-link { display: flex; align-items: center; justify-content: space-between; color: var(--hp-gold); font-size: .8rem; letter-spacing: .02em; padding-top: 12px; border-top: 1px solid #2a3440; }
.hp-refresh .hp-card-link span { font-size: 1.2rem; }
.hp-refresh .hp-method { background: #111923; border-top: 1px solid var(--hp-line); border-bottom: 1px solid var(--hp-line); }
.hp-refresh .hp-method-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 34px; margin: 32px 0 26px; }
.hp-refresh .hp-method-grid > div { padding-top: 20px; border-top: 1px solid #745c3e; }
.hp-refresh .hp-method-mark { font-size: .68rem; letter-spacing: .16em; color: var(--hp-gold); display: block; margin-bottom: 12px; }
.hp-refresh .hp-method-grid h3 { font-size: 1.35rem; margin-bottom: .7rem; }
.hp-refresh .hp-method-grid p { font-size: .95rem; }
.hp-refresh .hp-proof-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.hp-refresh .hp-proof-card { border: 1px solid #2a3440; border-radius: 8px; overflow: hidden; background: #121b25; }
.hp-refresh .hp-proof-art { height: 180px; background: radial-gradient(ellipse at center,#23313e,#0c121b); border-bottom: 1px solid var(--hp-line); }
.hp-refresh .hp-proof-art img { width: 100%; height: 100%; object-fit: contain; }
.hp-refresh .hp-proof-copy { padding: 27px 30px; }
.hp-refresh .hp-proof-copy h3 { margin-bottom: .8rem; }
.hp-refresh .hp-proof-copy p:not(.hp-kicker) { font-size: .95rem; margin-bottom: 1.3rem; }
.hp-refresh .hp-testimonials { background: #0f161f; border-top: 1px solid #26313d; }
.hp-refresh .hp-quote-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.hp-refresh .hp-quote { display: flex; flex-direction: column; padding-left: 24px; border-left: 2px solid #9c7c4f; }
.hp-refresh .hp-quote blockquote { padding: 0; margin: 0 0 1.3rem; border: 0; font-style: normal; font-size: 1.02rem; background: transparent; }
.hp-refresh .hp-quote blockquote::before, .hp-refresh .hp-quote blockquote::after { display: none; }
.hp-refresh .hp-quote blockquote p { color: #e6e4df; font-size: inherit; line-height: 1.75; }
.hp-refresh .hp-quote figcaption { margin-top: auto; font-size: .83rem; font-style: normal; }
.hp-refresh .hp-quote figcaption strong { display: block; color: var(--hp-gold); font-weight: 500; }
.hp-refresh .hp-quote figcaption span { display: block; color: #b7bfc9; }
.hp-refresh .hp-close { display: grid; grid-template-columns: 1.2fr 1fr; gap: 72px; }
.hp-refresh .hp-close h2 { margin-bottom: 1rem; }
.hp-refresh .hp-close > div > p:not(.hp-kicker) { margin-bottom: 1.4rem; }
.hp-refresh .hp-snapshot { border-left: 1px solid var(--hp-line); padding-left: 32px; align-self: center; }
.hp-refresh .hp-snapshot h3 { margin-bottom: .8rem; }
.hp-refresh .hp-snapshot p:not(.hp-kicker) { font-size: .94rem; margin-bottom: 1rem; }
.hp-refresh .hp-snapshot p.hp-small { font-size: .77rem; line-height: 1.6; color: #a7b1bd; margin: 1rem 0 0; }
@media (prefers-reduced-motion: reduce) { .hp-refresh .hp-service-card { transition: none; } }
@media (max-width: 959px) {
  .hp-refresh .hp-wrap { width: calc(100% - 48px); }
  .hp-refresh .hp-hero { min-height: 470px; }
  .hp-refresh .hp-hero h1 { font-size: clamp(2.2rem,5vw,3rem); }
  .hp-refresh .hp-service-art { width: 86px; height: 75px; opacity: .7; }
  .hp-refresh .hp-service-card { padding: 23px; }
  .hp-refresh .hp-service-card h3 { padding-right: 60px; font-size: 1.3rem; }
  .hp-refresh .hp-mobile-call { display: inline-flex; }
  .hp-refresh .hp-close { gap: 32px; }
  /* Compact mobile header stays scoped to these two pages. */
  body:is(.page-id-51,.page-id-439) .header__titles { display: flex !important; flex-direction: row; align-items: center; gap: 12px; justify-content: center; }
  body:is(.page-id-51,.page-id-439) .header__titles .custom-logo-link { margin: 0 !important; }
  body:is(.page-id-51,.page-id-439) .header__titles .custom-logo { width: 54px !important; max-height: 64px; object-fit: contain; }
  body:is(.page-id-51,.page-id-439) .header__titles .site-title { font-size: 1.25rem !important; line-height: 1.1; margin: 0 !important; }
  body:is(.page-id-51,.page-id-439) .header__titles .site-description { display: none !important; }
}
@media (max-width: 680px) {
  .hp-refresh { font-size: 16px; }
  .hp-refresh .hp-wrap { width: calc(100% - 40px); }
  .hp-refresh .hp-section { padding-top: 48px; padding-bottom: 48px; }
  .hp-refresh .hp-hero { min-height: 0; }
  .hp-refresh .hp-hero-content { padding-top: 48px; padding-bottom: 48px; }
  .hp-refresh .hp-hero h1 { font-size: clamp(2rem,7.2vw,2.7rem); }
  .hp-refresh .hp-lead { font-size: 1rem; line-height: 1.65; }
  .hp-refresh .hp-kicker { font-size: .65rem; letter-spacing: .13em; }
  .hp-refresh .hp-hero-actions { flex-wrap: wrap; gap: 1rem 1.5rem; }
  .hp-refresh .hp-hero-actions .hp-mobile-call { order: -1; }
  .hp-refresh .hp-credentials-grid { grid-template-columns: 1fr; gap: 15px; }
  .hp-refresh .hp-credentials-grid > div { border-left: 2px solid #6e573b; padding-left: 14px; }
  .hp-refresh .hp-credentials { padding: 24px 0 18px; }
  .hp-refresh .hp-credentials-link { margin-top: 18px; }
  .hp-refresh .hp-service-grid, .hp-refresh .hp-proof-grid, .hp-refresh .hp-quote-grid, .hp-refresh .hp-close { grid-template-columns: 1fr; gap: 20px; }
  .hp-refresh .hp-service-card:last-child { grid-column: auto; width: 100%; }
  .hp-refresh .hp-service-card h3 { min-height: 0; padding-right: 65px; margin-bottom: 1rem; }
  .hp-refresh .hp-service-card p { margin-bottom: .8rem; }
  .hp-refresh .hp-method-grid { grid-template-columns: 1fr; gap: 22px; }
  .hp-refresh .hp-proof-copy { padding: 23px; }
  .hp-refresh .hp-proof-art { height: 150px; }
  .hp-refresh .hp-quote-grid { gap: 30px; }
  .hp-refresh .hp-snapshot { border-left: 0; border-top: 1px solid var(--hp-line); padding: 28px 0 0; margin-top: 12px; }
  .hp-refresh #hp-services { scroll-margin-top: 115px; }
  body:is(.page-id-51,.page-id-439) .header__titles { gap: 7px; }
  body:is(.page-id-51,.page-id-439) .header__titles .custom-logo { width: 42px !important; }
  body:is(.page-id-51,.page-id-439) .header__titles .site-title { font-size: 1.05rem !important; }
}
