html, body { overflow-x: hidden; }
.lp-header img { flex: 0 0 auto; width: 152px; height: auto; }
.lp-header-review { display: flex; justify-content: flex-end; align-items: center; min-width: 260px; max-width: 520px; min-height: 44px; overflow: hidden; }
.lp-header-review > * { max-width: 100%; }
.lp-header-review .ti-widget { margin: 0 !important; }
.lp-hero-grid > * { min-width: 0; }
.lp-hero h1 { overflow-wrap: anywhere; }
.lp-form-card iframe { max-width: 100%; height: 1000px !important; min-height: 1000px; }
.lp-form-loading[hidden] { display: none; }
.lp-eyebrow { color: #1f7a34; }
.lp-form-card .lp-eyebrow { color: #1f7a34; }
.lp-hero .lp-eyebrow,
.lp-dark .lp-eyebrow,
.lp-guarantee .lp-eyebrow { color: #56c766; }
.lp-hero .lp-form-card .lp-eyebrow { color: #1f7a34; }

.lp-trust-showcase { padding: 52px 0 76px; background: #f6f8f3; border-bottom: 1px solid var(--line); }
.lp-logo-proof { text-align: center; }
.lp-logo-proof > p { margin: 0 0 24px; color: #445249; font-size: .78rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.lp-logo-rail { position: relative; overflow: hidden; max-width: 1080px; margin-inline: auto; mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.lp-logo-track { display: flex; width: max-content; animation: lpLogoRail 30s linear infinite; will-change: transform; }
.lp-logo-set { display: flex; flex-shrink: 0; align-items: center; }
.lp-logo { display: grid; place-items: center; width: clamp(170px, 19vw, 220px); min-height: 88px; padding: 10px 18px; }
.lp-logo img { width: 100%; height: 64px; object-fit: contain; filter: grayscale(1); opacity: .78; transition: filter .18s ease, opacity .18s ease, transform .18s ease; }
.lp-logo:hover img { filter: grayscale(0); opacity: 1; transform: translateY(-2px); }
@keyframes lpLogoRail { to { transform: translateX(-50%); } }
.lp-local-proof { display: grid; grid-template-columns: 1.15fr .85fr; gap: 0; align-items: stretch; max-width: 1040px; margin: 42px auto 0; overflow: hidden; border-radius: 20px; background: #07180f; box-shadow: 0 20px 52px rgba(7,24,15,.15); }
.lp-local-photo { position: relative; min-height: 360px; margin: 0; }
.lp-local-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 46%; }
.lp-local-photo figcaption { position: absolute; inset: auto 18px 16px; width: fit-content; max-width: calc(100% - 36px); padding: 8px 11px; border-radius: 7px; color: #fff; background: rgba(3,16,8,.82); font-size: .76rem; font-weight: 800; }
.lp-featured-review { display: flex; flex-direction: column; justify-content: center; margin: 0; padding: 46px 40px; color: #fff; }
.lp-featured-review .lp-stars { font-size: 1.05rem; }
.lp-featured-review p { margin: 18px 0 22px; font-size: 1.24rem; line-height: 1.5; font-weight: 750; }
.lp-featured-review cite { color: #bdd0c2; font-size: .82rem; font-style: normal; font-weight: 800; }

@media (min-width: 951px) {
  .lp-hero-grid { align-items: start; }
  .lp-hero-copy { padding-top: 320px; }
}

@media (max-width: 700px) {
  .lp-header-inner { gap: 10px; }
  .lp-header img { width: 128px; height: auto; }
  .lp-header-review { min-width: 0; width: min(48vw, 180px); min-height: 38px; }
  .lp-form-card iframe { height: 1000px !important; min-height: 1000px; }
  .lp-trust-showcase { padding: 38px 0 50px; }
  .lp-logo { width: 160px; min-height: 76px; padding: 8px 13px; }
  .lp-logo img { height: 56px; }
  .lp-local-proof { grid-template-columns: 1fr; margin-top: 30px; }
  .lp-local-photo { min-height: 260px; }
  .lp-featured-review { padding: 30px 24px 34px; }
  .lp-featured-review p { font-size: 1.08rem; }
}

.lp-team-gallery { overflow: hidden; background: #f6f8f3; }
.lp-team-gallery .lp-section-heading { max-width: 760px; margin-bottom: 34px; }
.lp-team-gallery .lp-section-heading > p:last-child { color: var(--muted); }
.lp-team-rail { overflow: hidden; width: 100%; mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.lp-team-track { display: flex; width: max-content; animation: lpTeamRail 52s linear infinite; will-change: transform; }
.lp-team-set { display: flex; flex-shrink: 0; gap: 18px; padding-right: 18px; }
.lp-team-set figure { flex: 0 0 auto; width: clamp(280px, 29vw, 380px); height: 300px; margin: 0; overflow: hidden; border-radius: 18px; background: #dfe6df; box-shadow: 0 14px 34px rgba(7,24,15,.11); }
.lp-team-set img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .35s ease; }
.lp-team-set figure:hover img { transform: scale(1.025); }
.lp-team-set figure:nth-child(2) img { object-position: center 34%; }
.lp-team-set figure:nth-child(3) img { object-position: center 42%; }
.lp-team-set figure:nth-child(6) img,
.lp-team-set figure:nth-child(7) img { object-position: center 38%; }
@keyframes lpTeamRail { to { transform: translateX(-50%); } }

@media (max-width: 700px) {
  .lp-team-gallery .lp-section-heading { margin-bottom: 26px; }
  .lp-team-set { gap: 12px; padding-right: 12px; }
  .lp-team-set figure { width: 78vw; max-width: 320px; height: 260px; border-radius: 15px; }
  .lp-team-track { animation-duration: 60s; }
}

.lp-field-photo { padding: 72px 0 12px; background: #fff; }
.lp-field-photo figure { position: relative; margin: 0; overflow: hidden; border-radius: 20px; box-shadow: 0 22px 60px rgba(7, 24, 15, .14); }
.lp-field-photo img { width: 100%; height: clamp(360px, 48vw, 610px); object-fit: cover; object-position: center 42%; }
.lp-field-photo figcaption { position: absolute; inset: auto 0 0; display: grid; gap: 5px; padding: 46px 34px 28px; color: #fff; background: linear-gradient(transparent, rgba(3, 16, 8, .9)); text-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.lp-field-photo figcaption strong { font-size: clamp(1.3rem, 2.4vw, 2rem); line-height: 1.1; }
.lp-field-photo figcaption span { color: #e0e9e2; }
.lp-footer-logo { display: flex; flex: 0 0 auto; }
.lp-footer .lp-footer-logo img { width: 170px; height: auto; }
@media (max-width: 700px) {
  .lp-field-photo { padding-top: 48px; }
  .lp-field-photo img { height: 420px; object-position: 58% center; }
  .lp-field-photo figcaption { padding: 52px 20px 21px; }
  .lp-field-photo figcaption span { font-size: .88rem; }
}

@media (prefers-reduced-motion: reduce) {
  .lp-logo-track,
  .lp-team-track { animation: none; }
  .lp-logo-rail,
  .lp-team-rail { overflow-x: auto; mask-image: none; }
}

.lp-cta-button { display: inline-flex; justify-content: center; align-items: center; min-height: 52px; padding: 15px 23px; border: 0; border-radius: 9px; background: #c2410c !important; color: #fff !important; text-decoration: none; font-weight: 900; box-shadow: 0 10px 24px rgba(194,65,12,.24); transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
.lp-cta-button:hover { transform: translateY(-2px); filter: brightness(1.04); box-shadow: 0 14px 30px rgba(7,24,15,.2); }
.lp-cta-button:focus-visible { outline: 3px solid rgba(194,65,12,.38); outline-offset: 3px; }
.lp-section-cta { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 38px; }
.lp-section-cta span { max-width: 390px; color: var(--muted); font-size: .86rem; font-weight: 760; }
.lp-review-widget { min-height: 280px; overflow: hidden; }
.lp-review-widget > * { max-width: 100%; }
.lp-review-widget-frame { display: block; width: 100%; height: 410px; border: 0; background: transparent; }

/* Editorial middle-page rhythm */
.lp-scope-editorial { background: #fff; }
.lp-scope-layout { display: grid; grid-template-columns: minmax(0,.95fr) minmax(420px,1.05fr); gap: clamp(42px,6vw,82px); align-items: center; }
.lp-scope-copy > p:not(.lp-eyebrow) { max-width: 580px; margin: 22px 0 28px; color: var(--muted); font-size: 1.05rem; }
.lp-scope-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.lp-scope-list span { position: relative; padding: 14px 12px 14px 28px; border-bottom: 1px solid var(--line); font-size: .91rem; font-weight: 780; }
.lp-scope-list span:nth-child(odd) { padding-right: 22px; }
.lp-scope-list span::before { content: "✓"; position: absolute; left: 2px; color: var(--green); font-weight: 950; }
.lp-scope-photo { position: relative; min-height: 610px; margin: 0; overflow: hidden; border-radius: 22px; background: #dfe6df; box-shadow: 0 24px 64px rgba(7,24,15,.15); }
.lp-scope-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 44%; }
.lp-scope-photo figcaption { position: absolute; inset: auto 0 0; display: grid; gap: 4px; padding: 58px 28px 25px; color: #fff; background: linear-gradient(transparent,rgba(3,16,8,.9)); }
.lp-scope-photo figcaption strong { font-size: 1.1rem; }
.lp-scope-photo figcaption span { color: #d8e2da; font-size: .84rem; }

.lp-proof-divider { padding: 27px 0; color: #fff; background: linear-gradient(105deg,#173e25,#0b2716); }
.lp-proof-divider .lp-shell { display: flex; justify-content: center; align-items: baseline; gap: 18px; text-align: center; }
.lp-proof-divider strong { color: var(--green-bright); font-size: clamp(1.2rem,2.2vw,1.75rem); letter-spacing: -.025em; }
.lp-proof-divider span { color: #d2ddd5; font-size: .95rem; }

.lp-industries-editorial .lp-shell { display: grid; grid-template-columns: minmax(0,.78fr) minmax(500px,1.22fr); gap: clamp(55px,8vw,110px); align-items: start; }
.lp-industries-intro { position: sticky; top: 28px; }
.lp-industries-intro > p:last-child { max-width: 540px; margin: 22px 0 0; color: var(--muted); font-size: 1.05rem; }
.lp-facility-list { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #cad5cb; }
.lp-facility-list div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: center; min-height: 100px; padding: 20px 18px 20px 0; border-bottom: 1px solid #cad5cb; }
.lp-facility-list div:nth-child(odd) { margin-right: 24px; }
.lp-facility-list span { align-self: start; color: #1f7a34; font-size: .72rem; font-weight: 950; letter-spacing: .08em; }
.lp-facility-list strong { font-size: clamp(1.02rem,1.5vw,1.25rem); line-height: 1.2; }

.lp-process-timeline { background: #fff; }
.lp-process-timeline .lp-section-heading { text-align: center; margin-inline: auto; }
.lp-process .lp-timeline { position: relative; display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 58px; }
.lp-process .lp-timeline::before { content: ""; position: absolute; top: 28px; left: 16.66%; right: 16.66%; height: 2px; background: #bad3be; }
.lp-process .lp-timeline li { position: relative; z-index: 1; display: grid; justify-items: center; gap: 20px; padding: 0 clamp(20px,3vw,42px); border: 0; border-radius: 0; background: transparent; text-align: center; }
.lp-process .lp-timeline li > span { width: 58px; height: 58px; border: 7px solid #fff; box-shadow: 0 0 0 2px var(--green); background: var(--deep); font-size: .78rem; letter-spacing: .05em; }
.lp-process .lp-timeline h3 { margin: 0 0 8px; font-size: 1.25rem; }
.lp-process .lp-timeline p { max-width: 300px; margin-inline: auto; }
.lp-process-cta { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 46px; }
.lp-process-cta a { flex: 0 0 auto; }
.lp-process-cta span { max-width: 310px; color: var(--muted); font-size: .84rem; font-weight: 760; }

@media (max-width: 950px) {
  .lp-scope-layout { grid-template-columns: 1fr 1fr; gap: 38px; }
  .lp-scope-photo { min-height: 540px; }
  .lp-industries-editorial .lp-shell { grid-template-columns: 1fr; gap: 38px; }
  .lp-industries-intro { position: static; }
}

@media (max-width: 700px) {
  .lp-hero { padding-top: 280px; }
  .lp-hero-photo { height: 380px; }
  .lp-hero-shade { background: linear-gradient(180deg,rgba(3,16,8,.01) 0,rgba(3,16,8,.05) 155px,rgba(3,16,8,.32) 225px,rgba(3,16,8,.72) 295px,rgba(3,16,8,.94) 355px,var(--deep) 430px,var(--deep) 100%); }
  .lp-scope-layout { grid-template-columns: 1fr; }
  .lp-scope-list { grid-template-columns: 1fr; }
  .lp-scope-list span:nth-child(odd) { padding-right: 12px; }
  .lp-scope-photo { min-height: 460px; }
  .lp-scope-photo img { object-position: center 40%; }
  .lp-proof-divider .lp-shell { display: grid; gap: 4px; }
  .lp-facility-list { grid-template-columns: 1fr; }
  .lp-facility-list div:nth-child(odd) { margin-right: 0; }
  .lp-facility-list div { min-height: 78px; }
  .lp-process .lp-timeline { grid-template-columns: 1fr; gap: 0; margin-top: 36px; }
  .lp-process .lp-timeline::before { top: 28px; bottom: 28px; left: 28px; right: auto; width: 2px; height: auto; }
  .lp-process .lp-timeline li { grid-template-columns: 58px 1fr; justify-items: start; gap: 20px; padding: 0 0 35px; text-align: left; }
  .lp-process .lp-timeline li:last-child { padding-bottom: 0; }
  .lp-process .lp-timeline p { margin-inline: 0; }
  .lp-process-cta { align-items: stretch; flex-direction: column; margin-top: 38px; text-align: center; }
  .lp-process-cta span { max-width: none; }
  .lp-section-cta { align-items: stretch; flex-direction: column; margin-top: 30px; text-align: center; }
  .lp-section-cta span { max-width: none; }
  .lp-review-widget { min-height: 520px; }
  .lp-review-widget-frame { height: 560px; }
}
