/* Tree Service Pros Modern Landing Page v2.2 — fully scoped */
html { scroll-behavior:smooth; }
.tsp-landing-page,
.tsp-landing-page * { box-sizing:border-box; }
.tsp-landing-page {
  width:100%;
  margin:0;
  overflow:hidden;
  background:var(--tsp-surface,#fff);
  color:var(--tsp-text,#2f3e35);
  font-family:var(--tsp-font-body,Inter,"Open Sans",Arial,sans-serif);
  font-size:var(--tsp-body-size,16px);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.tsp-landing-page h1,
.tsp-landing-page h2,
.tsp-landing-page h3,
.tsp-landing-page h4,
.tsp-landing-page h5,
.tsp-landing-page h6 { margin-top:0; font-family:var(--tsp-font-heading,var(--tsp-font-body)); text-transform:none; }
.tsp-landing-page p { margin:0 0 1em; }
.tsp-landing-page p:last-child { margin-bottom:0; }
.tsp-landing-page img { display:block; max-width:100%; }
.tsp-landing-page a { color:inherit; text-decoration:none; }
.tsp-landing-page button,
.tsp-landing-page input,
.tsp-landing-page select,
.tsp-landing-page textarea { font:inherit; }
.tsp-shell { width:min(calc(100% - 40px),var(--tsp-shell,1180px)); margin-inline:auto; }
.tsp-center { text-align:center; }
.tsp-section { position:relative; }
.tsp-eyebrow { display:inline-block; margin:0 0 10px; color:var(--tsp-primary,#16942e); font-size:12px; font-weight:850; letter-spacing:.13em; line-height:1.25; text-transform:uppercase; }
.tsp-section-heading { margin:0; color:var(--tsp-heading,#11251b); font-size:46px; font-weight:850; letter-spacing:-.035em; line-height:1.12; }
.tsp-section-heading span { color:var(--tsp-primary,#16942e); }
.tsp-section-intro { max-width:720px; margin:16px auto 0; color:var(--tsp-muted,#637067); }
.tsp-section-intro p { margin:0; }

/* Icon engine: consistent alignment, scale and editable color */
.tsp-icon-graphic { display:block; width:1em; height:1em; flex:0 0 auto; background-color:currentColor; -webkit-mask-image:var(--tsp-icon-url); mask-image:var(--tsp-icon-url); -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center; -webkit-mask-size:contain; mask-size:contain; }
.tsp-icon-graphic.is-original { object-fit:contain; background:none!important; -webkit-mask:none!important; mask:none!important; }

/* Buttons */
.tsp-btn { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:50px; padding:13px 22px; border:1px solid transparent; border-radius:var(--tsp-button-radius,9px); font-size:14px; font-weight:850; letter-spacing:.025em; line-height:1.1; text-align:center; text-transform:uppercase; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease; }
.tsp-btn:hover { transform:translateY(-2px); }
.tsp-btn-primary { background:var(--tsp-primary,#16942e); color:var(--tsp-button-text,#fff)!important; box-shadow:0 12px 24px rgba(22,148,46,.24); }
.tsp-btn-primary:hover { box-shadow:0 15px 30px rgba(22,148,46,.30); }
.tsp-btn-outline { border-color:rgba(22,148,46,.5); background:#fff; color:var(--tsp-primary,#16942e)!important; }
.tsp-btn-outline:hover { border-color:var(--tsp-primary,#16942e); background:#f5fbf4; }

/* Header */
.tsp-header { position:relative; z-index:999; width:100%; background:#fff; border-bottom:1px solid var(--tsp-line,#dfe8e1); box-shadow:0 4px 18px rgba(4,35,18,.05); backdrop-filter:blur(12px); }
.tsp-header.is-sticky { position:sticky; top:0; }
.admin-bar .tsp-header.is-sticky { top:32px; }
.tsp-header-inner { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.tsp-logo { display:flex; align-items:center; flex:0 0 auto; }
.tsp-logo picture { display:flex; align-items:center; }
.tsp-logo img { width:222px; height:auto; object-fit:contain; object-position:left center; }
.tsp-nav { display:flex; align-items:center; gap:30px; margin-left:auto; }
.tsp-nav a { position:relative; color:#20352a; font-weight:800; letter-spacing:.035em; line-height:1; white-space:nowrap; text-transform:uppercase; }
.tsp-nav a::after { content:""; position:absolute; left:0; right:100%; bottom:-11px; height:2px; transition:right .2s ease; }
.tsp-nav a:hover::after { right:0; }
.tsp-header-actions { display:flex; align-items:center; gap:16px; }
.tsp-header-phone { display:flex; align-items:center; gap:9px; font-weight:850; white-space:nowrap; }
.tsp-header-phone .tsp-icon-graphic { color:inherit; }

/* Hero */
.tsp-hero { position:relative; display:flex; align-items:center; color:#fff; background-repeat:no-repeat; background-size:cover; }
.tsp-hero::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(180deg,transparent 62%,rgba(0,22,10,.25)); }
.tsp-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(350px,.78fr); align-items:center; }
.tsp-hero-copy { min-width:0; }
.tsp-hero h1 { margin:0; max-width:690px; color:#fff; font-weight:850; letter-spacing:-.055em; text-wrap:balance; }
.tsp-hero h1 span,
.tsp-hero h1 em { display:block; font-style:normal; }
.tsp-hero-lead { max-width:610px; margin-top:24px; color:rgba(255,255,255,.94); line-height:1.55; }
.tsp-hero-lead p { margin:0; }

/* Hero proof row — corrected equal-column icon alignment */
.tsp-hero-proof { display:grid; margin-top:36px; align-items:stretch; }
.tsp-hero-proof-item { display:grid; grid-template-columns:var(--item-badge-size,42px) minmax(0,1fr); align-items:center; gap:11px; min-width:0; min-height:var(--item-badge-size,42px); }
.tsp-hero-proof-icon { display:grid; place-items:center; width:var(--item-badge-size,42px); height:var(--item-badge-size,42px); border-radius:50%; background:var(--item-badge-bg,var(--tsp-accent,#7bdc18)); overflow:hidden; }
.tsp-hero-proof-icon .tsp-icon-graphic { width:var(--item-icon-size,22px); height:var(--item-icon-size,22px); background-color:var(--item-icon-color,#07381f); }
.tsp-proof-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:1px; line-height:1.15; }
.tsp-proof-copy strong { display:block; margin:0; color:var(--item-title-color,#fff); font-size:var(--item-title-size,13px); font-weight:850; line-height:1.15; }
.tsp-proof-copy small { display:block; color:var(--item-text-color,rgba(255,255,255,.82)); font-size:var(--item-text-size,13px); font-weight:500; line-height:1.2; }

/* Hero quote card */
.tsp-quote-card { justify-self:end; overflow:hidden; color:var(--tsp-text,#2f3e35); box-shadow:0 25px 70px rgba(0,21,9,.35); border:1px solid rgba(255,255,255,.72); }
.tsp-quote-card-head { padding:23px 28px 20px; color:#fff; text-align:center; }
.tsp-quote-card-head h2 { margin:0; font-weight:900; letter-spacing:-.02em; line-height:1.12; text-transform:uppercase; }
.tsp-quote-card-head p { margin:6px 0 0; color:rgba(255,255,255,.86); line-height:1.35; }
.tsp-quote-card-body { padding:26px 28px 20px; }
.tsp-fallback-form { display:grid; gap:12px; }
.tsp-fallback-form .tsp-btn { width:100%; }
.tsp-fallback-or { display:flex; align-items:center; gap:10px; color:#7d8981; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.tsp-fallback-or::before,
.tsp-fallback-or::after { content:""; flex:1; height:1px; background:#dfe7e1; }
.tsp-form-note { display:flex; align-items:flex-start; justify-content:center; gap:8px; margin:12px 0 0; color:#748078; line-height:1.45; text-align:left; }
.tsp-form-note .tsp-icon-graphic { margin-top:2px; flex:0 0 auto; }
/* Stronger text CTA requested */
.tsp-text-cta { display:flex; align-items:center; justify-content:center; gap:12px; width:100%; border-top:1px solid; text-align:left; transition:filter .2s ease,transform .2s ease; }
.tsp-text-cta:hover { filter:brightness(.97); }
.tsp-text-cta-icon { display:grid; place-items:center; flex:0 0 auto; }
.tsp-text-cta-icon .tsp-icon-graphic { width:100%; height:100%; }
.tsp-text-cta-copy { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:center; gap:5px 7px; line-height:1.2; }
.tsp-text-cta-copy>span { font-weight:700; }
.tsp-text-cta-copy strong { font-weight:900; letter-spacing:.015em; text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; }
.tsp-text-cta-copy b { font-weight:900; text-decoration:none; }

/* Gravity Forms */
#top .tsp-landing-page .gform_wrapper { margin:0!important; }
#top .tsp-landing-page .gform_wrapper .gform_heading { display:none!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme .gform_fields { gap:14px!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme .gfield_label { margin:0 0 6px!important; color:#25372d!important; font-size:13px!important; font-weight:750!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme input[type=text],
#top .tsp-landing-page .gform_wrapper.gravity-theme input[type=email],
#top .tsp-landing-page .gform_wrapper.gravity-theme input[type=tel],
#top .tsp-landing-page .gform_wrapper.gravity-theme input[type=number],
#top .tsp-landing-page .gform_wrapper.gravity-theme select,
#top .tsp-landing-page .gform_wrapper.gravity-theme textarea { width:100%!important; min-height:48px!important; padding:11px 13px!important; border:1px solid #d6e0d9!important; border-radius:7px!important; background:#fff!important; color:#21342a!important; font-size:14px!important; box-shadow:none!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme textarea { min-height:110px!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme input:focus,
#top .tsp-landing-page .gform_wrapper.gravity-theme select:focus,
#top .tsp-landing-page .gform_wrapper.gravity-theme textarea:focus { border-color:var(--tsp-primary,#16942e)!important; box-shadow:0 0 0 3px rgba(22,148,46,.12)!important; outline:none!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme .gform_footer { margin:16px 0 0!important; padding:0!important; }
#top .tsp-landing-page .gform_wrapper.gravity-theme .gform_button,
#top .tsp-landing-page .gform_wrapper.gravity-theme input[type=submit] { width:100%!important; min-height:50px!important; margin:0!important; padding:13px 20px!important; border:0!important; border-radius:var(--tsp-button-radius,9px)!important; background:var(--tsp-primary,#16942e)!important; color:#fff!important; font-size:14px!important; font-weight:850!important; text-transform:uppercase!important; box-shadow:0 12px 24px rgba(22,148,46,.24)!important; cursor:pointer!important; }
#top .tsp-landing-page .gform_wrapper .validation_message,
#top .tsp-landing-page .gform_wrapper .gfield_validation_message { padding:6px 0 0!important; border:0!important; background:transparent!important; font-size:11px!important; }

/* Trust strip — corrected icon/text alignment */
.tsp-trust-strip { border-bottom:1px solid; }
.tsp-trust-grid { display:grid; }
.tsp-trust-item { display:grid; grid-template-columns:var(--item-badge-size,44px) minmax(0,1fr); align-items:center; gap:13px; min-width:0; padding:8px 24px; border-right:1px solid; }
.tsp-trust-item:last-child { border-right:0; }
.tsp-trust-icon { display:grid; place-items:center; width:var(--item-badge-size,44px); height:var(--item-badge-size,44px); border:1.5px solid var(--item-border,var(--tsp-primary,#16942e)); border-radius:50%; background:var(--item-badge-bg,#fff); overflow:hidden; }
.tsp-trust-icon .tsp-icon-graphic { width:var(--item-icon-size,22px); height:var(--item-icon-size,22px); background-color:var(--item-icon-color,var(--tsp-primary,#16942e)); }
.tsp-trust-copy { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:2px; line-height:1.2; }
.tsp-trust-copy strong { color:var(--item-title-color,var(--tsp-heading,#11251b)); font-size:var(--item-title-size,13px); font-weight:850; line-height:1.2; }
.tsp-trust-copy small { color:var(--item-text-color,var(--tsp-muted,#637067)); font-size:var(--item-text-size,11px); line-height:1.25; }

/* Services */
.tsp-services::after { content:""; position:absolute; top:24px; right:-80px; width:240px; height:240px; border:1px solid rgba(22,148,46,.08); border-radius:50%; box-shadow:0 0 0 34px rgba(22,148,46,.035),0 0 0 68px rgba(22,148,46,.022); pointer-events:none; }
.tsp-service-grid { position:relative; z-index:1; display:grid; align-items:stretch; margin-top:42px; }
.tsp-service-card { position:relative; display:flex; min-width:0; flex-direction:column; height:100%; overflow:visible; transition:transform .2s ease,box-shadow .2s ease; }
.tsp-service-card:hover { transform:translateY(-5px); }
.tsp-service-image { position:relative; width:100%; overflow:hidden; background:#edf2ee; }
.tsp-service-image picture { display:block; width:100%; height:100%; }
.tsp-service-image img { width:100%; height:100%; object-fit:cover; object-position:var(--image-position,center center); transition:transform .35s ease; }
.tsp-service-card:hover .tsp-service-image img { transform:scale(1.035); }
/* Badge is now anchored to card, above the content, and cannot be clipped */
.tsp-service-badge { position:absolute; z-index:4; top:var(--service-image-height,220px); left:50%; display:grid; place-items:center; transform:translate(-50%,-50%); border-radius:50%; box-shadow:0 6px 16px rgba(0,42,17,.2); overflow:hidden; }
.tsp-service-badge .tsp-icon-graphic { display:block; }
.tsp-service-body { display:flex; flex:1; flex-direction:column; text-align:center; }
.tsp-service-body h3 { min-height:2.5em; margin:0; font-weight:850; line-height:1.25; }
.tsp-service-description { flex:1; margin-top:12px; line-height:1.45; }
.tsp-service-description p { margin:0; }
.tsp-service-link { display:inline-flex; align-items:center; justify-content:center; gap:4px; margin-top:18px; font-weight:900; letter-spacing:.045em; text-transform:uppercase; }
.tsp-service-link:hover { text-decoration:underline; text-underline-offset:4px; }

/* How it works */
.tsp-how { position:relative; }
.tsp-steps { display:grid; gap:54px; margin-top:42px; }
.tsp-step { position:relative; min-width:0; text-align:center; }
.tsp-step:not(:last-child)::after { content:""; position:absolute; top:38px; left:calc(50% + 54px); width:calc(100% - 108px + 54px); border-top:1px dashed; }
.tsp-step-icon { position:relative; z-index:2; display:grid; place-items:center; margin:0 auto 21px; border-radius:50%; }
.tsp-step-number { position:absolute; top:-7px; left:-4px; display:grid; place-items:center; width:27px; height:27px; border-radius:50%; font-size:12px; font-weight:900; box-shadow:0 4px 10px rgba(0,0,0,.12); }
.tsp-step h3 { margin:0; font-weight:850; line-height:1.25; }
.tsp-step-description { max-width:300px; margin:10px auto 0; line-height:1.5; }
.tsp-step-description p { margin:0; }

/* About and on-page video */
.tsp-about { position:relative; }
.tsp-about-grid { display:grid; grid-template-columns:minmax(380px,.86fr) minmax(0,1.14fr); min-height:560px; }
.tsp-about-copy { display:flex; flex-direction:column; justify-content:center; }
.tsp-about-copy h2 { max-width:520px; margin:0; font-weight:850; letter-spacing:-.04em; line-height:1.06; }
.tsp-about-body { max-width:560px; margin-top:20px; line-height:1.6; }
.tsp-check-list { display:grid; gap:11px; margin:24px 0 0; padding:0; list-style:none; }
.tsp-check-list li { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:start; gap:10px; line-height:1.4; }
.tsp-check-list .tsp-icon-graphic { margin-top:1px; }
.tsp-video-wrap { position:relative; overflow:hidden; background:#082818; }
.tsp-video-card { position:relative; display:block; width:100%; height:100%; margin:0; padding:0; overflow:hidden; border:0; background:#082818; cursor:pointer; appearance:none; }
.tsp-video-card>img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.tsp-video-card:hover>img { transform:scale(1.025); }
.tsp-video-overlay { position:absolute; inset:0; }
.tsp-video-play { position:absolute; z-index:3; top:50%; left:50%; display:grid; place-items:center; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.8); border-radius:50%; box-shadow:0 16px 35px rgba(0,0,0,.26); transition:transform .2s ease; }
.tsp-video-card:hover .tsp-video-play { transform:translate(-50%,-50%) scale(1.07); }
.tsp-video-copy { position:absolute; z-index:3; right:40px; bottom:38px; left:40px; text-align:left; }
.tsp-video-copy strong { display:block; max-width:480px; font-weight:850; letter-spacing:-.02em; line-height:1.12; }
.tsp-video-copy strong span { display:block; }
.tsp-video-inline { position:relative; width:100%; height:100%; }
.tsp-video-inline iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Video lightbox/modal */
.tsp-video-modal[hidden] { display:none!important; }
.tsp-video-modal { position:fixed; z-index:100000; inset:0; display:grid; place-items:center; padding:24px; }
.tsp-video-modal-backdrop { position:absolute; inset:0; background:rgba(0,15,7,.88); backdrop-filter:blur(8px); }
.tsp-video-modal-dialog { position:relative; z-index:2; width:100%; }
.tsp-video-modal-close { position:absolute; z-index:3; top:-48px; right:0; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid rgba(255,255,255,.5); border-radius:50%; background:rgba(255,255,255,.12); color:#fff; font-size:29px; line-height:1; cursor:pointer; }
.tsp-video-modal-frame { position:relative; width:100%; padding-top:56.25%; overflow:hidden; border-radius:14px; background:#000; box-shadow:0 30px 90px rgba(0,0,0,.55); }
.tsp-video-modal-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
body.tsp-video-open { overflow:hidden!important; }

/* Reviews */
.tsp-review-grid { display:grid; margin-top:40px; }
.tsp-review-card { position:relative; display:grid; min-width:0; overflow:hidden; border:1px solid; }
.tsp-review-card.has-no-image { grid-template-columns:1fr!important; }
.tsp-review-image { min-height:190px; overflow:hidden; }
.tsp-review-image img { width:100%; height:100%; object-fit:cover; }
.tsp-review-content { position:relative; min-width:0; padding:22px 20px 20px; }
.tsp-quote-mark { position:absolute; top:10px; right:16px; color:rgba(22,148,46,.16); font-family:Georgia,serif; font-size:54px; line-height:1; }
.tsp-review-service { display:block; margin-bottom:4px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.tsp-stars { margin:0 0 7px; font-size:12px; letter-spacing:.08em; line-height:1; }
.tsp-review-content blockquote { margin:0; padding:0; border:0; font-style:normal; line-height:1.48; }
.tsp-review-name { margin-top:12px; font-weight:850; }
.tsp-review-name small { display:block; margin-top:2px; color:var(--tsp-muted,#637067); font-size:.9em; font-weight:500; }

/* Final CTA */
.tsp-final-cta { position:relative; color:#fff; background-repeat:no-repeat; background-size:cover; }
.tsp-final-grid { display:grid; grid-template-columns:minmax(0,.78fr) minmax(500px,1.22fr); align-items:center; gap:70px; }
.tsp-final-copy h2 { max-width:570px; margin:0; font-weight:850; letter-spacing:-.045em; line-height:1.02; }
.tsp-final-copy h2 span { display:block; }
.tsp-final-body { max-width:530px; margin-top:18px; line-height:1.55; }
.tsp-final-contact { display:flex; flex-wrap:wrap; gap:18px 26px; margin-top:24px; }
.tsp-final-contact a { display:flex; align-items:center; gap:9px; color:#fff!important; font-size:13px; font-weight:850; }
.tsp-final-contact .tsp-icon-graphic { width:22px; height:22px; background-color:var(--tsp-accent,#7bdc18); }
.tsp-final-actions-card { padding:26px; border:1px solid; border-radius:16px; box-shadow:0 22px 55px rgba(0,0,0,.22); backdrop-filter:blur(8px); }
.tsp-final-actions-card h3 { margin:0 0 17px; font-weight:800; }
.tsp-final-actions { display:grid; grid-template-columns:1.25fr 1fr 1fr; gap:12px; }
.tsp-final-actions .tsp-btn-outline { border-color:rgba(255,255,255,.45); background:rgba(255,255,255,.05); color:#fff!important; }
.tsp-final-actions .tsp-btn-outline:hover { background:rgba(255,255,255,.13); }
.tsp-final-note { margin-top:14px; line-height:1.45; }

/* Footer */
.tsp-footer-inner { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.tsp-footer-links { display:flex; gap:18px; }
.tsp-footer a:hover { text-decoration:underline; text-underline-offset:3px; }

/* Mobile sticky CTA */
.tsp-mobile-cta { display:none; }

/* Enfold integration */
body.tsp-modern-landing-active { margin:0; background:#fff; }
body.tsp-modern-landing-active.tsp-hide-theme-chrome #header,
body.tsp-modern-landing-active.tsp-hide-theme-chrome #header_main,
body.tsp-modern-landing-active.tsp-hide-theme-chrome #footer,
body.tsp-modern-landing-active.tsp-hide-theme-chrome #socket,
body.tsp-modern-landing-active.tsp-hide-theme-chrome #title,
body.tsp-modern-landing-active.tsp-hide-theme-chrome #scroll-top-link { display:none!important; }
body.tsp-modern-landing-active #main { padding-top:0!important; margin:0!important; }
body.tsp-modern-landing-active #main > .container_wrap,
body.tsp-modern-landing-active #main > .container_wrap > .container,
body.tsp-modern-landing-active #main .template-page,
body.tsp-modern-landing-active #main .content,
body.tsp-modern-landing-active #main .post-entry,
body.tsp-modern-landing-active #main .entry-content-wrapper,
body.tsp-modern-landing-active #main .av_textblock_section,
body.tsp-modern-landing-active #main .avia_textblock,
body.tsp-modern-landing-active .tsp-modern-landing-host,
body.tsp-modern-landing-active .tsp-modern-landing-host > .container,
body.tsp-modern-landing-active .tsp-modern-landing-host .content,
body.tsp-modern-landing-active .tsp-modern-landing-host .entry-content-wrapper,
body.tsp-modern-landing-active .tsp-modern-landing-host .av_textblock_section,
body.tsp-modern-landing-active .tsp-modern-landing-host .avia_textblock { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; border:0!important; }
body.tsp-modern-landing-active .container_wrap { border-top:0!important; }

@media (max-width:1180px) {
  .tsp-nav { gap:20px; }
  .tsp-header-actions .tsp-btn { padding-inline:16px; }
  .tsp-hero-grid { gap:40px; }
  .tsp-service-body h3 { min-height:auto; }
}
@media (max-width:960px) {
  .admin-bar .tsp-header.is-sticky { top:32px; }
  .tsp-header-phone span { display:none; }
  .tsp-hero-grid { grid-template-columns:1fr; }
  .tsp-hero-copy { max-width:760px; }
  .tsp-quote-card { width:min(100%,560px)!important; justify-self:start; }
  .tsp-hero-proof-item { min-width:0; }
  .tsp-trust-item:nth-child(even) { border-right:0; }
  .tsp-about-grid { grid-template-columns:1fr; }
  .tsp-final-grid { grid-template-columns:1fr; }
  .tsp-review-card { grid-template-columns:150px 1fr; }
  .tsp-review-image { width:150px!important; }
}
@media (max-width:782px) {
  .admin-bar .tsp-header.is-sticky { top:46px; }
}
@media (max-width:700px) {
  .tsp-shell { width:min(calc(100% - 30px),var(--tsp-shell,1180px)); }
  .tsp-header-actions .tsp-btn { min-height:42px; padding:10px 12px; font-size:11px!important; }
  .tsp-header-phone { display:none; }
  .tsp-header-inner { gap:12px; }
  .tsp-hero-grid { gap:34px; }
  .tsp-hero h1 { letter-spacing:-.045em; }
  .tsp-hero-proof-item { grid-template-columns:var(--item-badge-size,42px) minmax(0,1fr); }
  .tsp-quote-card-head { padding:20px 18px 18px; }
  .tsp-quote-card-body { padding:22px 18px 18px; }
  .tsp-text-cta { padding-inline:18px!important; }
  .tsp-text-cta-copy { flex-direction:column; align-items:flex-start; gap:1px; }
  .tsp-trust-item { border-right:0; border-bottom:1px solid; }
  .tsp-trust-item:last-child { border-bottom:0; }
  .tsp-service-body { padding-right:24px; padding-left:24px; }
  .tsp-service-body h3 { min-height:auto; }
  .tsp-steps { gap:42px; }
  .tsp-step:not(:last-child)::after { display:none; }
  .tsp-video-copy { right:24px; bottom:27px; left:24px; }
  .tsp-review-card { grid-template-columns:95px 1fr; }
  .tsp-review-image { width:95px!important; min-height:160px; }
  .tsp-final-actions { grid-template-columns:1fr; }
  .tsp-footer { padding-bottom:86px!important; }
  .tsp-footer-inner { flex-direction:column; text-align:center; }
  .tsp-mobile-cta { position:fixed; z-index:1000; right:10px; bottom:10px; left:10px; display:grid; grid-template-columns:1fr 1fr 1.35fr; gap:7px; padding:7px; border:1px solid rgba(255,255,255,.25); border-radius:14px; box-shadow:0 14px 35px rgba(0,0,0,.33); backdrop-filter:blur(12px); opacity:0; transform:translateY(120%); pointer-events:none; transition:opacity .25s ease,transform .25s ease; }
  .tsp-mobile-cta.is-visible { opacity:1; transform:translateY(0); pointer-events:auto; }
  .tsp-mobile-cta a { display:flex; align-items:center; justify-content:center; gap:6px; min-height:46px; padding:8px 6px; border-radius:9px; color:inherit!important; font-size:11px; font-weight:850; text-transform:uppercase; }
  .tsp-mobile-cta .tsp-icon-graphic { width:18px; height:18px; background-color:currentColor; }
}
@media (max-width:480px) {
  .tsp-hero-proof { gap:16px 10px!important; }
  .tsp-proof-copy strong,
  .tsp-proof-copy small { overflow-wrap:anywhere; }
  .tsp-review-card { grid-template-columns:1fr; }
  .tsp-review-image { width:100%!important; height:190px; }
  .tsp-video-modal { padding:12px; }
  .tsp-video-modal-close { top:-45px; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .tsp-landing-page * { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}

/* Shared secondary-page template hero ------------------------------------- */
.tsp-template-hero {
  position:relative;
  display:flex;
  width:100%;
  overflow:hidden;
  isolation:isolate;
  background-repeat:no-repeat;
  background-size:cover;
}
.tsp-template-hero-shell {
  position:relative;
  z-index:2;
  display:flex;
  width:min(calc(100% - 40px),var(--tsp-shell,1180px));
  margin-inline:auto;
}
.tsp-template-hero-content {
  min-width:0;
  margin-inline:0;
}
.tsp-template-hero-content.has-card {
  width:100%;
}
.tsp-template-hero-content > :first-child { margin-top:0!important; }
.tsp-template-hero-content > :last-child { margin-bottom:0!important; }
.tsp-template-hero-content h1,
.tsp-template-hero-content h2,
.tsp-template-hero-content h3,
.tsp-template-hero-content h4,
.tsp-template-hero-content h5,
.tsp-template-hero-content h6 { color:inherit; }
.tsp-template-hero-content p,
.tsp-template-hero-content li { color:inherit; }
.tsp-template-hero-content ul,
.tsp-template-hero-content ol {
  display:inline-block;
  max-width:100%;
  margin:1em 0;
  padding-left:1.4em;
  text-align:left;
}
.tsp-template-hero-content img {
  max-width:100%;
  height:auto;
  margin-inline:auto;
}
.tsp-template-hero-content iframe,
.tsp-template-hero-content video,
.tsp-template-hero-content .wp-video,
.tsp-template-hero-content .wp-video-shortcode,
.tsp-template-hero-content .wp-block-embed,
.tsp-template-hero-content .wp-block-embed__wrapper {
  display:block;
  width:100%;
  max-width:100%;
  margin-inline:auto;
  border:0;
}
.tsp-template-hero-content .wp-block-embed__wrapper {
  position:relative;
  overflow:hidden;
}
.tsp-template-hero-content .alignleft { margin-right:1.5em; }
.tsp-template-hero-content .alignright { margin-left:1.5em; }
.tsp-template-hero-content .aligncenter { margin-right:auto; margin-left:auto; }
.tsp-template-hero-content .gform_wrapper {
  min-width:0;
}
.tsp-template-hero-content .gform_confirmation_wrapper {
  margin-right:auto!important;
  margin-left:auto!important;
}

@media (max-width:700px) {
  .tsp-template-hero-shell {
    width:min(calc(100% - 30px),var(--tsp-shell,1180px));
  }
  .tsp-template-hero-content .alignleft,
  .tsp-template-hero-content .alignright {
    float:none;
    margin-right:auto;
    margin-left:auto;
  }
}
