/* Worthy Landscaping Rebrand Core — Design A Cinematic Split Hybrid
 * Scope all rules under .wl-a-site or body.worthy-rebrand-design-a.
 * Do not enqueue alongside a duplicate Elementor Custom Code copy.
 */
:root {
  --wl-a-max-wide: 1360px;
  --wl-a-max-standard: 1180px;
  --wl-a-max-reading: 800px;
  --wl-a-gutter: clamp(20px, 4vw, 48px);
  --wl-a-section-y: clamp(64px, 8vw, 132px);
  --wl-a-shadow-sm: 0 10px 30px rgba(3, 18, 11, .10);
  --wl-a-shadow-lg: 0 28px 80px rgba(3, 18, 11, .22);
}

.wl-a-site,
body.worthy-rebrand-design-a {
  color: var(--wl-a-ink, #142018);
  font-family: var(--wl-a-font-body, 'Inter', Arial, sans-serif);
  background: var(--wl-a-paper, #FCFCF8);
  overflow-wrap: anywhere;
}

.wl-a-site *, .wl-a-site *::before, .wl-a-site *::after { box-sizing: border-box; }
.wl-a-site img { display: block; max-width: 100%; height: auto; }
.wl-a-site a { text-underline-offset: .18em; }
.wl-a-site :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--wl-a-lime-500, #82C83E);
  outline-offset: 3px;
}

.worthy-skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 100000;
  padding: 12px 18px; background: #FFFFFF; color: #142018;
  border-radius: 6px; transform: translateY(-160%);
}
.worthy-skip-link:focus { transform: translateY(0); }

.wl-a-section { width: 100%; padding-block: var(--wl-a-section-y); }
.wl-a-inner { width: min(calc(100% - (2 * var(--wl-a-gutter))), var(--wl-a-max-wide)); margin-inline: auto; }
.wl-a-inner--standard { max-width: var(--wl-a-max-standard); }
.wl-a-reading { width: min(100%, var(--wl-a-max-reading)); }
.wl-a-eyebrow {
  margin: 0 0 14px; color: var(--wl-a-lime-500, #82C83E);
  font-family: var(--wl-a-font-heading, 'Manrope', Arial, sans-serif);
  font-size: clamp(12px, 1vw, 14px); font-weight: 800; line-height: 1.25;
  letter-spacing: .12em; text-transform: uppercase;
}
.wl-a-site h1, .wl-a-site h2, .wl-a-site h3 {
  margin-block: 0 .42em; color: inherit; font-family: var(--wl-a-font-heading, 'Manrope', Arial, sans-serif);
  text-wrap: balance;
}
.wl-a-site h1 { font-size: clamp(2.5rem, 7vw, 5.9rem); line-height: .98; letter-spacing: -.045em; }
.wl-a-site h2 { font-size: clamp(2rem, 4.6vw, 4rem); line-height: 1.06; letter-spacing: -.035em; }
.wl-a-site h3 { font-size: clamp(1.35rem, 2.6vw, 2.25rem); line-height: 1.12; letter-spacing: -.02em; }
.wl-a-site p, .wl-a-site li { font-size: clamp(1rem, 1.3vw, 1.125rem); line-height: 1.68; }
.wl-a-site :where(h2,h3,h4) { scroll-margin-top: 110px; }

.wl-a-button, .wl-a-site .elementor-button {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 48px; padding: 14px 22px; border: 2px solid transparent;
  border-radius: var(--wl-a-radius-pill, 999px); font-weight: 800; line-height: 1;
  text-decoration: none; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.wl-a-button--primary, .wl-a-site .elementor-button {
  background: var(--wl-a-orange-500, #F36C21); color: #11180f;
  box-shadow: 0 12px 28px rgba(243,108,33,.22);
}
.wl-a-button--secondary { background: transparent; color: inherit; border-color: currentColor; }
.wl-a-button:hover, .wl-a-site .elementor-button:hover { transform: translateY(-2px); }

.wl-a-header {
  position: relative; z-index: 999; width: 100%; min-height: 76px;
  background: rgba(6,21,15,.94); color: #FFFFFF; backdrop-filter: blur(14px);
}
.wl-a-header.is-sticky { position: sticky; top: 0; box-shadow: 0 8px 28px rgba(0,0,0,.18); }
.admin-bar .wl-a-header.is-sticky { top: 32px; }

.wl-a-hero {
  position: relative; isolation: isolate; min-height: clamp(620px, 78vh, 860px);
  background: var(--wl-a-forest-950, #06150F); color: #FFFFFF; overflow: hidden;
}
.wl-a-hero__copy { position: relative; z-index: 3; max-width: 720px; }
.wl-a-hero__media { position: absolute; inset: 0; z-index: -1; display: grid; grid-template-columns: 1fr 1fr; }
.wl-a-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,14,9,.92) 0%, rgba(3,14,9,.70) 42%, rgba(3,14,9,.18) 74%, rgba(3,14,9,.25) 100%); }
.wl-a-hero__media img { width: 100%; height: 100%; object-fit: cover; }

.wl-a-service-rail { display: grid; grid-template-columns: repeat(6, minmax(135px, 1fr)); gap: 1px; background: var(--wl-a-line, #DCE3DD); }
.wl-a-service-rail > * { min-height: 120px; padding: 20px; background: var(--wl-a-paper, #FCFCF8); display: grid; place-items: center; text-align: center; }
.wl-a-service-grid, .wl-a-project-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: clamp(18px, 2.5vw, 34px); }
.wl-a-service-card, .wl-a-project-card { background: var(--wl-a-paper, #FCFCF8); border: 1px solid var(--wl-a-line, #DCE3DD); border-radius: var(--wl-a-radius-md, 18px); overflow: clip; box-shadow: var(--wl-a-shadow-sm); }
.wl-a-service-card img, .wl-a-project-card img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.wl-a-service-card__body, .wl-a-project-card__body { padding: clamp(20px, 2.6vw, 32px); }

.wl-a-proof-strip { background: var(--wl-a-forest-900, #0A2118); color: #FFFFFF; }
.wl-a-proof-strip__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; }
.wl-a-proof-strip__item { padding: 28px; border-inline-start: 1px solid rgba(255,255,255,.15); }

.wl-a-owner-story { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(28px,5vw,80px); align-items: center; }
.wl-a-owner-story__media img { width: 100%; aspect-ratio: 4/5; object-fit: cover; border-radius: var(--wl-a-radius-lg, 28px); }

.wl-a-content-sidebar { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,380px); gap: clamp(32px,5vw,72px); align-items: start; }
.wl-a-content-sidebar__aside { position: sticky; top: 120px; }

.wl-a-quote-form :where(input,textarea,select) {
  width: 100%; min-height: 48px; padding: 13px 14px; color: var(--wl-a-ink, #142018);
  background: #FFFFFF; border: 1px solid #AEBBB2; border-radius: var(--wl-a-radius-sm, 10px);
}
.wl-a-quote-form textarea { min-height: 140px; resize: vertical; }
.wl-a-quote-form label { display: inline-block; margin-bottom: 7px; font-weight: 750; }

.wl-a-service-areas__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px 24px; }
.wl-a-cta { background: linear-gradient(135deg,var(--wl-a-forest-900,#0A2118),var(--wl-a-forest-800,#103626)); color: #FFFFFF; }
.wl-a-footer { background: #07110D; color: rgba(255,255,255,.86); padding-block: 64px 28px; }

@media (max-width: 1024px) {
  .admin-bar .wl-a-header.is-sticky { top: 46px; }
  .wl-a-service-rail { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .wl-a-service-grid, .wl-a-project-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wl-a-content-sidebar { grid-template-columns: 1fr; }
  .wl-a-content-sidebar__aside { position: static; }
}

@media (max-width: 767px) {
  :root { --wl-a-gutter: 20px; --wl-a-section-y: 68px; }
  .wl-a-site h1 { font-size: clamp(2.5rem, 13vw, 3.35rem); }
  .wl-a-hero { min-height: auto; padding-block: 68px 0; }
  .wl-a-hero__copy { padding-inline: var(--wl-a-gutter); padding-bottom: 42px; }
  .wl-a-hero__media { position: relative; grid-template-columns: 1fr; min-height: 420px; }
  .wl-a-hero__media::after { background: linear-gradient(180deg,rgba(3,14,9,.25),rgba(3,14,9,.02)); }
  .wl-a-hero__media img { min-height: 210px; }
  .wl-a-service-rail { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .wl-a-service-grid, .wl-a-project-grid, .wl-a-owner-story, .wl-a-proof-strip__grid, .wl-a-service-areas__grid { grid-template-columns: 1fr; }
  .wl-a-button { width: 100%; }
  .wl-a-proof-strip__item { border-inline-start: 0; border-top: 1px solid rgba(255,255,255,.15); }
}

@media (prefers-reduced-motion: reduce) {
  .wl-a-site *, .wl-a-site *::before, .wl-a-site *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
