:root {
  color-scheme: dark;
  --bg: #071009;
  --bg-deep: #030704;
  --surface: #0c1710;
  --surface-2: #101e14;
  --line: rgba(226, 242, 227, .13);
  --line-strong: rgba(226, 242, 227, .24);
  --text: #f4f8f2;
  --muted: #aab8ab;
  --muted-strong: #cbd5cb;
  --accent: #86e64d;
  --accent-hover: #9bf264;
  --accent-rgb: 134, 230, 77;
  --season: #f4c95d;
  --season-2: #58a94f;
  --season-rgb: 244, 201, 93;
  --header-height: 88px;
  --container: 1440px;
  --gutter: clamp(1rem, 3.3vw, 2.75rem);
  --section: clamp(4.5rem, 8vw, 7.5rem);
  --radius-card: 1.35rem;
  --radius-media: 1.75rem;
  --radius-button: .8rem;
  --shadow: 0 22px 65px rgba(0,0,0,.3);
  --font-display: "Arial Narrow", "Aptos Display", "Helvetica Neue", Arial, sans-serif;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html[data-season="spring"] { --season:#8bc7e6; --season-2:#b8a8db; --season-rgb:139,199,230; }
html[data-season="summer"] { --season:#f4c95d; --season-2:#58a94f; --season-rgb:244,201,93; }
html[data-season="autumn"] { --season:#e27632; --season-2:#a85d2b; --season-rgb:226,118,50; }
html[data-season="winter"] { --season:#93d7f5; --season-2:#dceffd; --season-rgb:147,215,245; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 7rem; }
body { margin:0; min-width:320px; overflow-x:hidden; background:var(--bg); color:var(--text); font-family:var(--font-body); font-size:clamp(1rem,.15vw + .97rem,1.08rem); line-height:1.65; }
img, svg { display:block; max-width:100%; }
figure { margin:0; }

.media-cover {
  position:relative;
  overflow:hidden;
}
.media-cover > img,
.media-cover > picture,
.media-cover > picture > img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
}
.media-cover > img,
.media-cover > picture > img {
  object-fit:cover;
  object-position:var(--media-position,center);
}
a { color:inherit; text-decoration:none; }
button, select { font:inherit; }
h1,h2,h3,p,figure,blockquote { margin-top:0; }
h1,h2,h3 { font-family:var(--font-display); line-height:1.04; letter-spacing:-.035em; }
h1 { font-size:clamp(2.75rem,5vw,4.8rem); }
h2 { font-size:clamp(2.25rem,4vw,4rem); }
h3 { font-size:clamp(1.45rem,2vw,2rem); }
p { color:var(--muted); }
.container { width:min(calc(100% - var(--gutter) - var(--gutter)), var(--container)); margin-inline:auto; }
.section { position:relative; padding-block:var(--section); }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:1000; padding:.8rem 1rem; background:var(--accent); color:#071009; border-radius:.6rem; font-weight:800; }
.skip-link:focus { top:1rem; }

.button { display:inline-flex; align-items:center; justify-content:center; gap:.65rem; min-height:50px; padding:.8rem 1.15rem; border:1px solid transparent; border-radius:var(--radius-button); font-weight:850; line-height:1.1; transition:.2s ease; }
.button svg { width:1.1rem; fill:currentColor; }
.button-primary { background:var(--accent); color:#071009; }
.button-primary:hover { background:var(--accent-hover); transform:translateY(-1px); }
.button-secondary { border-color:var(--line-strong); background:rgba(6,12,8,.62); color:var(--text); backdrop-filter:blur(10px); }
.button-secondary:hover { border-color:rgba(var(--season-rgb),.6); background:rgba(var(--season-rgb),.12); }
.button-dark { background:#061008; color:#fff; }
.button-light { background:rgba(255,255,255,.88); color:#071009; }
.button.compact { min-height:44px; padding:.7rem 1rem; font-size:.85rem; }

.site-header { position:sticky; top:0; z-index:50; height:var(--header-height); background:rgba(7,16,9,.9); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
.desktop-header { height:100%; display:grid; grid-template-columns:165px 220px 1fr auto; align-items:center; gap:1.5rem; }
.brand { display:inline-flex; width:fit-content; }
.brand img { width:210px; height:auto; }
.desktop-nav { display:flex; justify-content:flex-end; gap:clamp(.9rem,2vw,1.7rem); }
.desktop-nav a { min-height:44px; display:flex; align-items:center; color:var(--muted-strong); font-size:.88rem; font-weight:750; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { color:var(--accent); }
.header-phone { white-space:nowrap; }
.mobile-header { display:none; }

.hero { position:relative; min-height:calc(100svh - var(--header-height)); display:grid; align-items:center; overflow:hidden; isolation:isolate; background:var(--bg-deep); }
.hero-image { position:absolute; inset:0; z-index:-4; width:100%; height:100%; object-fit:cover; object-position:center; transition:opacity .28s ease, transform .45s ease; }
.hero::after { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(92deg,rgba(3,8,5,.98) 0%,rgba(3,8,5,.91) 35%,rgba(3,8,5,.5) 68%,rgba(3,8,5,.18) 100%),linear-gradient(0deg,rgba(3,8,5,.62),transparent 55%); }
.hero::before { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 18% 25%,rgba(var(--season-rgb),.42) 0%,rgba(var(--season-rgb),.16) 24%,transparent 48%),linear-gradient(130deg,transparent 56%,rgba(var(--season-rgb),.2) 100%); mix-blend-mode:screen; pointer-events:none; }
.hero-inner { min-height:inherit; display:flex; align-items:center; padding-block:clamp(2rem,5vh,4rem); }
.hero-copy { width:min(100%,780px); }
.hero h1 { max-width:780px; margin-bottom:1rem; text-shadow:0 4px 28px rgba(0,0,0,.45); }
.hero-lead { max-width:650px; margin-bottom:1.4rem; color:#f0f6ef; font-size:clamp(1.05rem,.7vw + .92rem,1.4rem); }
.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; }
.hero-actions .button { min-width:210px; }
.hero-proof { width:fit-content; display:inline-flex; align-items:center; gap:.8rem; margin-top:1rem; padding:.75rem .95rem; border:1px solid rgba(255,255,255,.12); border-radius:1rem; background:rgba(2,5,3,.76); backdrop-filter:blur(12px); box-shadow:0 14px 38px rgba(0,0,0,.25); }
.google-mark { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; padding:6px; border-radius:50%; background:#fff; }
.google-mark svg { width:22px; height:22px; }
.hero-proof > span:last-child { display:grid; gap:.1rem; }
.hero-proof strong { color:#f4c95d; font-size:.82rem; letter-spacing:.08em; }
.hero-proof small { color:#fff; font-size:.88rem; font-weight:750; }

.interior-hero .breadcrumb {
  margin-bottom:clamp(.8rem,1.5vw,1.1rem);
}

.trust-bar { border-block:1px solid var(--line); background:#0a150d; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-grid > div { min-height:92px; display:grid; align-content:center; gap:.15rem; padding:1.1rem 1.35rem; border-right:1px solid var(--line); }
.trust-grid > div:first-child { border-left:1px solid var(--line); }
.trust-grid strong { font-size:.92rem; }
.trust-grid span { color:var(--muted); font-size:.78rem; }

.split-intro { display:grid; grid-template-columns:1fr .8fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.split-intro h2 { margin-bottom:0; }
.issue-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:clamp(2rem,5vw,4rem); }
.issue-grid article { padding:clamp(1.35rem,2.7vw,2rem); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); }
.issue-grid h3 { margin-bottom:.65rem; }
.issue-grid p { margin-bottom:0; }
.issue-grid article:nth-child(2) { border-color:rgba(var(--season-rgb),.42); background:linear-gradient(145deg,rgba(var(--season-rgb),.13),var(--surface)); }

.approach-section, .about-section { background:var(--surface); }
.two-column-media { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1fr); gap:clamp(2rem,6vw,5rem); align-items:center; }
.two-column-media.reverse { grid-template-columns:minmax(0,1fr) minmax(0,.95fr); }
.media-frame { position:relative; min-height:520px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-media); background:var(--surface-2); box-shadow:var(--shadow); }
.media-frame::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,8,5,.2),transparent 45%); pointer-events:none; }
.media-frame img { width:100%; height:100%; object-fit:cover; }
.content-block { max-width:630px; }
.check-list { list-style:none; margin:1.8rem 0 1.7rem; padding:0; display:grid; gap:1rem; }
.check-list li { display:grid; grid-template-columns:38px 1fr; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.check-list li > span { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:rgba(134,230,77,.12); color:var(--accent); font-weight:900; }
.check-list p { margin:.2rem 0 0; }

.reviews-section { background:var(--bg-deep); }
.section-heading { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:clamp(2rem,4vw,3.2rem); }
.section-heading h2 { max-width:850px; margin-bottom:0; }
.section-heading.centered { justify-content:center; text-align:center; }
.review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.review-card { position:relative; min-width:0; display:flex; flex-direction:column; min-height:330px; padding:clamp(1.35rem,2.5vw,2rem); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); overflow:hidden; }
.review-card.featured { border-color:rgba(var(--season-rgb),.4); background:linear-gradient(145deg,rgba(var(--season-rgb),.11),var(--surface)); }

.review-card blockquote { margin:1.8rem 0 1.6rem; color:var(--text); font-size:clamp(1.1rem,.8vw + .9rem,1.35rem); line-height:1.55; }
.review-card footer { margin-top:auto; padding-top:1.1rem; border-top:1px solid var(--line); display:grid; }
.review-card footer span { color:var(--muted); font-size:.8rem; }

.categories-section { background:var(--bg); }
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.category-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); box-shadow:var(--shadow); }
.category-card img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.category-content { display:grid; gap:.85rem; padding:clamp(1.3rem,2.4vw,2rem); }
.category-content h3,.category-content p { margin-bottom:0; }
.category-content a { width:fit-content; color:var(--text); font-weight:850; }
.category-content a span { color:var(--accent); }

.services-section { overflow:hidden; background:linear-gradient(180deg,rgba(var(--season-rgb),.13),transparent 340px),var(--surface); }
.services-heading { position:relative; z-index:1; }
.season-badge { width:fit-content; margin:0 0 .8rem; padding:.55rem .9rem; border:1px solid rgba(var(--season-rgb),.55); border-radius:999px; background:linear-gradient(135deg,rgba(var(--season-rgb),.32),rgba(var(--season-rgb),.1)); color:var(--text); font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

.service-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--bg); transition:.22s ease; }
.service-card:hover { transform:translateY(-3px); border-color:var(--line-strong); }
.service-card.season-priority { border-color:rgba(var(--season-rgb),.58); box-shadow:0 0 0 1px rgba(var(--season-rgb),.12) inset,0 20px 48px rgba(0,0,0,.25); }
.service-card img { width:100%; aspect-ratio:16/10; object-fit:cover; background:var(--surface-2); }
.service-card > div { display:flex; flex:1; flex-direction:column; gap:.75rem; padding:1.3rem; }
.service-card h3,.service-card p { margin-bottom:0; }
.service-card p { font-size:.92rem; }
.service-card a { width:fit-content; margin-top:auto; padding-top:.5rem; color:var(--text); font-weight:850; }
.service-card a span { color:var(--accent); }

.gallery-section { background:var(--bg-deep); }
.gallery-grid { display:grid; grid-template-columns:1.25fr .75fr; grid-template-rows:repeat(2,260px); gap:1rem; }
.gallery-item { position:relative; margin:0; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-media); background:var(--surface); }
.gallery-large { grid-row:1/3; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:opacity .25s ease,transform .35s ease; }
.gallery-item:hover img { transform:scale(1.025); }
.gallery-item::after { content:""; position:absolute; inset:0; background:linear-gradient(to top,rgba(3,8,5,.78),transparent 52%); }
.gallery-item figcaption { position:absolute; z-index:2; left:1.2rem; bottom:1.1rem; color:#fff; font-weight:800; }

.process-section { background:var(--surface); }
.process-grid { display:grid; grid-template-columns:.8fr 1fr; gap:clamp(2rem,6vw,5rem); align-items:start; }
.process-grid > div { position:sticky; top:calc(var(--header-height) + 2rem); }
.process-grid ol { list-style:none; margin:0; padding:0; }
.process-grid li { display:grid; grid-template-columns:58px 1fr; gap:1.2rem; padding:1.6rem 0; border-top:1px solid var(--line); }
.process-grid li:last-child { border-bottom:1px solid var(--line); }
.process-grid li > span { width:48px; height:48px; display:grid; place-items:center; border:1px solid rgba(var(--season-rgb),.48); border-radius:50%; color:var(--season); font-size:.75rem; font-weight:900; }
.process-grid h3,.process-grid p { margin-bottom:.35rem; }

.areas-section { background:var(--bg); }
.areas-grid { display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(2rem,5vw,4rem); align-items:center; }
.area-chips { display:flex; flex-wrap:wrap; gap:.6rem; margin:1.5rem 0; }
.area-chips span { padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; background:var(--surface); color:var(--muted-strong); font-size:.8rem; }
.map-card { overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-media); background:var(--surface); box-shadow:var(--shadow); }
.map-card iframe { width:100%; height:480px; display:block; border:0; }
.map-card > a { display:flex; align-items:center; justify-content:space-between; gap:1rem; min-height:70px; padding:1rem 1.3rem; border-top:1px solid var(--line); font-weight:850; }
.map-card > a span { color:var(--accent); }

.about-section .media-frame { min-height:430px; }
.lead { font-size:clamp(1.05rem,.55vw + .95rem,1.3rem); }
.faq-section { background:var(--bg-deep); }
.faq-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
.faq-grid article { padding:1.5rem; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface); }
.faq-grid h3 { margin-bottom:.7rem; }
.faq-grid p { margin-bottom:0; }
.faq-grid a { color:var(--accent); text-decoration:underline; text-underline-offset:.2em; }

.final-cta { padding-block:clamp(3.5rem,7vw,5.5rem); background:radial-gradient(circle at 12% 18%,rgba(var(--season-rgb),.65),transparent 35%),linear-gradient(125deg,var(--accent) 0%,var(--accent) 40%,var(--season) 100%); color:#071009; }
.final-cta-inner { display:grid; grid-template-columns:1fr auto; gap:2rem; align-items:center; }
.final-cta h2 { max-width:860px; margin-bottom:.7rem; }
.final-cta p { margin-bottom:0; color:rgba(7,16,9,.75); }
.final-actions { display:grid; gap:.75rem; min-width:220px; }

.site-footer { background:linear-gradient(180deg,rgba(var(--season-rgb),.14),transparent 200px),var(--bg-deep); border-top:1px solid var(--line); }
.footer-grid { display:grid; grid-template-columns:1.5fr repeat(3,.75fr); gap:clamp(2rem,5vw,4rem); padding-block:clamp(3.5rem,7vw,5.5rem); }
.footer-brand .brand img { width:215px; }
.footer-brand p { max-width:390px; margin:1.15rem 0; }
.footer-brand > a:not(.brand), .footer-grid > div:not(.footer-brand) a { display:block; width:fit-content; padding:.25rem 0; color:var(--muted); font-size:.86rem; }
.footer-grid h2 { margin-bottom:1rem; font-family:var(--font-body); font-size:.76rem; letter-spacing:.09em; text-transform:uppercase; }
.footer-grid > div > p { font-size:.86rem; }

.footer-bottom { min-height:86px; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:2rem; border-top:1px solid var(--line); }
.footer-bottom p { margin:0; font-size:.76rem; }
.footer-bottom nav { display:flex; justify-content:center; gap:1rem; }
.footer-bottom nav a { color:var(--muted); font-size:.74rem; }
.webbec-credit { display:flex; align-items:center; gap:.55rem; color:var(--muted); font-size:.72rem; }
.webbec-credit img { width:75px; height:auto; }

@media (max-width:1000px) {
  .desktop-header { grid-template-columns:190px 1fr auto; gap:1rem; }
  .desktop-nav { gap:.75rem; }
  .desktop-nav a { font-size:.78rem; }
  .header-phone { padding-inline:.9rem; font-size:.78rem; }
  
  .footer-grid { grid-template-columns:1.3fr repeat(3,.75fr); gap:2rem; }
}

@media (max-width:820px) {
  :root { --header-height:126px; }
  .desktop-header { display:none; }
  .mobile-header { display:block; }
  .mobile-action-row { height:52px; display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
  .mobile-action-row a { display:grid; place-items:center; font-size:.78rem; font-weight:850; }
  .mobile-action-row a:first-child { background:var(--surface); }
  .mobile-action-row a:last-child { background:var(--accent); color:#071009; }
  .mobile-brand-row { height:74px; display:flex; align-items:center; justify-content:space-between; padding-inline:var(--gutter); }
  .mobile-brand-row .brand img { width:185px; }
  .menu-toggle { width:44px; height:44px; display:grid; place-content:center; gap:5px; border:1px solid var(--line); border-radius:.75rem; background:transparent; }
  .menu-toggle span { width:20px; height:2px; background:var(--text); }
  .mobile-menu { position:absolute; left:0; right:0; top:100%; padding:1rem var(--gutter) 1.25rem; background:rgba(7,16,9,.98); border-bottom:1px solid var(--line); box-shadow:0 20px 50px rgba(0,0,0,.35); }
  .mobile-menu a { display:flex; min-height:50px; align-items:center; border-bottom:1px solid var(--line); font-weight:800; }
  .hero { min-height:calc(100svh - var(--header-height)); }
  .hero-actions { display:grid; grid-template-columns:1fr 1fr; }
  .hero-actions .button { min-width:0; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-grid > div:nth-child(odd) { border-left:1px solid var(--line); }
  .split-intro,.two-column-media,.two-column-media.reverse,.process-grid,.areas-grid { grid-template-columns:1fr; }
  .media-frame { min-height:390px; }
  .issue-grid,.review-grid { grid-template-columns:1fr; }
  .category-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:1fr; grid-template-rows:360px 240px 240px; }
  .gallery-large { grid-row:auto; }
  .process-grid > div { position:static; }
  .final-cta-inner { grid-template-columns:1fr; }
  .final-actions { display:flex; flex-wrap:wrap; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  
  
  
  
  
  .footer-bottom { grid-template-columns:1fr; justify-items:start; gap:.8rem; padding-block:1.4rem; }
  .footer-bottom nav { justify-content:flex-start; }
}

@media (max-width:600px) {
  h1 { font-size:clamp(2.25rem,10vw,3rem); }
  h2 { font-size:clamp(2rem,9vw,2.7rem); }
  .hero-inner { padding-block:1.25rem; }
  .hero-lead { margin-bottom:1rem; font-size:1rem; }
  .hero-actions { grid-template-columns:1fr; gap:.55rem; }
  .hero-actions .button { min-height:46px; }
  .hero-proof { margin-top:.75rem; padding:.65rem .8rem; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-grid > div { border-left:1px solid var(--line); min-height:76px; }
  
  .section-heading { align-items:flex-start; flex-direction:column; }
  .gallery-grid { grid-template-rows:300px 220px 220px; }
  .map-card iframe { height:350px; }
  .footer-grid { grid-template-columns:1fr; }
  
  
  
}

@media (max-height:720px) and (max-width:600px) {
  .hero h1 { margin-bottom:.65rem; font-size:clamp(2rem,8.7vw,2.55rem); }
  .hero-lead { margin-bottom:.7rem; line-height:1.4; }
  .hero-proof { margin-top:.6rem; }
  .hero-proof small { font-size:.78rem; }
}

@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; }
}

.services-section .service-card img {
  height: 280px;
  aspect-ratio: auto;
  object-fit: cover;
}

@media (max-width: 720px) {
  .services-section .service-card img {
    height: 240px;
  }
}

.categories-section .category-card img {
  height: 320px;
  aspect-ratio: auto;
  object-fit: cover;
}

@media (max-width: 720px) {
  .categories-section .category-card img {
    height: 280px;
  }
}

@media (max-width:1100px) {
  .desktop-header {
    grid-template-columns:145px 185px 1fr auto;
    gap:1rem;
  }
  .brand img { width:180px; }
  .desktop-nav { gap:.8rem; }
  .desktop-nav a { font-size:.78rem; }
  .header-phone { padding-inline:.85rem; font-size:.78rem; }
}

.site-header {
  overflow:visible;
}
.desktop-header {
  grid-template-columns:210px minmax(0,1fr) auto;
  gap:clamp(.8rem,1.6vw,1.35rem);
}
.desktop-header .brand img { width:205px; }
.desktop-nav {
  position:static;
  align-self:stretch;
  display:flex;
  align-items:stretch;
  justify-content:flex-end;
  gap:clamp(.3rem,.85vw,.8rem);
}
.desktop-nav > .nav-link,
.desktop-nav > .nav-item > .nav-trigger {
  position:relative;
  min-height:100%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.3rem;
  padding-inline:.45rem;
  border:0;
  background:transparent;
  color:var(--muted-strong);
  font-size:.83rem;
  font-weight:850;
  white-space:nowrap;
  cursor:pointer;
}
.desktop-nav > .nav-link::after,
.desktop-nav > .nav-item > .nav-trigger::after {
  content:"";
  position:absolute;
  left:.45rem;
  right:.45rem;
  bottom:0;
  height:3px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .18s ease;
}
.desktop-nav > .nav-link:hover,
.desktop-nav > .nav-link:focus-visible,
.desktop-nav > .nav-item > .nav-trigger:hover,
.desktop-nav > .nav-item > .nav-trigger:focus-visible,
.desktop-nav > .nav-link.is-current,
.desktop-nav > .nav-item.is-current > .nav-trigger,
.desktop-nav > .nav-item.is-open > .nav-trigger {
  color:var(--text);
}
.desktop-nav > .nav-link:hover::after,
.desktop-nav > .nav-link:focus-visible::after,
.desktop-nav > .nav-link.is-current::after,
.desktop-nav > .nav-item.is-current > .nav-trigger::after,
.desktop-nav > .nav-item.is-open > .nav-trigger::after {
  transform:scaleX(1);
}
.nav-item { position:static; display:flex; align-items:stretch; }
.nav-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.nav-chevron { width:15px; height:15px; transition:transform .18s ease; }
.nav-item.is-open .nav-chevron,
.nav-item:hover .nav-chevron,
.nav-item:focus-within .nav-chevron { transform:rotate(180deg); }

.mega-menu {
  position:absolute;
  left:50%;
  top:calc(100% + 1px);
  width:min(calc(100vw - var(--gutter) - var(--gutter)), var(--container));
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,2.15fr);
  visibility:hidden;
  opacity:0;
  transform:translate(-50%,-10px);
  pointer-events:none;
  border:1px solid var(--line-strong);
  background:#08110b;
  box-shadow:0 30px 90px rgba(0,0,0,.56);
  transition:opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.nav-item:hover > .mega-menu,
.nav-item:focus-within > .mega-menu,
.nav-item.is-open > .mega-menu {
  visibility:visible;
  opacity:1;
  transform:translate(-50%,0);
  pointer-events:auto;
}
.mega-intro {
  min-width:0;
  padding:clamp(1.55rem,2.5vw,2.35rem);
  border-right:1px solid var(--line-strong);
  background:linear-gradient(145deg,rgba(var(--season-rgb),.1),rgba(255,255,255,.025));
}
.mega-eyebrow {
  margin:0 0 .85rem;
  color:var(--accent);
  font-size:.72rem;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mega-intro h2 {
  max-width:330px;
  margin:0 0 1rem;
  font-size:clamp(1.9rem,2.55vw,3rem);
  line-height:1.03;
}
.mega-intro > p:not(.mega-eyebrow) {
  max-width:360px;
  margin-bottom:1.25rem;
  font-size:.9rem;
  line-height:1.55;
}
.mega-intro-link {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:var(--accent);
  font-size:.9rem;
  font-weight:900;
}
.mega-intro-link:hover span { transform:translateX(3px); }
.mega-intro-link span { transition:transform .18s ease; }
.mega-content {
  min-width:0;
  display:grid;
  grid-template-columns:.78fr 1.3fr;
  gap:1rem;
  padding:1.45rem;
  background:#0b1510;
}
.mega-content-compact { grid-template-columns:1fr; }
.mega-group { min-width:0; }
.mega-group h3 {
  margin:0 0 .7rem;
  padding-bottom:.55rem;
  border-bottom:1px solid rgba(var(--season-rgb),.38);
  color:var(--accent);
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mega-link-grid { display:grid; gap:.55rem; }
.mega-link-grid-services,
.mega-link-grid-areas,
.mega-link-grid-company { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mega-link-card {
  min-width:0;
  display:grid;
  align-content:center;
  gap:.12rem;
  min-height:66px;
  padding:.72rem .82rem;
  border:1px solid var(--line);
  background:rgba(255,255,255,.025);
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}
.mega-link-card:hover,
.mega-link-card:focus-visible {
  border-color:rgba(var(--season-rgb),.65);
  background:rgba(var(--season-rgb),.08);
  transform:translateY(-1px);
  outline:none;
}
.mega-link-card strong {
  color:var(--text);
  font-family:var(--font-display);
  font-size:.95rem;
  line-height:1.15;
}
.mega-link-card span {
  color:var(--muted);
  font-size:.69rem;
  line-height:1.35;
}
.mega-quick-contact {
  grid-column:1 / -1;
  min-height:76px;
  display:grid;
  grid-template-columns:auto minmax(210px,1fr) auto;
  align-items:center;
  gap:.85rem;
  margin-top:.15rem;
  padding:.7rem;
  border:1px solid rgba(var(--season-rgb),.48);
  background:#071009;
}
.mega-quick-contact > span {
  padding-inline:.4rem;
  color:var(--muted-strong);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.mega-quote,
.mega-phone {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  padding:.7rem 1rem;
  font-size:.78rem;
  font-weight:900;
}
.mega-quote { background:var(--accent); color:#071009; }
.mega-phone { border:1px solid var(--line-strong); background:rgba(255,255,255,.05); color:var(--text); }
.mega-phone svg { width:18px; fill:currentColor; }

.mobile-nav-group { border-bottom:1px solid var(--line); }
.mobile-nav-group summary {
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  list-style:none;
  color:var(--text);
  font-weight:850;
  cursor:pointer;
}
.mobile-nav-group summary::-webkit-details-marker { display:none; }
.mobile-nav-group summary span { color:var(--accent); font-size:1.2rem; transition:transform .18s ease; }
.mobile-nav-group[open] summary span { transform:rotate(45deg); }
.mobile-submenu {
  display:grid;
  padding:0 0 .75rem .85rem;
  border-left:1px solid rgba(var(--season-rgb),.45);
}
.mobile-submenu > span {
  padding:.8rem .7rem .3rem;
  color:var(--accent);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mobile-menu .mobile-submenu a {
  min-height:42px;
  padding-inline:.7rem;
  border-bottom:0;
  color:var(--muted-strong);
  font-size:.78rem;
}
.mobile-menu a[aria-current="page"],
.mobile-nav-group summary[aria-current="page"] { color:var(--accent); }

@media (max-width:1180px) and (min-width:821px) {
  .desktop-header { grid-template-columns:190px minmax(0,1fr) auto; }
  .desktop-header .header-season-select { display:none; }
  .desktop-nav > .nav-link,
  .desktop-nav > .nav-item > .nav-trigger { font-size:.76rem; padding-inline:.32rem; }
  .mega-menu { width:min(calc(100vw - 2rem),1120px); }
  .mega-intro { padding:1.45rem; }
  .mega-content { padding:1.1rem; }
  .mega-link-card { padding:.62rem .68rem; }
  .mega-quick-contact { grid-template-columns:auto 1fr auto; }
}

@media (max-width:950px) and (min-width:821px) {
  .desktop-header { grid-template-columns:165px minmax(0,1fr) auto; gap:.65rem; }
  .desktop-header .brand img { width:165px; }
  .header-phone { padding-inline:.72rem; font-size:.72rem; }
  .desktop-nav { gap:.12rem; }
  .desktop-nav > .nav-link,
  .desktop-nav > .nav-item > .nav-trigger { font-size:.7rem; }
  .mega-menu { grid-template-columns:220px 1fr; }
  .mega-intro h2 { font-size:1.75rem; }
  .mega-link-card strong { font-size:.84rem; }
  .mega-link-card span { display:none; }
}

@media (max-width:820px) {
  .mega-menu { display:none!important; }
  .mobile-menu {
    max-height:calc(100svh - var(--header-height));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

.mega-link-card { grid-template-columns:minmax(0,1fr); justify-items:start; }

.mega-menu {
  top:100%;
  width:min(calc(100vw - var(--gutter) - var(--gutter)), var(--container));
  grid-template-columns:minmax(260px,.72fr) minmax(0,2fr);
  border-radius:var(--radius-card);
  overflow:hidden;
}
.mega-intro {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:0;
  padding:clamp(1.4rem,2vw,1.9rem);
}
.mega-eyebrow { margin-bottom:.7rem; }
.mega-intro h2 {
  max-width:310px;
  margin-bottom:.8rem;
  font-size:clamp(1.75rem,2.1vw,2.45rem);
  line-height:1.06;
}
.mega-intro > p:not(.mega-eyebrow) {
  max-width:340px;
  margin:0 0 1rem;
  line-height:1.5;
}
.mega-intro-link {
  min-height:44px;
  margin-top:auto;
  padding:.72rem 1rem;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-button);
  background:rgba(255,255,255,.05);
  color:var(--text);
  font-size:.78rem;
  font-weight:900;
}
.mega-intro-link:hover,
.mega-intro-link:focus-visible {
  border-color:rgba(var(--season-rgb),.65);
  background:rgba(var(--season-rgb),.12);
  color:var(--text);
  transform:translateY(-1px);
  outline:none;
}
.mega-content {
  grid-template-columns:minmax(210px,.78fr) minmax(0,1.35fr);
  align-content:start;
  gap:1.15rem;
  padding:1.25rem;
}
.mega-content-compact { grid-template-columns:1fr; }
.mega-group {
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:.72rem;
}
.mega-group h3 {
  margin:0;
  padding-bottom:.62rem;
}
.mega-link-grid { gap:.7rem; }
.mega-link-grid-categories { grid-template-columns:1fr; }
.mega-link-grid-services,
.mega-link-grid-areas,
.mega-link-grid-company { grid-template-columns:repeat(2,minmax(0,1fr)); }
.mega-link-card {
  min-height:72px;
  gap:.22rem;
  padding:.86rem .95rem;
  border-radius:var(--radius-card);
}
.mega-link-card strong {
  font-size:.9rem;
  line-height:1.18;
}
.mega-link-card span {
  font-size:.7rem;
  line-height:1.38;
}
.mega-quick-contact {
  min-height:0;
  grid-template-columns:minmax(135px,.55fr) minmax(190px,1fr) minmax(175px,.82fr);
  gap:.72rem;
  margin:0;
  padding:.78rem;
  border-radius:var(--radius-card);
}
.mega-quick-contact > span {
  padding-inline:.3rem;
  line-height:1.35;
}
.mega-quote,
.mega-phone {
  min-height:46px;
  padding:.7rem .95rem;
  border-radius:var(--radius-button);
  font-size:.76rem;
  line-height:1.15;
}
.mega-quote {
  border:1px solid transparent;
  background:var(--accent);
  color:#071009;
}
.mega-quote:hover,
.mega-quote:focus-visible {
  background:var(--accent-hover);
  color:#071009;
  transform:translateY(-1px);
  outline:none;
}
.mega-phone {
  border:1px solid var(--line-strong);
  background:rgba(255,255,255,.05);
  color:var(--text);
}
.mega-phone:hover,
.mega-phone:focus-visible {
  border-color:rgba(var(--season-rgb),.65);
  background:rgba(var(--season-rgb),.12);
  color:var(--text);
  transform:translateY(-1px);
  outline:none;
}
.mega-menu-company .mega-link-card,
.mega-menu-areas .mega-link-card { min-height:74px; }

@media (max-width:1180px) and (min-width:821px) {
  .mega-menu { width:min(calc(100vw - 1.5rem),1100px); grid-template-columns:225px minmax(0,1fr); }
  .mega-intro { padding:1.2rem; }
  .mega-intro h2 { font-size:1.7rem; }
  .mega-intro > p:not(.mega-eyebrow) { font-size:.82rem; }
  .mega-content { gap:.85rem; padding:1rem; }
  .mega-link-grid { gap:.55rem; }
  .mega-link-card { min-height:64px; padding:.7rem .78rem; }
  .mega-quick-contact { grid-template-columns:1fr 1fr; }
  .mega-quick-contact > span { grid-column:1 / -1; padding:0; }
}

@media (max-width:950px) and (min-width:821px) {
  .mega-menu { grid-template-columns:190px minmax(0,1fr); }
  .mega-intro h2 { font-size:1.45rem; }
  .mega-intro > p:not(.mega-eyebrow) { display:none; }
  .mega-content { grid-template-columns:minmax(170px,.72fr) minmax(0,1.3fr); }
  .mega-content-compact { grid-template-columns:1fr; }
  .mega-link-card strong { font-size:.8rem; }
  .mega-link-card span { display:none; }
}

.button-primary,
.button-primary:link,
.button-primary:visited,
.button-primary:hover,
.button-primary:focus-visible,
.button-primary:active,
.button-primary *,
.mega-quote,
.mega-quote:link,
.mega-quote:visited,
.mega-quote:hover,
.mega-quote:focus-visible,
.mega-quote:active,
.mega-quote *,
.mobile-action-row a:last-child,
.mobile-action-row a:last-child:visited,
.mobile-action-row a:last-child:hover,
.mobile-action-row a:last-child:focus-visible {
  color:#071009 !important;
}

@media (min-width:821px) {
  .desktop-header > .brand {
    height:100%;
    align-items:center;
  }
  .desktop-header > .brand img {
    width:205px;
    max-height:72px;
    object-fit:contain;
  }
  .desktop-nav,
  .desktop-nav > .nav-link,
  .desktop-nav > .nav-item,
  .desktop-nav > .nav-item > .nav-trigger {
    height:100%;
    max-height:var(--header-height);
  }
  .desktop-nav .mega-menu {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
  .desktop-nav .nav-item:hover > .mega-menu,
  .desktop-nav .nav-item:focus-within > .mega-menu,
  .desktop-nav .nav-item.is-open > .mega-menu {
    display:grid !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
  }
}
@media (max-width:820px) {
  .desktop-nav .mega-menu { display:none !important; }
}

:root {
  color-scheme: light;
  --bg:#f5f7f2;
  --bg-deep:#edf1ea;
  --surface:#ffffff;
  --surface-2:#e8ede6;
  --line:rgba(31,39,35,.14);
  --line-strong:rgba(31,39,35,.26);
  --text:#202622;
  --muted:#5f6963;
  --muted-strong:#3e4942;
  --accent:#77c242;
  --accent-hover:#69ae38;
  --accent-rgb:119,194,66;
  --season:#77c242;
  --season-2:#4a514d;
  --season-rgb:119,194,66;
  --shadow:0 22px 65px rgba(28,40,31,.12);
}
html { background:var(--bg); }
body { background:var(--bg); color:var(--text); }
p { color:var(--muted); }
.site-header { background:rgba(255,255,255,.94); border-bottom-color:var(--line); box-shadow:0 8px 28px rgba(31,39,35,.06); }
.desktop-nav a,
.desktop-nav .nav-trigger { color:var(--muted-strong); }
.desktop-nav a:hover,
.desktop-nav a[aria-current="page"],
.desktop-nav .nav-trigger:hover,
.desktop-nav .nav-item.is-open .nav-trigger { color:#4f9827; }
.brand img { width:205px; max-height:72px; object-fit:contain; }
.button-primary,
.mega-quote { background:var(--accent); color:#182016 !important; }
.button-secondary { border-color:var(--line-strong); background:rgba(255,255,255,.9); color:var(--text); backdrop-filter:blur(10px); }
.button-secondary:hover { border-color:rgba(var(--accent-rgb),.65); background:#f2f8ee; }

.hero { background:#26302a; }
.hero::after { background:linear-gradient(92deg,rgba(18,24,21,.94) 0%,rgba(18,24,21,.84) 37%,rgba(18,24,21,.42) 68%,rgba(18,24,21,.12) 100%),linear-gradient(0deg,rgba(18,24,21,.48),transparent 58%); }
.hero::before { background:radial-gradient(circle at 18% 25%,rgba(var(--accent-rgb),.28) 0%,rgba(var(--accent-rgb),.1) 25%,transparent 50%); }
.hero-lead { color:#f3f6f3; }
.hero-proof { background:rgba(255,255,255,.93); border-color:rgba(255,255,255,.7); box-shadow:0 14px 38px rgba(0,0,0,.18); }
.hero-proof strong { color:#4d9028; }
.hero-proof small { color:#26302a; }
.trust-bar { background:#fff; }
.trust-grid strong { color:var(--text); }
.approach-section,
.about-section,
.process-section { background:#fff; }
.problem-section,
.categories-section,
.areas-section { background:var(--bg); }
.reviews-section,
.gallery-section,
.faq-section { background:var(--bg-deep); }
.issue-grid article,
.review-card,
.category-card,
.service-card,
.faq-grid article,
.map-card { background:#fff; }
.issue-grid article:nth-child(2),
.review-card.featured { border-color:rgba(var(--accent-rgb),.5); background:linear-gradient(145deg,rgba(var(--accent-rgb),.12),#fff); }
.check-list li > span { background:rgba(var(--accent-rgb),.15); color:#4f9827; }
.review-card blockquote { color:var(--text); }
.proof-value { margin:1.4rem 0 .7rem; color:#4f9827; font-family:var(--font-display); font-size:clamp(2.4rem,5vw,4.4rem); font-weight:900; line-height:1; letter-spacing:-.045em; }
.proof-label { color:var(--text); font-size:1.1rem; font-weight:850; }
.category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.services-section { background:linear-gradient(180deg,rgba(var(--accent-rgb),.13),transparent 340px),#fff; }
.season-badge { border-color:rgba(var(--accent-rgb),.55); background:linear-gradient(135deg,rgba(var(--accent-rgb),.25),rgba(var(--accent-rgb),.08)); color:#2f4c23; }
.service-card { background:var(--bg); }
.service-card a,
.category-content a { color:var(--text); }
.gallery-item { background:#fff; }
.process-grid li > span { border-color:rgba(var(--accent-rgb),.55); color:#4f9827; }
.area-chips span { background:#fff; color:var(--muted-strong); }
.final-cta { background:radial-gradient(circle at 12% 18%,rgba(255,255,255,.42),transparent 35%),linear-gradient(125deg,#77c242 0%,#77c242 42%,#a8d982 100%); color:#172015; }
.final-cta p { color:rgba(23,32,21,.75); }
.site-footer { background:linear-gradient(180deg,rgba(var(--accent-rgb),.1),transparent 200px),#eef2eb; border-top-color:var(--line); }
.footer-brand > a:not(.brand),
.footer-grid > div:not(.footer-brand) a { color:var(--muted); }
.footer-bottom { border-top-color:var(--line); color:var(--muted); }
.mega-menu { border-color:var(--line); background:#fff; box-shadow:0 28px 80px rgba(31,39,35,.2); }
.mega-intro { background:linear-gradient(145deg,rgba(var(--accent-rgb),.14),#f2f6ef); }
.mega-intro > p:not(.mega-eyebrow),
.mega-link-card span,
.mega-quick-contact > span { color:var(--muted); }
.mega-content { background:#fff; }
.mega-group h3 { border-bottom-color:rgba(var(--accent-rgb),.42); color:#4f9827; }
.mega-link-card { background:#f8faf7; }
.mega-link-card:hover,
.mega-link-card:focus-visible { border-color:rgba(var(--accent-rgb),.65); background:#eff7e9; }
.mega-link-card strong { color:var(--text); }
.mega-quick-contact { border-color:rgba(var(--accent-rgb),.45); background:#f4f8f1; }
.mega-phone { border-color:var(--line-strong); background:#fff; color:var(--text); }
.mobile-header { background:#fff; }
.mobile-action-row { grid-template-columns:1fr; }
.mobile-action-row a { background:var(--accent) !important; color:#172015 !important; }
.mobile-menu { background:#fff; }
.mobile-menu > a,
.mobile-nav-group,
.mobile-nav-group summary { border-color:var(--line); color:var(--text); }
.mobile-submenu { border-left-color:rgba(var(--accent-rgb),.45); }
.mobile-menu .mobile-submenu a { color:var(--muted-strong); }
.menu-toggle span { background:var(--text); }
@media (max-width:820px) {
  :root { --header-height:124px; }
  .mobile-action-row { height:52px; }
  .mobile-brand-row { height:72px; }
  .mobile-brand-row .brand img { width:170px; max-height:58px; }
  .hero { min-height:calc(100svh - var(--header-height)); }
}
@media (max-width:620px) {
  .category-grid { grid-template-columns:1fr; }
}
.webbec-credit img { width:132px; height:auto; padding:0; border-radius:0; background:transparent; }
.hero h1 { color:#fff; text-shadow:0 4px 30px rgba(0,0,0,.72); }
.hero-copy { position:relative; z-index:1; }

.google-stars { display:flex; gap:.08rem; }
.google-stars svg { width:16px; height:16px; fill:#fbbc04; }
.section-kicker { margin:0 0 .55rem; color:#4f9827; font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.categories-section .section-heading > p { max-width:560px; margin:0; }
@media (max-width:820px) {
  .hero::after { background:linear-gradient(90deg,rgba(18,24,21,.96) 0%,rgba(18,24,21,.88) 56%,rgba(18,24,21,.42) 100%),linear-gradient(0deg,rgba(18,24,21,.5),transparent 58%); }
}
@media (max-width:820px) {
  .faq-grid { grid-template-columns:1fr; }
}

.button-primary,
.button-primary:link,
.button-primary:visited,
.button-primary:hover,
.button-primary:focus-visible,
.button-primary:active,
.button-primary *,
.mega-quote,
.mega-quote:link,
.mega-quote:visited,
.mega-quote:hover,
.mega-quote:focus-visible,
.mega-quote:active,
.mega-quote *,
.mobile-action-row a,
.mobile-action-row a:link,
.mobile-action-row a:visited,
.mobile-action-row a:hover,
.mobile-action-row a:focus-visible,
.mobile-action-row a:active {
  color:#fff !important;
}

@media (max-width:820px) {
  .mobile-action-row {
    grid-template-columns:1fr 1fr !important;
  }
  .mobile-action-row a {
    min-width:0;
    padding:.55rem .65rem;
    text-align:center;
    line-height:1.15;
  }
  .mobile-action-row .mobile-quote-cta {
    border-right:1px solid var(--line);
    background:#fff !important;
    color:#4f9827 !important;
  }
  .mobile-action-row .mobile-phone-cta {
    background:var(--accent) !important;
    color:#fff !important;
  }
}

.hero-image {
  object-position:center 56%;
}

.service-list-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.service-list-card {
  position:relative;
  min-height:260px;
  overflow:hidden;
}
.service-list-card .service-number {
  position:absolute;
  top:1rem;
  right:1rem;
  color:rgba(79,152,39,.28);
  font-family:var(--font-display);
  font-size:clamp(2.4rem,4vw,4rem);
  font-weight:900;
  line-height:1;
}
.service-list-card > div {
  position:relative;
  z-index:1;
  height:100%;
  display:flex;
  flex-direction:column;
}
.service-list-card h3 {
  max-width:82%;
}
.service-list-card a {
  margin-top:auto;
}
@media (max-width:1000px) {
  .service-list-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:620px) {
  .hero-image { object-position:center 50%; }
  .service-list-grid { grid-template-columns:1fr; }
  .service-list-card { min-height:0; }
}

.legal-hero .container { max-width:920px; }

.legal-hero .breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem; color:rgba(255,255,255,.78); font-size:.86rem; font-weight:750; }
.legal-hero .breadcrumb a:hover { color:#fff; }

.legal-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:clamp(1.2rem,3vw,2.5rem); align-items:start; }
.legal-nav { position:sticky; top:calc(var(--header-height) + 1rem); display:grid; gap:.35rem; padding:1rem; border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface-2); box-shadow:0 14px 35px rgba(19,39,23,.08); }
.legal-nav a { padding:.65rem .75rem; border-radius:var(--radius-button); color:var(--muted-strong); font-size:.82rem; font-weight:800; }
.legal-nav a:hover,.legal-nav a:focus-visible { background:rgba(var(--accent-rgb),.1); color:var(--text); outline:none; }
.legal-content { display:grid; gap:1rem; }
.legal-block { scroll-margin-top:calc(var(--header-height) + 1.5rem); padding:clamp(1.15rem,2vw,1.6rem); border:1px solid var(--line); border-radius:var(--radius-card); background:var(--surface-2); box-shadow:0 14px 35px rgba(19,39,23,.06); }
.legal-block h2 { margin:0 0 .7rem; font-size:clamp(1.2rem,2vw,1.6rem); }
.legal-block h3 { margin:1rem 0 .35rem; font-size:1rem; }
.legal-block p,.legal-block li { color:var(--muted-strong); line-height:1.7; }
.legal-block p:last-child { margin-bottom:0; }
.legal-block ul { margin:.5rem 0 0; padding-left:1.2rem; }
.legal-block a { color:var(--accent); font-weight:800; text-decoration:underline; text-underline-offset:.18em; }
@media (max-width:820px) {
  .legal-layout { grid-template-columns:1fr; }
  .legal-nav { position:static; grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:520px) {
  .legal-nav { grid-template-columns:1fr; }
}

.partners-section {
  padding:clamp(3.5rem,7vw,6.5rem) 0;
  border-top:1px solid var(--line);
  background:#fff;
}
.partners-heading {
  max-width:760px;
  margin:0 auto clamp(1.75rem,4vw,3rem);
  text-align:center;
}
.partners-heading h2 {
  margin-bottom:0;
}
.partner-logo-grid {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(.75rem,1.5vw,1.25rem);
  align-items:stretch;
}
.partner-logo-card {
  display:flex;
  min-height:150px;
  align-items:center;
  justify-content:center;
  padding:clamp(1rem,2vw,1.5rem);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:var(--surface-2);
}
.partner-logo-card img {
  width:100%;
  max-width:220px;
  height:96px;
  object-fit:contain;
}
@media (max-width:1050px) {
  .partner-logo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:680px) {
  .partner-logo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .partner-logo-card { min-height:130px; }
  .partner-logo-card img { height:82px; }
}
@media (max-width:420px) {
  .partner-logo-grid { grid-template-columns:1fr; }
}

.mega-link-card {
  min-height:54px;
  align-content:center;
  gap:0;
  padding:.72rem .9rem;
}
.mega-menu-company .mega-link-card,
.mega-menu-areas .mega-link-card { min-height:54px; }

@media (min-width: 821px) {
  .hero-inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
  }

  .hero-copy {
    grid-column: 1;
    width: 100%;
    max-width: none;
    padding-right: clamp(1.75rem, 4vw, 4rem);
  }

  .hero h1,
  .hero-lead {
    max-width: none;
  }
}

.hero {
  height: calc(100svh - var(--header-height));
  min-height: 0;
}
.hero-inner {
  height: 100%;
  min-height: 0;
  padding-block: clamp(1.25rem, 3vh, 2.5rem);
}
.hero h1 {
  font-size: clamp(2.55rem, 4.2vw, 4.35rem);
  line-height: .99;
}
@media (max-width: 820px) {
  .hero h1 {
    font-size: clamp(2.15rem, 8.8vw, 2.8rem);
  }
}
@media (max-width: 600px) {
  .hero-inner { padding-block: .9rem; }
  .hero h1 { margin-bottom: .65rem; }
  .hero-lead { margin-bottom: .75rem; line-height: 1.35; }
  .hero-proof { margin-top: .55rem; }
}
@media (max-height: 700px) {
  .hero h1 {
    font-size: clamp(2.1rem, 3.8vw, 3.55rem);
    margin-bottom: .6rem;
  }
  .hero-lead { margin-bottom: .65rem; line-height: 1.35; }
  .hero-proof { margin-top: .5rem; padding-block: .55rem; }
}
@media (max-height: 620px) and (max-width: 820px) {
  .hero h1 { font-size: clamp(1.85rem, 7.8vw, 2.3rem); }
  .hero-actions .button { min-height: 42px; padding-block: .65rem; }
  .hero-proof { padding: .45rem .65rem; }
  .google-mark { width: 30px; height: 30px; flex-basis: 30px; }
}

@media (max-width:820px) {
  .mobile-action-row .mobile-quote-cta,
  .mobile-action-row .mobile-quote-cta:link,
  .mobile-action-row .mobile-quote-cta:visited,
  .mobile-action-row .mobile-quote-cta:hover,
  .mobile-action-row .mobile-quote-cta:focus-visible,
  .mobile-action-row .mobile-quote-cta:active {
    background:#fff !important;
    color:#172015 !important;
  }

  .mobile-action-row .mobile-phone-cta,
  .mobile-action-row .mobile-phone-cta:link,
  .mobile-action-row .mobile-phone-cta:visited,
  .mobile-action-row .mobile-phone-cta:hover,
  .mobile-action-row .mobile-phone-cta:focus-visible,
  .mobile-action-row .mobile-phone-cta:active {
    background:var(--accent) !important;
    color:#fff !important;
  }
}

.hero h1 {
  max-width:12ch;
  text-wrap:balance;
}

.category-grid {
  align-items:stretch;
  grid-auto-rows:1fr;
}
.category-card {
  display:flex;
  height:100%;
  flex-direction:column;
}
.category-content {
  display:flex;
  flex:1;
  flex-direction:column;
}
.category-content a {
  margin-top:auto;
  padding-top:.45rem;
}

.hero-image {
  filter: none !important;
  -webkit-filter: none !important;
  transform: none !important;
}
.hero::before {
  display: none;
}
.hero::after {
  background:
    linear-gradient(90deg,
      rgba(15, 29, 18, .94) 0%,
      rgba(15, 29, 18, .88) 28%,
      rgba(15, 29, 18, .62) 47%,
      rgba(15, 29, 18, .24) 67%,
      rgba(15, 29, 18, .06) 82%,
      rgba(15, 29, 18, 0) 100%),
    linear-gradient(0deg, rgba(8, 16, 10, .22), rgba(8, 16, 10, .08));
}
.hero .button-secondary,
.hero-proof {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.hero .button-secondary {
  background: rgba(255,255,255,.96);
}
.hero-proof {
  background: rgba(255,255,255,.96);
}
.hero h1 {
  max-width: 14ch;
}
@media (max-width: 820px) {
  .hero::after {
    background:
      linear-gradient(90deg,
        rgba(15, 29, 18, .94) 0%,
        rgba(15, 29, 18, .84) 58%,
        rgba(15, 29, 18, .38) 100%),
      linear-gradient(0deg, rgba(8, 16, 10, .28), rgba(8, 16, 10, .08));
  }
  .hero h1 {
    max-width: 15ch;
  }
}

.main-cta-pair {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem;
  width:min(100%,450px);
  margin-top:1.75rem;
}
.main-cta-pair .button {
  width:100%;
  min-width:0;
  min-height:50px;
  text-align:center;
}
.main-cta-pair .button-primary,
.main-cta-pair .button-primary:link,
.main-cta-pair .button-primary:visited,
.main-cta-pair .button-primary:hover,
.main-cta-pair .button-primary:focus-visible,
.main-cta-pair .button-primary:active {
  color:#fff !important;
}
.section-heading .main-cta-pair {
  flex:0 0 min(100%,450px);
  margin-top:0;
}
.process-grid > div .main-cta-pair,
.about-section .main-cta-pair,
.areas-copy .main-cta-pair,
.approach-section .main-cta-pair {
  margin-top:1.75rem;
}
@media (max-width:700px) {
  .section-heading .main-cta-pair {
    width:100%;
  }
}
@media (max-width:430px) {
  .main-cta-pair {
    gap:.75rem;
  }
  .main-cta-pair .button {
    padding-inline:.65rem;
    font-size:.82rem;
  }
}

.service-list-card {
  min-height: 0;
  height: 100%;
}
.service-list-card > img {
  width: 100%;
  height: 230px;
  aspect-ratio: auto;
  object-fit: cover;
}
.service-list-card > div {
  height: auto;
  min-height: 245px;
  flex: 1;
  padding: clamp(1.2rem, 2vw, 1.55rem);
}
.service-list-card .service-number {
  top: .8rem;
  right: .8rem;
  display: grid;
  place-items: center;
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 999px;
  background: rgba(255,255,255,.94);
  color: var(--accent-dark);
  font-size: 1rem;
  box-shadow: 0 4px 18px rgba(0,0,0,.12);
}
.service-list-card h3 {
  max-width: none;
}
@media (max-width: 620px) {
  .service-list-card > img { height: 240px; }
  .service-list-card > div { min-height: 0; }
}

.hero-proof {
  display:inline-flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:.65rem;
  padding:.65rem .9rem;
  white-space:nowrap;
}
.hero-proof .google-mark { width:32px; height:32px; flex:0 0 32px; }
.hero-proof .google-stars { display:inline-flex; align-items:center; gap:.06rem; }
.hero-proof .google-stars svg { width:17px; height:17px; fill:#fbbc04; }
.hero-proof > strong { color:#26302a; font-size:1rem; letter-spacing:0; }
@media (max-width:430px) {
  .hero-proof { gap:.45rem; padding:.55rem .7rem; }
  .hero-proof .google-mark { width:29px; height:29px; flex-basis:29px; }
  .hero-proof .google-stars svg { width:14px; height:14px; }
  .hero-proof > strong { font-size:.88rem; }
}

.sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.testimonials-section {
  overflow:hidden;
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.1),transparent 300px),#fff;
  color:var(--text);
  border-block:1px solid var(--line);
}
.testimonials-heading {
  margin-bottom:clamp(1.8rem,4vw,3rem);
}
.testimonials-heading .section-kicker {
  margin-bottom:.55rem;
  color:#4f9827;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.testimonials-heading h2 {
  max-width:820px;
  margin:0;
  color:var(--text);
}
.testimonials-carousel { position:relative; }
.testimonials-viewport {
  overflow:hidden;
  padding:.35rem .15rem 1.25rem;
  touch-action:pan-y;
  cursor:grab;
}
.testimonials-viewport.is-dragging { cursor:grabbing; }
.testimonials-track {
  display:flex;
  gap:1.25rem;
  will-change:transform;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
}
.testimonial-card {
  position:relative;
  flex:0 0 calc((100% - 2.5rem) / 3);
  min-width:0;
  min-height:330px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(1.35rem,2.4vw,1.85rem);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:#fff;
  box-shadow:0 16px 42px rgba(31,39,35,.09);
  text-align:left;
  transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;
}
.testimonial-card::before {
  content:"“";
  position:absolute;
  top:.7rem;
  right:1.15rem;
  color:rgba(var(--accent-rgb),.2);
  font-family:Georgia,serif;
  font-size:5.5rem;
  line-height:1;
  pointer-events:none;
}
.testimonial-card:hover {
  transform:translateY(-3px);
  border-color:rgba(var(--accent-rgb),.5);
  box-shadow:0 22px 52px rgba(31,39,35,.13);
}
.testimonial-avatar {
  position:relative;
  width:56px;
  height:56px;
  flex:0 0 56px;
  display:grid;
  place-items:center;
  margin-bottom:1rem;
  border:1px solid rgba(var(--accent-rgb),.52);
  border-radius:50%;
  background:linear-gradient(145deg,rgba(var(--accent-rgb),.24),rgba(var(--accent-rgb),.1));
  color:#2f4c23;
  font-family:var(--font-body);
  font-size:.92rem;
  font-weight:900;
  letter-spacing:.02em;
}
.testimonial-google {
  position:absolute;
  right:-4px;
  bottom:-3px;
  width:23px;
  height:23px;
  min-width:23px;
  max-width:23px;
  min-height:23px;
  max-height:23px;
  display:grid;
  place-items:center;
  padding:4px;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  box-shadow:0 4px 10px rgba(31,39,35,.12);
}
.testimonials-section .testimonial-google svg {
  display:block;
  width:14px !important;
  height:14px !important;
  min-width:14px;
  max-width:14px;
  min-height:14px;
  max-height:14px;
  flex:0 0 14px;
}
.testimonial-card h3 {
  position:relative;
  z-index:1;
  margin:0 0 .6rem;
  color:var(--text);
  font-family:var(--font-body);
  font-size:1.04rem;
  font-weight:850;
  letter-spacing:0;
  line-height:1.25;
}
.testimonial-stars {
  position:relative;
  z-index:1;
  display:flex;
  justify-content:flex-start;
  gap:.1rem;
  margin-bottom:1.2rem;
}
.testimonials-section .testimonial-stars svg {
  display:block;
  width:18px !important;
  height:18px !important;
  min-width:18px;
  max-width:18px;
  min-height:18px;
  max-height:18px;
  flex:0 0 18px;
  fill:#fbbc04;
}
.testimonial-card blockquote {
  position:relative;
  z-index:1;
  margin:0;
  color:var(--muted-strong);
  font-size:clamp(.98rem,.3vw + .93rem,1.05rem);
  line-height:1.68;
}
.testimonials-controls {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  margin-top:1.25rem;
}
.testimonials-arrow {
  width:46px;
  height:46px;
  min-width:46px;
  max-width:46px;
  min-height:46px;
  max-height:46px;
  display:grid;
  place-items:center;
  flex:0 0 46px;
  border:1px solid var(--line-strong);
  border-radius:var(--radius-button);
  background:#fff;
  color:var(--text);
  box-shadow:0 8px 20px rgba(31,39,35,.07);
  cursor:pointer;
  transition:.2s ease;
}
.testimonials-arrow:hover,
.testimonials-arrow:focus-visible {
  border-color:var(--accent);
  background:rgba(var(--accent-rgb),.12);
  color:#3f8121;
  outline:none;
}
.testimonials-arrow span { font-size:1.3rem; line-height:1; }
.testimonials-dots {
  min-height:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.5rem;
}
.testimonials-dot {
  width:9px;
  height:9px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cbd2cc;
  cursor:pointer;
  transition:.25s ease;
}
.testimonials-dot[aria-current="true"] {
  width:28px;
  background:var(--accent);
}
.testimonials-final-action {
  display:flex;
  justify-content:center;
  margin-top:1.5rem;
}
.testimonials-google-button {
  border-color:transparent;
  background:var(--accent);
  color:#182016 !important;
  box-shadow:0 10px 24px rgba(var(--accent-rgb),.22);
}
.testimonials-google-button:hover,
.testimonials-google-button:focus-visible {
  border-color:transparent;
  background:var(--accent-hover);
  color:#182016 !important;
  transform:translateY(-1px);
}
@media (max-width:1050px) {
  .testimonial-card { flex-basis:calc((100% - 1.25rem) / 2); }
}
@media (max-width:680px) {
  .testimonials-track { gap:1rem; }
  .testimonial-card {
    flex-basis:100%;
    min-height:300px;
    padding:1.35rem;
  }
  .testimonials-controls { gap:.75rem; }
  .testimonials-arrow {
    width:44px;
    height:44px;
    min-width:44px;
    max-width:44px;
    min-height:44px;
    max-height:44px;
    flex-basis:44px;
  }
  .testimonials-google-button { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .testimonials-track { transition:none; }
  .testimonial-card:hover { transform:none; }
}

.services-overview-hero .hero-copy {
  width:min(50%, 640px);
  max-width:640px;
}
.hero-eyebrow {
  margin:0 0 .7rem;
  color:#b9f294;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.service-types-section {
  background:var(--bg);
}
.service-category-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.service-category-grid .category-card {
  display:flex;
  flex-direction:column;
  height:100%;
}
.service-category-grid .category-content {
  flex:1;
  grid-template-rows:auto 1fr auto;
}
.service-details-section {
  background:#fff;
}
.service-groups {
  display:grid;
  gap:clamp(4rem,8vw,7rem);
}
.service-group {
  scroll-margin-top:calc(var(--header-height) + 1.5rem);
}
.service-group + .service-group {
  padding-top:clamp(3rem,6vw,5rem);
  border-top:1px solid var(--line);
}
.service-group-heading {
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  column-gap:clamp(2rem,6vw,5rem);
  align-items:end;
  margin-bottom:clamp(1.7rem,3vw,2.5rem);
}
.service-group-heading .section-kicker {
  grid-column:1;
  margin-bottom:.45rem;
}
.service-group-heading h2 {
  grid-column:1;
  margin-bottom:0;
  font-size:clamp(2.1rem,3.6vw,3.4rem);
}
.service-group-heading > p:last-child {
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  max-width:680px;
  margin:0;
}
.service-overview-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.service-overview-grid-two {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.service-overview-grid .service-list-card > div {
  min-height:190px;
}
.service-overview-grid .service-list-card h3 {
  max-width:none;
}
.all-services-section {
  background:var(--bg-deep);
}
.all-services-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
.all-services-grid section {
  min-width:0;
  padding:clamp(1.25rem,2vw,1.6rem);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:#fff;
}
.all-services-grid h3 {
  margin-bottom:1rem;
  padding-bottom:.8rem;
  border-bottom:1px solid var(--line);
  font-size:1.35rem;
}
.all-services-grid a {
  position:relative;
  display:block;
  padding:.55rem 1.2rem .55rem 0;
  border-bottom:1px solid rgba(31,39,35,.08);
  color:var(--muted-strong);
  font-size:.9rem;
  font-weight:750;
  line-height:1.4;
}
.all-services-grid a:last-child { border-bottom:0; }
.all-services-grid a::after {
  content:"↗";
  position:absolute;
  right:0;
  color:#4f9827;
}
.all-services-grid a:hover,
.all-services-grid a:focus-visible {
  color:#4f9827;
}
@media (max-width:1100px) {
  .service-overview-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .all-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .services-overview-hero .hero-copy { width:min(100%, 620px); }
  .service-category-grid { grid-template-columns:1fr 1fr; }
  .service-group-heading { grid-template-columns:1fr; gap:.5rem; }
  .service-group-heading .section-kicker,
  .service-group-heading h2,
  .service-group-heading > p:last-child {
    grid-column:1;
    grid-row:auto;
  }
  .service-group-heading > p:last-child { margin-top:.45rem; }
}
@media (max-width:620px) {
  .service-category-grid,
  .service-overview-grid,
  .service-overview-grid-two,
  .all-services-grid { grid-template-columns:1fr; }
  .service-overview-grid .service-list-card > div { min-height:0; }
}

.sr-only {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.realisations-hero .hero-copy {
  width:min(50%,640px);
  max-width:640px;
}
.realisations-gallery-section {
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.09),transparent 300px),var(--bg-deep);
}
.realisations-heading > p {
  max-width:520px;
  margin:0;
}
.realisations-filters {
  display:flex;
  flex-wrap:wrap;
  gap:.7rem;
  margin-bottom:clamp(1.6rem,3vw,2.4rem);
}
.realisation-filter {
  min-height:44px;
  padding:.68rem 1rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  color:var(--muted-strong);
  font-weight:850;
  line-height:1;
  cursor:pointer;
  transition:border-color .2s ease,background .2s ease,color .2s ease,transform .2s ease;
}
.realisation-filter:hover,
.realisation-filter:focus-visible {
  border-color:rgba(var(--accent-rgb),.65);
  background:#f1f8ec;
  color:#3f8121;
  outline:none;
}
.realisation-filter.is-active,
.realisation-filter[aria-pressed="true"] {
  border-color:var(--accent);
  background:var(--accent);
  color:#172015;
  box-shadow:0 8px 20px rgba(var(--accent-rgb),.18);
}
.realisations-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.realisation-card {
  position:relative;
  min-width:0;
  aspect-ratio:4/3;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-media);
  background:#fff;
  box-shadow:0 12px 35px rgba(31,39,35,.08);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease;
}
.realisation-card[hidden] { display:none !important; }
.realisation-card img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .4s ease;
}
.realisation-card::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(14,21,17,.72) 0%,rgba(14,21,17,.18) 34%,transparent 58%);
  pointer-events:none;
}
.realisation-card:hover,
.realisation-card:focus-visible {
  transform:translateY(-3px);
  border-color:rgba(var(--accent-rgb),.65);
  box-shadow:0 18px 44px rgba(31,39,35,.14);
  outline:none;
}
.realisation-card:hover img,
.realisation-card:focus-visible img { transform:scale(1.035); }
.realisation-card-label {
  position:absolute;
  z-index:2;
  left:1rem;
  bottom:1rem;
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.45rem .72rem;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#202622;
  font-size:.78rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.final-cta-kicker {
  color:#28471e;
  margin-bottom:.45rem;
}
@media (max-width:980px) {
  .realisations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:820px) {
  .realisations-hero .hero-copy { width:min(100%,620px); }
}
@media (max-width:620px) {
  .realisations-filters {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .realisation-filter { width:100%; }
  .realisations-grid { grid-template-columns:1fr; }
  .realisation-card { aspect-ratio:4/3; }
}
@media (max-width:420px) {
  .realisations-filters { grid-template-columns:1fr; }
}

.services-overview-hero .hero-copy,
.realisations-hero .hero-copy,
.legal-page-hero .hero-copy {
  width:100%;
  max-width:none;
}
.legal-page-hero {
  height:calc(100svh - var(--header-height));
  min-height:0;
  padding:0;
}
@media (max-width:820px) {
  .services-overview-hero .hero-copy,
  .realisations-hero .hero-copy,
  .legal-page-hero .hero-copy { width:100%; max-width:none; }
}

.hero-eyebrow {
  margin:0 0 .7rem;
  color:#9be166;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.contact-section { background:#fff; }
.contact-layout {
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  gap:clamp(1.25rem,3.5vw,3rem);
  align-items:start;
}
.contact-info-card,
.contact-form-card {
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  box-shadow:0 18px 48px rgba(31,39,35,.08);
}
.contact-info-card {
  position:sticky;
  top:calc(var(--header-height) + 1.25rem);
  padding:clamp(1.5rem,3vw,2.25rem);
  background:linear-gradient(145deg,rgba(var(--accent-rgb),.12),#fff 58%);
}
.contact-info-card h2,
.contact-form-card h2 { margin-bottom:.8rem; }
.contact-methods { display:grid; gap:.7rem; margin-top:1.75rem; }
.contact-method {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:.9rem;
  align-items:center;
  min-width:0;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:1rem;
  background:#fff;
}
a.contact-method { transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease; }
a.contact-method:hover { border-color:rgba(var(--accent-rgb),.62); transform:translateY(-1px); box-shadow:0 10px 26px rgba(31,39,35,.08); }
.contact-icon {
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(var(--accent-rgb),.16);
  color:#4f9827;
}
.contact-icon svg { width:22px; height:22px; fill:currentColor; }
.contact-method small { display:block; margin-bottom:.12rem; color:var(--muted); font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.contact-method strong { display:block; overflow-wrap:anywhere; color:var(--text); font-size:.96rem; line-height:1.35; }
.contact-form-card { padding:clamp(1.5rem,3vw,2.4rem); background:var(--bg); }
.contact-form { margin-top:1.65rem; }
.contact-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.contact-form label > span:not(.contact-icon) { display:block; margin-bottom:.38rem; color:var(--text); font-size:.82rem; font-weight:800; }
.contact-form input,
.contact-form select,
.contact-form textarea {
  width:100%;
  min-height:52px;
  padding:.8rem .9rem;
  border:1px solid var(--line-strong);
  border-radius:.8rem;
  outline:0;
  background:#fff;
  color:var(--text);
  font:inherit;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.contact-form textarea { min-height:155px; resize:vertical; }
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus { border-color:#68ad3b; box-shadow:0 0 0 3px rgba(var(--accent-rgb),.16); }
.form-field-full { grid-column:1 / -1; }
.form-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.consent-field {
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:.65rem;
  align-items:start;
  margin:1rem 0 1.2rem;
}
.contact-form .consent-field input { width:18px; height:18px; min-height:0; margin-top:.18rem; accent-color:var(--accent); }
.contact-form .consent-field > span { margin:0; color:var(--muted); font-size:.8rem; font-weight:600; line-height:1.55; }
.consent-field a { color:#4f9827; font-weight:850; text-decoration:underline; text-underline-offset:.15em; }
.contact-submit { min-width:210px; }
.contact-area-section { background:var(--bg-deep); }
.contact-area-section .map-card { background:#fff; }
@media (max-width:900px) {
  .contact-layout { grid-template-columns:1fr; }
  .contact-info-card { position:static; }
}
@media (max-width:620px) {
  .contact-form-grid { grid-template-columns:1fr; }
  .form-field-full { grid-column:auto; }
  .contact-submit { width:100%; }
}


.about-page-hero .hero-copy { width:100%; max-width:none; }
.about-company-section { background:#fff; }
.about-company-section .lead,
.about-proof-section .lead { color:var(--muted-strong); }
.about-services-section {
  background:linear-gradient(180deg,rgba(var(--accent-rgb),.1),transparent 320px),var(--bg);
}
.about-services-section .section-heading > p { max-width:540px; margin:0; }
.about-services-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
.about-service-card {
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:#fff;
  box-shadow:0 14px 38px rgba(31,39,35,.07);
}
.about-service-card > img {
  width:100%;
  height:260px;
  object-fit:cover;
}
.about-service-card > div { padding:clamp(1.25rem,2.4vw,1.8rem); }
.about-service-card span {
  display:inline-flex;
  margin-bottom:.75rem;
  color:#4f9827;
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
}
.about-service-card h3 { margin-bottom:.6rem; color:var(--text); }
.about-service-card p { margin-bottom:0; }
.about-proof-section { background:#fff; }
.about-proof-gallery {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  grid-template-rows:repeat(2,220px);
  gap:.8rem;
}
.about-proof-gallery figure {
  min-height:0;
  border:1px solid var(--line);
  border-radius:var(--radius-media);
  background:var(--bg);
  box-shadow:0 14px 38px rgba(31,39,35,.08);
}
.about-proof-gallery figure:first-child { grid-row:1 / -1; }
.about-proof-gallery img { object-fit:cover; }
@media (max-width:900px) {
  .about-services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .about-service-card:last-child { grid-column:1 / -1; }
}
@media (max-width:760px) {
  .about-services-grid { grid-template-columns:1fr; }
  .about-service-card:last-child { grid-column:auto; }
  .about-service-card > img { height:240px; }
  .about-proof-gallery { grid-template-columns:1fr 1fr; grid-template-rows:280px 180px; }
  .about-proof-gallery figure:first-child { grid-column:1 / -1; grid-row:auto; }
}
@media (max-width:520px) {
  .about-proof-gallery { grid-template-columns:1fr; grid-template-rows:repeat(3,220px); }
  .about-proof-gallery figure:first-child { grid-column:auto; }
}


.service-detail-intro { background:#fff; }
.service-detail-intro .two-column-media { grid-template-columns:minmax(0,1fr) minmax(0,.92fr); }
.service-detail-intro .lead { color:var(--muted-strong); }
.service-detail-media { min-height:480px; }
.service-detail-services { background:linear-gradient(180deg,#f7faf5 0%,#eef5eb 100%); }
.service-detail-services .section-heading > p { max-width:560px; margin:0; }
.service-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-detail-grid .service-list-card > div { min-height:220px; }
.service-detail-faq .section-heading { margin-bottom:2rem; }
.service-detail-faq .section-kicker { color:#9cd676; }
@media (max-width:900px) {
  .service-detail-intro .two-column-media { grid-template-columns:1fr; }
  .service-detail-media { min-height:390px; }
}
@media (max-width:700px) {
  .service-detail-grid { grid-template-columns:1fr; }
  .service-detail-grid .service-list-card > div { min-height:0; }
  .service-detail-media { min-height:300px; }
}

.service-category-gallery {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
  margin-top:clamp(1.5rem,3vw,2.4rem);
}
.service-category-photo {
  min-width:0;
  aspect-ratio:600/426;
  margin:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:var(--radius-media);
  background:#fff;
  box-shadow:0 12px 32px rgba(31,39,35,.08);
}
.service-category-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .35s ease;
}
.service-category-photo:hover img { transform:scale(1.025); }
.service-portfolio-section { background:var(--bg); }
.service-category-gallery-large { margin-top:0; }
@media (max-width:900px) {
  .service-category-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:560px) {
  .service-category-gallery { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce) {
  .service-category-photo img { transition:none; }
  .service-category-photo:hover img { transform:none; }
}

.service-situations,
.service-benefits,
.service-related,
.service-areas { background:#fff; }
.service-situations h2,
.service-benefits h2,
.service-related h2,
.service-areas h2,
.service-situations h3,
.service-benefits h3,
.service-related h3,
.service-areas h3 { color:#122116; }
.service-situations p,
.service-benefits p,
.service-related p,
.service-areas p { color:#5e6c61; }
.service-scope,
.service-options,
.service-considerations,
.service-why { background:linear-gradient(180deg,#f7faf5 0%,#eef5eb 100%); }
.service-scope h2,
.service-options h2,
.service-considerations h2,
.service-why h2,
.service-scope h3,
.service-options h3,
.service-considerations h3,
.service-why h3 { color:#122116; }
.service-scope p,
.service-options p,
.service-considerations p,
.service-why p { color:#5e6c61; }
.content-card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.content-card { min-width:0; min-height:220px; padding:clamp(1.25rem,2.4vw,1.8rem); border:1px solid rgba(18,33,22,.13); border-radius:var(--radius-card); background:#fff; box-shadow:0 18px 42px rgba(24,48,29,.07); }
.content-card h3 { margin-bottom:.7rem; }
.content-card p { margin-bottom:0; }
.content-card .service-number { width:42px; height:42px; display:grid; place-items:center; margin-bottom:1rem; border-radius:50%; background:#e9f5e2; color:#4f9827; font-weight:900; font-size:.8rem; }
.content-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.content-link-card { min-height:210px; display:flex; flex-direction:column; justify-content:space-between; gap:1.25rem; padding:clamp(1.25rem,2.4vw,1.8rem); border:1px solid rgba(18,33,22,.13); border-radius:var(--radius-card); background:#fff; box-shadow:0 18px 42px rgba(24,48,29,.07); }
.content-link-card h3 { margin-bottom:.6rem; color:#122116; }
.content-link-card p { margin-bottom:0; color:#5e6c61; }
.content-link-card a { width:fit-content; color:#122116; font-weight:850; }
.content-link-card a span { color:#69b936; }
.service-process { background:var(--surface); }
.service-proof { background:#071009; }
.service-proof-layout { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:clamp(2rem,5vw,4rem); align-items:center; }
.service-proof-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-proof-gallery .service-category-photo:first-child { grid-row:span 2; }
.service-testimonial { margin:1.5rem 0; padding:1.25rem 1.35rem; border-left:3px solid var(--accent); border-radius:0 var(--radius-card) var(--radius-card) 0; background:rgba(255,255,255,.05); }
.service-testimonial p { margin-bottom:.5rem; color:#eef5eb; font-size:1.03rem; }
.service-testimonial footer { color:#9fb0a2; font-size:.82rem; font-weight:800; }
.service-area-panel { padding:clamp(1.5rem,3vw,2.2rem); border:1px solid rgba(18,33,22,.12); border-radius:var(--radius-card); background:#f4f8f1; }
.service-area-panel strong { display:block; margin-bottom:.45rem; color:#4f9827; font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.7rem); line-height:1; }
.service-area-panel p { margin:0; }
@media (max-width:1050px) {
  .content-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-proof-layout { grid-template-columns:1fr; }
}
@media (max-width:700px) {
  .content-card-grid,
  .content-link-grid { grid-template-columns:1fr; }
  .content-card,
  .content-link-card { min-height:0; }
  .service-proof-gallery { grid-template-columns:1fr; }
  .service-proof-gallery .service-category-photo:first-child { grid-row:auto; }
}



.zone-directory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.zone-directory-card { min-width:0; min-height:230px; display:flex; flex-direction:column; gap:1rem; padding:clamp(1.25rem,2.2vw,1.7rem); border:1px solid rgba(18,33,22,.13); border-radius:var(--radius-card); background:#fff; box-shadow:0 18px 42px rgba(24,48,29,.07); }
.zone-directory-card .service-number { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#e9f5e2; color:#4f9827; font-weight:900; font-size:.8rem; }
.zone-directory-card h3 { margin-bottom:.6rem; color:#122116; }
.zone-directory-card p { margin:0; color:#5e6c61; }
.zone-directory-card > a { width:fit-content; margin-top:auto; color:#122116; font-weight:850; }
.zone-directory-card > a span { color:var(--accent); }
.zone-local-intro .service-category-photo { min-height:420px; }
.zone-local-geography .map-card iframe { min-height:440px; }
@media (max-width:1024px) { .zone-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:680px) { .zone-directory-grid { grid-template-columns:1fr; } .zone-directory-card { min-height:0; } .zone-local-intro .service-category-photo { min-height:300px; } .zone-local-geography .map-card iframe { min-height:340px; } }


.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin:0 0 .85rem;font-size:.84rem;line-height:1.35;color:rgba(255,255,255,.78)}
.breadcrumbs a{color:inherit;text-decoration:underline;text-underline-offset:.2em}
.breadcrumbs a:hover{color:var(--accent)}
.breadcrumbs [aria-current="page"]{color:#fff;font-weight:700}
.quote-page-intro .breadcrumbs,.section>.container>.breadcrumbs{color:var(--muted)}
.quote-page-intro .breadcrumbs [aria-current="page"],.section>.container>.breadcrumbs [aria-current="page"]{color:var(--text)}



.service-proof{background:#071009;color:#f7fbf5}
.service-proof h2,.service-proof h3{color:#fff}
.service-proof p,.service-proof .lead{color:#d5e2d6}
.service-proof .section-kicker{color:#8bd454}
.service-proof .text-link{color:#fff;font-weight:850}
.service-proof .text-link span{color:#8bd454}
.service-proof .service-category-photo{border-color:rgba(255,255,255,.22);box-shadow:0 16px 42px rgba(0,0,0,.26)}
.section-guidance .two-column-media{align-items:stretch}
.section-guidance .media-frame{min-height:360px}
@media(max-width:820px){.section-guidance .media-frame{min-height:280px}}


.service-proof { background:#071009 !important; color:#f7fbf5 !important; }
.service-proof h1,.service-proof h2,.service-proof h3,.service-proof strong { color:#ffffff !important; }
.service-proof p,.service-proof .lead { color:#dbe7dc !important; }
.service-proof .section-kicker { color:#9be166 !important; }
.service-proof .text-link { color:#ffffff !important; }
.service-proof .text-link span { color:#9be166 !important; }
.service-proof a:focus-visible { outline:3px solid #9be166; outline-offset:4px; }
.local-project-followup .service-category-photo { min-height:320px; }
@media (max-width:820px){ .local-project-followup .service-category-photo { min-height:250px; } }


main > .section > .container,
main > .final-cta > .container,
main > .hero > .container,
.site-header > .container,
.site-footer > .container,
.site-footer .footer-bottom.container {
  width:min(calc(100% - var(--gutter) - var(--gutter)), var(--container));
  max-width:var(--container);
  margin-inline:auto;
}

.quote-only-main {
  background:linear-gradient(180deg, rgba(var(--accent-rgb),.055), #fff 220px);
}
.quote-only-section {
  padding:clamp(3rem, 6vw, 6rem) 0;
}
.quote-only-wrap {
  display:flex;
  justify-content:center;
}
.quote-only-card {
  width:min(100%, 820px);
  padding:clamp(1.5rem, 3vw, 2.5rem);
}
.quote-only-form {
  margin-top:0;
}
.quote-only-form h1 {
  margin:0 0 clamp(1.5rem, 3vw, 2.2rem);
  text-align:center;
  color:var(--text);
  font-size:clamp(2rem, 4vw, 3.4rem);
  line-height:1.02;
}
.quote-only-form .button[type="submit"] {
  width:100%;
  justify-content:center;
}
@media (max-width:620px) {
  .quote-only-section { padding:2rem 0 3rem; }
  .quote-only-card { padding:1.2rem; }
}


.quote-only-main {
  background:linear-gradient(180deg,#f7faf5 0%,#eef5eb 100%);
}
.quote-only-section {
  padding:clamp(3rem,6vw,5.5rem) 0;
}
.quote-only-container {
  display:flex;
  justify-content:center;
}
.quote-only-card {
  width:min(100%, 860px);
  padding:clamp(1.5rem,3.5vw,2.75rem);
  border:1px solid var(--line);
  border-radius:var(--radius-card);
  background:#fff;
  box-shadow:0 20px 52px rgba(31,39,35,.09);
}
.quote-only-heading {
  max-width:680px;
  margin:0 auto clamp(1.5rem,3vw,2.15rem);
  text-align:center;
}
.quote-only-heading h1 {
  margin-bottom:.7rem;
  color:var(--text);
  font-size:clamp(2rem,4.3vw,3.4rem);
  line-height:1.02;
}
.quote-only-heading > p:last-child {
  max-width:620px;
  margin:0 auto;
  color:var(--muted-strong);
}
.quote-only-heading .section-kicker {
  margin-inline:auto;
}
.quote-only-form {
  margin-top:0;
}
.quote-only-submit {
  display:flex;
  justify-content:center;
}
.quote-only-submit .button {
  min-width:min(100%, 260px);
}
@media (max-width:620px) {
  .quote-only-section { padding:2rem 0; }
  .quote-only-card { padding:1.25rem; }
  .quote-only-submit .button { width:100%; }
}

@media (min-width:821px) {
  .mega-menu-areas {
    width:min(calc(100vw - (var(--gutter) * 2)), 1440px) !important;
    max-width:1440px;
    grid-template-columns:360px minmax(0,1fr) !important;
    align-items:stretch;
    border:1px solid var(--line);
    border-radius:0 0 24px 24px;
    background:#fff;
    overflow:hidden;
  }
  .mega-area-intro-panel {
    min-width:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:1.75rem;
    padding:clamp(1.7rem,2.1vw,2.35rem);
    border-right:1px solid var(--line);
    background:
      radial-gradient(circle at 12% 8%,rgba(var(--accent-rgb),.20),transparent 38%),
      linear-gradient(145deg,#eef6e9 0%,#f7faf5 100%);
  }
  .mega-area-intro-panel .mega-eyebrow {
    margin:0 0 .8rem;
    color:#4f9827;
  }
  .mega-area-intro-panel h2 {
    width:100%;
    max-width:none;
    margin:0 0 .9rem;
    color:var(--text);
    font-family:var(--font-display);
    font-size:clamp(1.95rem,2.05vw,2.45rem);
    line-height:1.04;
    letter-spacing:-.035em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .mega-area-intro-panel p:not(.mega-eyebrow) {
    max-width:300px;
    margin:0;
    color:var(--muted);
    font-size:.9rem;
    line-height:1.58;
  }
  .mega-area-all {
    align-self:flex-start;
    min-height:48px;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    padding:.75rem 1rem;
    border:1px solid var(--line-strong);
    border-radius:var(--radius-button);
    background:#fff;
    color:var(--text) !important;
    font-weight:900;
  }
  .mega-area-all:hover,
  .mega-area-all:focus-visible {
    border-color:rgba(var(--accent-rgb),.65);
    background:#eff7e9;
    outline:none;
  }
  .mega-area-directory {
    min-width:0;
    display:grid;
    grid-template-rows:auto 1fr auto;
    gap:1rem;
    padding:1.4rem 1.5rem 1.2rem;
    background:#fff;
  }
  .mega-area-parent-row {
    padding-bottom:.72rem;
    border-bottom:1px solid rgba(var(--accent-rgb),.42);
  }
  .mega-area-parent-link {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    min-height:34px;
  }
  .mega-area-parent-link strong {
    color:#4f9827;
    font-family:var(--font-display);
    font-size:1.08rem;
    letter-spacing:.01em;
  }
  .mega-area-parent-link > span {
    color:var(--muted);
    font-size:.76rem;
    font-weight:850;
    white-space:nowrap;
  }
  .mega-area-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
    align-content:start;
  }
  .mega-area-group { min-width:0; }
  .mega-area-group h3 {
    margin:0 0 .45rem;
    padding-bottom:.45rem;
    border-bottom:1px solid rgba(var(--accent-rgb),.32);
    color:#4f9827;
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.11em;
    text-transform:uppercase;
  }
  .mega-area-list {
    display:grid;
    gap:.08rem;
  }
  .mega-area-link {
    min-width:0;
    min-height:34px !important;
    display:flex !important;
    align-items:center !important;
    padding:.34rem .28rem !important;
    border-radius:.45rem;
    color:var(--text) !important;
    font-size:.76rem !important;
    font-weight:800 !important;
    line-height:1.24;
    overflow-wrap:anywhere;
    transition:background .16s ease,color .16s ease,transform .16s ease;
  }
  .mega-area-link:hover,
  .mega-area-link:focus-visible {
    background:rgba(var(--accent-rgb),.11);
    color:#3f8420 !important;
    transform:translateX(2px);
    outline:none;
  }
  .mega-area-actionbar {
    display:grid;
    grid-template-columns:minmax(220px,.7fr) minmax(220px,.85fr) minmax(260px,1fr);
    align-items:center;
    gap:.75rem;
    padding:.72rem;
    border:1px solid rgba(var(--accent-rgb),.42);
    border-radius:var(--radius-card);
    background:#f4f8f1;
  }
  .mega-area-action-label {
    padding-inline:.35rem;
    color:var(--muted-strong);
    font-size:.7rem;
    font-weight:950;
    letter-spacing:.075em;
    line-height:1.25;
    text-transform:uppercase;
  }
  .mega-area-actionbar .button {
    min-height:48px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:var(--radius-button);
    font-size:.78rem;
    font-weight:900;
    white-space:nowrap;
  }
  .mega-area-phone { gap:.55rem; }
  .mega-area-phone svg { width:17px; height:17px; fill:currentColor; flex:0 0 auto; }
}
@media (max-width:1280px) and (min-width:821px) {
  .mega-menu-areas {
    grid-template-columns:280px minmax(0,1fr) !important;
    width:min(calc(100vw - 1.5rem),1240px) !important;
  }
  .mega-area-intro-panel { padding:1.35rem; }
  .mega-area-intro-panel h2 { font-size:1.8rem; }
  .mega-area-intro-panel p:not(.mega-eyebrow) { font-size:.8rem; }
  .mega-area-directory { padding:1.05rem; }
  .mega-area-grid { gap:.65rem; }
  .mega-area-link { font-size:.68rem !important; }
  .mega-area-actionbar { grid-template-columns:1fr 1fr; }
  .mega-area-action-label { grid-column:1 / -1; padding:0; }
}
@media (max-width:1040px) and (min-width:821px) {
  .mega-menu-areas { grid-template-columns:240px minmax(0,1fr) !important; }
  .mega-area-intro-panel h2 { font-size:1.45rem; }
  .mega-area-intro-panel p:not(.mega-eyebrow) { display:none; }
  .mega-area-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mega-area-parent-link > span { display:none; }
  .mega-area-actionbar .button { font-size:.72rem; }
}

@media (max-width:1040px) and (min-width:821px) {
  .mega-area-all {
    padding:.65rem .7rem;
    font-size:.72rem;
    white-space:nowrap;
  }
}
