:root {
  --als-purple: #6F3F68;
  --als-purple-hover: #4F2D4A;
  --als-logo-purple: #CC93C2;
  --als-orange: #FAA41A;
  --als-mint: #88CFBA;
  --als-charcoal: #242424;
  --als-muted: #5C5C5C;
  --als-light-purple: #F4EEF3;
  --als-light-mint: #EAF7F3;
  --als-light-orange: #FFF3DF;
  --als-border: #E5E2E4;
  --als-radius: 16px;
  --als-wide: min(92vw, 1500px);
  --als-copy: 720px;
  --als-header-height: 92px;
}

html { scroll-behavior: smooth; }
body { color: var(--als-charcoal); }
.als-main { margin-top: 0; }
.alignwide { max-width: var(--als-wide) !important; }

.als-skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 99999; padding: 10px 14px;
  background: #fff; color: var(--als-purple); border: 2px solid var(--als-purple); border-radius: 6px;
  transform: translateY(-180%); transition: transform .15s ease;
}
.als-skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--als-orange); outline-offset: 3px; }

/* Header / navigation */
.als-site-header {
  position: sticky; top: 0; z-index: 1000;
  background: rgba(255,255,255,.985); border-bottom: 1px solid #ece8eb;
  box-shadow: 0 3px 14px rgba(36,36,36,.05);
}
.admin-bar .als-site-header { top: 32px; }
.als-header-inner { width: var(--als-wide); min-height: 78px; margin-inline:auto; padding: 8px 0; gap: 24px; }
.als-brand { gap: 12px; flex: 0 0 auto; }
.als-brand .wp-block-site-logo img { max-height:64px; width:auto; }
.als-site-header .wp-block-site-title { margin:0; white-space:nowrap; }
.als-site-header .wp-block-site-title a { color:var(--als-purple); text-decoration:none; font-weight:700; }
.als-site-header .wp-block-navigation { margin-left:auto; }
.als-primary-nav .wp-block-navigation-item__content { color:var(--als-charcoal); text-decoration:none; padding:.45rem .35rem; }
.als-primary-nav .wp-block-navigation-item__content:hover { color:var(--als-purple); text-decoration:none; }
.als-primary-nav .als-current-link > .wp-block-navigation-item__content,
.als-primary-nav .wp-block-navigation-item__content[aria-current="page"] { color:var(--als-purple); font-weight:700; position:relative; }
.als-primary-nav .als-current-link > .wp-block-navigation-item__content::after,
.als-primary-nav .wp-block-navigation-item__content[aria-current="page"]::after {
  content:""; position:absolute; left:.35rem; right:.35rem; bottom:.18rem; height:3px; border-radius:3px; background:var(--als-orange);
}
.als-primary-nav .als-current-parent > .wp-block-navigation-item__content { color:var(--als-purple); font-weight:700; }
.als-primary-nav .als-contact-nav > .wp-block-navigation-item__content,
.als-primary-nav a[href*="/contact/"] {
  background:var(--als-orange); color:var(--als-charcoal) !important; border:1px solid var(--als-purple);
  border-radius:8px; padding:.62rem .9rem !important; font-weight:700; text-decoration:none !important;
}
.als-primary-nav .als-contact-nav > .wp-block-navigation-item__content:hover,
.als-primary-nav a[href*="/contact/"]:hover { background:var(--als-purple); color:#fff !important; }
.als-primary-nav .wp-block-navigation__submenu-container { border:1px solid var(--als-border); border-radius:10px; box-shadow:0 10px 28px rgba(36,36,36,.1); overflow:hidden; }

/* Section structure */
.als-section { margin:0; padding: clamp(42px, 5.5vw, 78px) 0; }
.als-section + .als-section { border-top:1px solid #f0eef0; }
.als-section-inner { width:var(--als-wide); margin-inline:auto; }
.als-section-inner > :where(h1,h2,h3,p,ul,.als-button-row,.als-testimonial,.als-crosslink) { max-width:var(--als-copy); }
.als-section-inner > :where(h1,h2,h3,p,ul,.als-button-row,.als-testimonial,.als-crosslink):not(.has-text-align-center) { margin-left:0; margin-right:0; }
.als-page-hero { padding-top:clamp(42px,5vw,70px); padding-bottom:clamp(42px,5vw,70px); }
.als-garden { background:var(--als-light-mint); }
.als-irrigation { background:var(--als-light-purple); }
.als-landscape { background:var(--als-light-orange); }
.als-neutral { background:#fafafa; }
.als-lead { font-size:clamp(1.16rem,2vw,1.38rem); line-height:1.48; }
.als-outcome { font-weight:650; font-size:1.08rem; }
.als-section-inner h1:first-child, .als-section-inner h2:first-child { margin-top:0; }
.als-problem-list li, .als-service-list li { margin-bottom:.6rem; }

/* Home hero */
.als-home-hero {
  position:relative; width:var(--als-wide); max-width:1500px; min-height:clamp(470px,54vw,650px);
  margin:22px auto 0; overflow:hidden; border-radius:18px; background:#1d1d1d;
}
.als-home-hero-image { position:absolute; inset:0; margin:0; }
.als-home-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.als-home-hero-overlay {
  position:absolute; left:clamp(24px,4vw,58px); top:50%; transform:translateY(-50%);
  width:min(580px,48%); padding:clamp(28px,4vw,48px);
  background:rgba(79,45,74,.93); border-radius:14px; box-shadow:0 14px 40px rgba(0,0,0,.18);
}
.als-home-hero-overlay h1, .als-home-hero-overlay p { color:#fff !important; max-width:none; margin-left:0; }
.als-home-hero-overlay h1 { margin-top:0; }
.als-home-hero-overlay p:last-child { margin-bottom:0; }

/* Service cards */
.als-services-section > .als-section-inner > h2 { max-width:none; }
.als-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; margin-top:32px; }
.als-service-card {
  border-radius:var(--als-radius); overflow:hidden; border:1px solid rgba(36,36,36,.09);
  display:flex; flex-direction:column; min-width:0; box-shadow:0 5px 20px rgba(36,36,36,.04);
}
.als-service-card.als-garden { background:var(--als-light-mint); }
.als-service-card.als-irrigation { background:var(--als-light-purple); }
.als-service-card.als-landscape { background:var(--als-light-orange); }
.als-service-card .wp-block-image { margin:0; }
.als-service-card .wp-block-image img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:0; display:block; }
.als-service-card-body { padding:24px 28px 28px; display:flex; flex:1; flex-direction:column; }
.als-service-card-body h3 { margin-top:0; }
.als-service-details { margin-top:auto; }
.als-service-details summary { color:var(--als-purple); font-weight:700; cursor:pointer; padding-top:12px; }
.als-service-details[open] summary { margin-bottom:12px; }
.als-inline-link { font-weight:700; }

/* Page hero layouts */
.als-service-hero-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr); gap:clamp(34px,5vw,74px); align-items:center; }
.als-service-hero-copy > :where(h1,p) { max-width:680px; }
.als-service-hero-copy h1 { margin-top:0; }
.als-service-hero-media { min-width:0; }
.als-hero-image, .als-wide-image, .als-grid-image, .als-feature-image { margin:0; }
.als-hero-image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:14px; display:block; }
.als-wide-image { max-width:100% !important; margin-top:28px !important; }
.als-wide-image img { width:min(100%,1050px); max-height:620px; object-fit:cover; border-radius:12px; display:block; }

/* Before / after */
.als-before-after { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; max-width:none !important; }
.als-ba-item { position:relative; min-width:0; }
.als-ba-item .wp-block-image { margin:0; }
.als-ba-image img { width:100%; aspect-ratio:5/4; object-fit:cover; border-radius:12px; display:block; }
.als-image-label { position:absolute; left:12px; top:12px; z-index:2; background:rgba(36,36,36,.82); color:#fff; border-radius:6px; padding:5px 9px; font-size:.84rem; font-weight:700; }

/* Galleries / cross-links */
.als-media-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start; max-width:none !important; margin-top:28px; }
.als-media-grid-three { grid-template-columns:repeat(3,minmax(0,1fr)); }
.als-media-grid .wp-block-image, .als-steel-gallery .wp-block-image { margin:0; }
.als-media-grid img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block; }
.als-steel-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; max-width:none !important; margin-top:28px; }
.als-steel-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block; }
.als-secondary-links { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0; max-width:none; }
.als-crosslink { margin:0 !important; max-width:none !important; }
.als-crosslink a { display:inline-block; border:1px solid var(--als-purple); border-radius:8px; padding:.68rem .9rem; font-weight:700; background:#fff; }
.als-crosslink a:hover { background:var(--als-purple); color:#fff; text-decoration:none; }

/* Reviews / CTA */
.als-testimonial { border-left:4px solid var(--als-logo-purple); padding:26px 30px; background:#faf8fa; border-radius:0 var(--als-radius) var(--als-radius) 0; }
.als-testimonial blockquote { margin:0; }
.als-testimonial blockquote p:first-child { margin-top:0; }
.als-testimonial blockquote p:last-child { margin-bottom:0; }
.als-attribution { display:block; margin-top:16px; color:var(--als-muted); font-style:normal; font-weight:650; }
.als-button-row { margin-top:28px; }
.als-cta .wp-block-button__link, .als-submit-button {
  display:inline-block; background:var(--als-orange) !important; color:var(--als-charcoal) !important;
  border:1px solid var(--als-purple) !important; border-radius:8px !important; padding:.82rem 1.08rem !important;
  font:inherit; font-weight:700; line-height:1.2; cursor:pointer; text-decoration:none !important;
}
.als-cta .wp-block-button__link:hover, .als-submit-button:hover { background:var(--als-purple) !important; color:#fff !important; }
.als-local { padding-top:40px; padding-bottom:40px; }

/* Enquiry form */
#enquiry-form { scroll-margin-top:calc(var(--als-header-height) + 28px); }
.als-contact-section { padding-top:28px; }
.als-enquiry-form-wrap { max-width:820px; }
.als-enquiry-form { margin-top:4px; }
.als-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 22px; }
.als-field { margin-bottom:20px; }
.als-field label { display:block; font-weight:700; margin-bottom:7px; }
.als-optional { color:var(--als-muted); font-size:.88em; font-weight:500; }
.als-field input, .als-field select, .als-field textarea {
  box-sizing:border-box; width:100%; min-height:48px; padding:11px 12px; border:1px solid #bdb7bc;
  border-radius:8px; background:#fff; color:var(--als-charcoal); font:inherit;
}
.als-field select { cursor:pointer; }
.als-field textarea { min-height:160px; resize:vertical; }
.als-field input[type="file"] { padding:10px; }
.als-field-help, .als-privacy-note { color:var(--als-muted); font-size:.93rem; margin:.45rem 0 0; }
.als-privacy-note { margin:0 0 20px; }
.als-form-message { max-width:820px; padding:14px 16px; border-radius:8px; margin:0 0 20px; }
.als-form-success { background:var(--als-light-mint); border:1px solid #79b8a5; }
.als-form-error { background:#fff0f0; border:1px solid #c97777; }
.als-honeypot { position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important; }

/* Footer / 404 */
.als-site-footer { color:var(--als-muted); border-top:1px solid #eee; padding:36px 0; }
.als-footer-inner { width:var(--als-wide); margin-inline:auto; gap:20px; }
.als-site-footer .wp-block-site-title a { color:var(--als-purple); text-decoration:none; font-weight:700; }
.als-footer-nav .wp-block-navigation-item__content { font-size:.95rem; }
.als-404 { max-width:min(92vw,900px); }
.als-404-links { gap:10px; margin-top:26px; }
.als-admin-placeholder { border:2px dashed #b7a9b4; background:#fbf8fb; color:#5C5C5C; border-radius:10px; padding:24px; margin:24px 0; font-size:.95rem; }

@media (min-width: 782px) {
  .als-service-card details > summary { display:none; }
  .als-service-card details:not([open]) > *:not(summary) { display:block; }
}

@media (max-width: 1100px) {
  .als-header-inner { gap:14px; }
  .als-primary-nav { font-size:.94rem; }
  .als-service-grid { gap:18px; }
  .als-service-card-body { padding:22px; }
  .als-service-hero-grid { grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:34px; }
}

@media (max-width: 781px) {
  :root { --als-header-height: 76px; }
  body { font-size:19px; line-height:1.58; }
  .admin-bar .als-site-header { top:46px; }
  .als-header-inner { min-height:64px; padding:6px 0; }
  .als-brand { gap:9px; }
  .als-brand .wp-block-site-logo img { max-height:50px; }
  .als-site-header .wp-block-site-title { font-size:1.35rem !important; }
  .wp-block-navigation__responsive-container.is-menu-open { padding:24px !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items:flex-end; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items:flex-end; width:100%; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width:100%; justify-content:flex-end; text-align:right; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size:1.18rem; padding:.55rem 0; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items:flex-end; padding-top:0; width:100%; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size:1rem; font-weight:500; }
  .wp-block-navigation__responsive-container.is-menu-open .als-contact-nav > .wp-block-navigation-item__content,
  .wp-block-navigation__responsive-container.is-menu-open a[href*="/contact/"] { display:inline-block; width:auto; padding:.65rem .9rem !important; margin-top:.3rem; }

  .als-home-hero { display:flex; flex-direction:column; width:100%; min-height:0; margin:0; border-radius:0; }
  .als-home-hero-overlay { position:static; transform:none; width:auto; padding:34px 22px; border-radius:0; box-shadow:none; order:1; }
  .als-home-hero-image { position:static; order:2; height:55vw; min-height:270px; max-height:430px; }
  .als-home-hero-overlay h1 { font-size:clamp(2.25rem,10vw,3rem); }
  .als-section { padding:40px 0; }
  .als-section-inner { width:min(92vw,720px); }
  .als-service-grid { grid-template-columns:1fr; gap:18px; }
  .als-service-card-body { padding:21px 22px 23px; }
  .als-service-card .wp-block-image img { aspect-ratio:16/9; }
  .als-service-hero-grid { grid-template-columns:1fr; gap:24px; }
  .als-service-hero-media { order:2; }
  .als-before-after { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .als-ba-image img { aspect-ratio:4/5; }
  .als-media-grid, .als-media-grid-three { grid-template-columns:1fr; }
  .als-steel-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .als-form-grid { grid-template-columns:1fr; gap:0; }
  .als-footer-inner { width:min(92vw,720px); flex-direction:column; align-items:flex-start !important; }
}

@media (max-width: 480px) {
  .als-before-after { grid-template-columns:1fr 1fr; }
  .als-image-label { left:8px; top:8px; font-size:.78rem; }
  .als-steel-gallery { grid-template-columns:1fr; }
}

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

/* V4 staging-review refinements */
:root {
  --als-light-purple: #EFE4ED;
  --als-light-mint: #DFF1EC;
  --als-light-orange: #FFF0D7;
}

/* Keep wide layouts genuinely aligned; WordPress flow margins must not offset grid items. */
.als-service-grid > .als-service-card,
.als-feature-grid > *,
.als-story-grid > *,
.als-story-work-grid > *,
.als-before-after > *,
.als-media-grid > *,
.als-steel-gallery > * { margin-block-start:0 !important; }

.als-service-card { height:100%; }
.als-service-card-body h3 a.als-service-heading-link { color:var(--als-charcoal); text-decoration:none; }
.als-service-card-body h3 a.als-service-heading-link:hover { color:var(--als-purple); text-decoration:underline; }
.als-service-card-image a { display:block; }

/* Wider lower-page composition while preserving comfortable prose line length. */
.als-home-wide-copy .als-section-inner > :where(h2,h3,p,ul,.als-crosslink,.als-button-row),
.als-wide-copy-section .als-section-inner > :where(h2,h3,p,ul,.als-crosslink,.als-button-row) { max-width:900px; }
.als-home-review .als-section-inner > h2 { max-width:900px; }
.als-home-review .als-testimonial { max-width:850px; }
.als-wide-list-section .als-section-inner > :where(h2,ul) { max-width:900px; }

/* Shared text + image composition. */
.als-feature-grid {
  display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,1fr);
  gap:clamp(30px,4vw,64px); align-items:center; max-width:none !important;
}
.als-feature-grid-problems { grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr); align-items:start; }
.als-feature-grid-wide { grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr); }
.als-feature-copy > :where(h1,h2,h3,p,ul) { max-width:720px; margin-left:0; margin-right:0; }
.als-feature-copy h2:first-child { margin-top:0; }
.als-feature-media { min-width:0; }
.als-feature-media .wp-block-image { margin:0; }
.als-feature-media img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block; }
.als-feature-grid.als-image-first .als-feature-media { grid-column:1; grid-row:1; }
.als-feature-grid.als-image-first .als-feature-copy { grid-column:2; grid-row:1; }

.als-copy-columns { columns:2; column-gap:clamp(34px,4vw,58px); max-width:1200px !important; margin-top:30px; }
.als-copy-columns > p { break-inside:avoid; margin-top:0; margin-bottom:1.25rem; max-width:none !important; }

/* Garden Maintenance display-home image panel. */
.als-image-panel { position:relative; max-width:none !important; min-height:500px; overflow:hidden; border-radius:14px; }
.als-image-panel-media, .als-image-panel-media .wp-block-image { position:absolute; inset:0; margin:0; }
.als-image-panel-media img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.als-image-panel-copy {
  position:absolute; left:clamp(22px,4vw,58px); top:50%; transform:translateY(-50%);
  width:min(610px,43%); padding:clamp(24px,3vw,38px); border-radius:12px;
  background:rgba(223,241,236,.95); box-shadow:0 10px 34px rgba(36,36,36,.12);
}
.als-image-panel-copy > :where(h2,p) { max-width:none !important; }
.als-image-panel-copy h2 { margin-top:0; }

/* Cropped images are already composed around the hedge: do not crop them again. */
.als-hedge-comparison .als-ba-image img { aspect-ratio:4/3; object-fit:cover; object-position:center; }
.als-landscape-comparison { margin-top:34px; max-width:1200px !important; }
.als-landscape-comparison .als-ba-image img { aspect-ratio:4/3; object-fit:cover; }

/* Landscaping contextual service links live directly under the relevant bullet. */
.als-contextual-list .als-bullet-link {
  display:block; width:max-content; max-width:100%; margin-top:7px; padding:5px 0;
  color:var(--als-purple); font-weight:700; text-decoration:none;
}
.als-contextual-list .als-bullet-link:hover { color:var(--als-purple-hover); text-decoration:underline; }
.als-wide-support-copy { max-width:900px !important; margin-top:28px !important; }
.als-small-project-image { width:min(470px,42%); margin-top:28px; }
.als-small-project-image .wp-block-image { margin:0; }
.als-small-project-image img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; }

/* Steel gallery: feature fewer images at full prominence, retain useful secondary images compactly. */
.als-steel-gallery-compact { grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.als-steel-gallery-compact img { aspect-ratio:16/11; }

/* Our Story uses the desktop canvas without creating artificially long lines. */
.als-story-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr); gap:clamp(40px,5vw,80px); align-items:start; max-width:none !important; }
.als-story-history > :where(h1,p) { max-width:760px; }
.als-story-qualifications { padding:30px 32px; background:var(--als-light-mint); border-radius:14px; border:1px solid rgba(36,36,36,.08); }
.als-story-qualifications h2 { margin-top:0; font-size:clamp(1.65rem,3vw,2rem); }
.als-story-qualifications ul { padding-left:1.25rem; }
.als-story-work-section .als-section-inner > h2 { max-width:1000px; }
.als-story-work-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(34px,5vw,72px); max-width:1100px !important; }
.als-story-work-grid p { max-width:none !important; margin-top:0; }

/* Compact, balanced contact page. */
.als-contact-page { padding:clamp(22px,3vw,38px) 0 clamp(26px,3.5vw,44px); }
.als-contact-page .als-section-inner { width:min(92vw,1080px); }
.als-contact-intro { max-width:1000px !important; margin:0 auto 18px; }
.als-contact-intro h1 { margin:0 0 8px; }
.als-contact-intro p { margin:0; }
.als-enquiry-form-wrap { max-width:1000px; margin:0 auto; }
.als-enquiry-form { margin-top:0; }
.als-form-grid { gap:10px 20px; }
.als-field { margin-bottom:10px; }
.als-field label { margin-bottom:5px; }
.als-field input, .als-field select, .als-field textarea { min-height:44px; padding:9px 11px; }
.als-field textarea { min-height:108px; max-height:150px; }
.als-field-help { margin:.3rem 0 0; font-size:.88rem; }
.als-form-footer { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); gap:20px; align-items:end; }
.als-form-footer .als-field { margin-bottom:0; }
.als-form-actions { display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-end; gap:9px; }
.als-form-actions .als-privacy-note { margin:0; font-size:.84rem; line-height:1.35; }
.als-submit-button { margin:0; }

/* 404 work-site image is intentionally cropped so builder branding is not present. */
.als-404 { max-width:min(92vw,1100px); }
.als-404-visual { width:100%; aspect-ratio:16/7; margin-top:30px; border-radius:14px; background:url('../images/404-jobsite-v4.jpg') center/cover no-repeat; }

/* Mobile header/menu and responsive compositions. */
@media (max-width: 781px) {
  :root { --als-header-height:76px; }
  .als-site-header { position:-webkit-sticky !important; position:sticky !important; top:0 !important; z-index:9999 !important; }
  .admin-bar .als-site-header { top:46px !important; }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important;
    padding:0 !important; margin:0 !important; align-items:flex-end !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
    width:100%; justify-content:flex-end !important; text-align:right !important; background:transparent !important;
  }
  .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    width:auto !important; background:transparent !important; border:0 !important; padding:.35rem 0 !important;
    font-size:1rem !important; font-weight:500 !important; text-align:right !important;
  }
  .als-service-card.als-garden { background:var(--als-light-mint); }
  .als-service-card.als-irrigation { background:var(--als-light-purple); }
  .als-service-card.als-landscape { background:var(--als-light-orange); }

  .als-feature-grid, .als-feature-grid-problems, .als-feature-grid-wide, .als-story-grid, .als-story-work-grid { grid-template-columns:1fr; gap:22px; }
  .als-feature-grid.als-image-first .als-feature-media,
  .als-feature-grid.als-image-first .als-feature-copy { grid-column:auto; grid-row:auto; }
  .als-feature-grid.als-image-first .als-feature-copy { order:1; }
  .als-feature-grid.als-image-first .als-feature-media { order:2; }
  .als-feature-media img { aspect-ratio:4/3; }
  .als-copy-columns { columns:1; margin-top:22px; }

  .als-image-panel { display:flex; flex-direction:column; min-height:0; overflow:visible; border-radius:0; }
  .als-image-panel-media, .als-image-panel-media .wp-block-image { position:static; inset:auto; order:2; }
  .als-image-panel-media img { height:auto; aspect-ratio:16/10; border-radius:12px; }
  .als-image-panel-copy { position:static; transform:none; width:auto; padding:0; background:transparent; box-shadow:none; order:1; }

  .als-ba-image img, .als-hedge-comparison .als-ba-image img { aspect-ratio:4/3; }
  .als-landscape-comparison { grid-template-columns:1fr; }
  .als-small-project-image { width:100%; }
  .als-steel-gallery-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .als-story-qualifications { padding:24px; }
  .als-story-work-grid { gap:10px; }

  .als-contact-page { padding:20px 0 28px; }
  .als-contact-page .als-section-inner { width:min(92vw,720px); }
  .als-contact-intro { margin-bottom:14px; }
  .als-contact-intro h1 { font-size:clamp(2.25rem,10vw,3rem); }
  .als-form-grid { grid-template-columns:1fr; gap:0; }
  .als-field { margin-bottom:9px; }
  .als-field textarea { min-height:100px; }
  .als-form-footer { grid-template-columns:1fr; gap:10px; }
  .als-form-actions { gap:8px; }
  .als-404-visual { aspect-ratio:4/3; }
}

@media (max-width: 480px) {
  .als-steel-gallery-compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (min-width: 782px) {
  .als-wide-list-section .als-service-list { columns:2; column-gap:64px; max-width:1050px !important; }
  .als-wide-list-section .als-service-list li { break-inside:avoid; }
  .als-fault-proof { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; max-width:1100px !important; margin-top:26px; }
  .als-fault-proof p { max-width:none !important; margin-top:0; }
}

/* V4.2 page-review refinements — 29 Aug 2026 */

/* Primary conversion buttons use the same orange treatment as the header Contact action. */
.als-cta .wp-block-button__link,
.als-submit-button {
  background:var(--als-orange) !important;
  color:var(--als-charcoal) !important;
  border:1px solid var(--als-purple) !important;
  border-radius:8px !important;
  font-weight:700 !important;
  text-decoration:none !important;
}
.als-cta .wp-block-button__link:hover,
.als-submit-button:hover {
  background:var(--als-purple) !important;
  color:#fff !important;
}

/* Centre the composition without centring long-form body copy. */
.als-centered-copy-section .als-section-inner > :where(h2,h3,p,ul,.als-crosslink) {
  margin-left:auto !important;
  margin-right:auto !important;
}
.als-centered-text-section .als-section-inner > :where(h2,h3,p,.als-crosslink) { text-align:center; }
.als-centered-text-section .als-section-inner > .als-crosslink a { text-align:center; }
.als-centered-cta-section .als-button-row { justify-content:center; margin-left:auto !important; margin-right:auto !important; }
.als-review-only .als-testimonial { margin-left:auto !important; margin-right:auto !important; text-align:left; }

/* Footer retains the same logo + real-text business identity as the header. */
.als-footer-brand { gap:10px; }
.als-footer-brand .wp-block-site-logo img { max-height:46px; width:auto; }
.als-footer-brand .wp-block-site-title { margin:0; }

/* Garden Maintenance: centred two-column list and three equal display-home statements. */
.als-centered-list-section .als-section-inner > :where(h2,ul) { margin-left:auto !important; margin-right:auto !important; }
.als-centered-list-section .als-section-inner > h2 { text-align:center; }
.als-display-three {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(24px,3.5vw,48px);
  max-width:none !important;
  margin-top:30px;
}
.als-display-three > p { margin-top:0 !important; max-width:none !important; }

/* Irrigation changing-garden composition. */
.als-changing-top-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,1fr);
  gap:clamp(34px,4.5vw,68px);
  align-items:start;
  max-width:none !important;
}
.als-changing-top-grid > * { margin-block-start:0 !important; }
.als-changing-copy > :where(h2,p) { max-width:720px; margin-left:0; margin-right:0; }
.als-changing-copy h2 { margin-top:0; }
.als-changing-image-column .wp-block-image { margin:0; }
.als-changing-image-column img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:12px; display:block; }
.als-changing-image-column > p { max-width:none !important; margin-top:22px; }
.als-changing-lower-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(34px,5vw,72px);
  max-width:none !important;
  margin-top:34px;
}
.als-changing-lower-grid > * { margin-block-start:0 !important; }
.als-changing-lower-column > p { max-width:none !important; margin-top:0; margin-bottom:1.25rem; }

/* Irrigation diagnostic section: copy and proof align to the image grid. */
.als-fault-wide .als-section-inner > :where(h2,p) { max-width:1200px; }
.als-fault-wide .als-media-grid,
.als-fault-wide .als-fault-proof { max-width:none !important; }
.als-fault-wide .als-fault-proof { margin-left:0 !important; margin-right:0 !important; }

/* Steel examples: four retained images as two large rows of two. */
.als-steel-gallery-compact { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.als-steel-gallery-compact img { aspect-ratio:16/10; }

/* Our Story: full-width centred headings, aligned qualifications, wide working columns. */
.als-story-title,
.als-story-centered-heading { max-width:none !important; text-align:center; }
.als-story-intro { max-width:900px !important; margin:28px auto 34px !important; }
.als-story-intro > p { max-width:none !important; }
.als-story-grid {
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(42px,5vw,78px);
  align-items:start;
}
.als-story-history > p:first-child { margin-top:0; }
.als-story-qualifications { align-self:start; }
.als-story-work-section .als-section-inner > h2 { max-width:none; text-align:center; }
.als-story-work-grid { max-width:none !important; gap:clamp(44px,6vw,90px); }
.als-story-names .als-section-inner > p { max-width:900px; }
.als-story-names .als-section-inner > h2 { max-width:1000px; }

/* Wider, centred 404 composition. */
.als-404 {
  width:min(92vw,1400px);
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center;
}
.als-404 > :where(h1,p) { max-width:900px; margin-left:auto; margin-right:auto; }
.als-404-links {
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:space-between !important;
  gap:12px;
  width:100%;
  max-width:none !important;
  margin:28px auto 0 !important;
}
.als-404-links > .wp-block-button { flex:1 1 0; min-width:0; margin:0 !important; }
.als-404-links .wp-block-button__link { width:100%; box-sizing:border-box; white-space:nowrap; padding-inline:.72rem; }
.als-404-visual {
  width:100%;
  aspect-ratio:5/2;
  margin-top:32px;
  background-position:center 58%;
}

/* Smart sticky mobile header: hide down, reveal immediately when scrolling up. */
@media (max-width:781px) {
  .als-site-header {
    transition:transform .22s ease, box-shadow .18s ease;
  }
  .als-site-header.als-header-hidden { transform:translateY(-110%); }
  body.admin-bar .als-site-header.als-header-hidden { transform:translateY(calc(-110% - 46px)); }

  .als-display-three,
  .als-changing-top-grid,
  .als-changing-lower-grid { grid-template-columns:1fr; gap:18px; }
  .als-changing-image-column > p { margin-top:18px; }
  .als-story-intro { margin:18px auto 26px !important; }
  .als-story-title { text-align:center; }
  .als-404 { width:min(92vw,720px); }
  .als-404-links { flex-wrap:wrap !important; justify-content:center !important; }
  .als-404-links > .wp-block-button { flex:1 1 44%; }
  .als-404-visual { aspect-ratio:4/3; background-position:center; }
}

@media (max-width:520px) {
  .als-404-links > .wp-block-button { flex-basis:100%; }
}

/* The template-part wrapper, not only its inner group, must be sticky so it can remain visible beyond the header's original document area. */
.als-header-shell {
  position:-webkit-sticky !important;
  position:sticky !important;
  top:0 !important;
  z-index:9999;
}
.admin-bar .als-header-shell { top:32px !important; }
.als-header-shell .als-site-header {
  position:relative !important;
  top:auto !important;
}
@media (max-width:781px) {
  .admin-bar .als-header-shell { top:46px !important; }
  .als-header-shell {
    transition:transform .22s ease, box-shadow .18s ease;
  }
  .als-header-shell.als-header-hidden { transform:translateY(-110%); }
  body.admin-bar .als-header-shell.als-header-hidden { transform:translateY(calc(-110% - 46px)); }
  .als-header-shell .als-site-header { transform:none !important; }
}

/* V4.4 final pre-launch refinements — 29 Aug 2026 */

/* Home: keep the copy left aligned but centre the Experience and qualifications secondary action. */
.als-centered-crosslink-section .als-crosslink {
  width:fit-content;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Home service-card description is now another clear route to the matching service page. */
.als-service-card-desc-link { color:inherit; text-decoration:none; }
.als-service-card-desc-link:hover { color:var(--als-purple); text-decoration:underline; }

/* Landscaping: contextual links are conspicuous without adding a separate button row. */
.als-contextual-list .als-bullet-link-wrap,
.als-landscape-help-section .als-support-link-wrap {
  display:inline;
  margin-left:.38rem;
}
.als-inline-context-link {
  display:inline-block;
  padding:.14rem .42rem .16rem;
  border-radius:5px;
  background:var(--als-light-purple);
  color:var(--als-purple);
  font-weight:750;
  line-height:1.35;
  text-decoration:none;
  white-space:nowrap;
  -webkit-box-decoration-break:clone;
  box-decoration-break:clone;
}
.als-inline-context-link:hover {
  background:var(--als-purple);
  color:#fff;
  text-decoration:none;
}
.als-landscape-help-section .als-wide-support-copy { max-width:900px; }

/* Steel: the retained legacy project/edging image returns as one wider supporting line below the 2x2 gallery. */
.als-steel-gallery-feature {
  max-width:none !important;
  margin:24px 0 0 !important;
}
.als-steel-gallery-feature img {
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
}

/* Our Story: wider intro plus balanced colour blocks to provide visual structure even before a working photo is added. */
.als-story-intro { max-width:1160px !important; }
.als-story-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,4vw,56px);
  align-items:stretch;
}
.als-story-card {
  box-sizing:border-box;
  height:100%;
  padding:30px 32px;
  border-radius:14px;
  border:1px solid rgba(36,36,36,.08);
}
.als-story-history { background:var(--als-light-purple); }
.als-story-history > :where(h1,h2,h3,p,ul),
.als-story-qualifications > :where(h1,h2,h3,p,ul) { max-width:none !important; }
.als-story-history > p:first-child,
.als-story-qualifications > h2:first-child { margin-top:0; }
.als-story-qualifications { background:var(--als-light-mint); }
.als-story-work-colour { background:var(--als-light-orange); }

@media (max-width:781px) {
  .als-story-grid { grid-template-columns:1fr; gap:18px; }
  .als-story-card { padding:24px; }
  .als-story-intro { max-width:100% !important; }
}

/* V4.4.2 mobile navigation hotfix — 29 Aug 2026
   Do not apply will-change:transform to header ancestors of the WordPress
   fixed-position responsive navigation container. On mobile this can create
   a containing block the height of the sticky header and visually clip the
   overlay menu to its first item. The smart-sticky transform still works
   when .als-header-hidden is applied; JS removes that state while the menu
   is open. */
@media (max-width:781px) {
  .als-site-header,
  .als-header-shell { will-change:auto; }
}
