/* Shared footer: one quiet, black extension of the home hero. */
@font-face{font-family:'Instrument Sans';src:url('../fonts/instrument-sans-latin.woff2') format('woff2');font-style:normal;font-weight:400 700;font-display:swap}
.lm-footer-in-view .floating-contact{visibility:hidden;pointer-events:none}
@media(max-width:380px){.service-body .floating-contact{bottom:58px}}
.lm-footer{--lf-ink:#111410;--lf-paper:#f7f5ef;--lf-green:#8bea4d;--lf-line:#d9ddd2;position:relative;isolation:isolate;display:block;clear:both;width:100%;max-width:none;margin:0;padding:0;border:0;background:var(--lf-paper);color:var(--lf-ink);font-family:"Instrument Sans",Arial,sans-serif;font-size:15px;line-height:1.5;text-align:left;letter-spacing:normal}
.lm-footer *,.lm-footer *::before,.lm-footer *::after{box-sizing:border-box}
.lm-footer a{color:inherit;text-decoration:none;box-shadow:none}
.lm-footer a:focus-visible,.lm-footer button:focus-visible{outline:3px solid var(--lf-green);outline-offset:5px;border-radius:5px}
.lm-footer .lm-footer-shell{width:min(1320px,calc(100% - 96px));max-width:1320px;margin-inline:auto}

/* The stage deliberately borrows the hero's near-black field, with one quiet green bubble. */
.lm-footer .lm-footer-stage{position:relative;isolation:isolate;overflow:hidden;margin:0;padding:92px 0 82px;background:#030405;color:#f5f6f1;border:0;scroll-margin-top:100px}
.lm-footer .lm-footer-milky-way{position:absolute;z-index:0;inset:0;display:block;background:linear-gradient(#030405dd,#030405dd),#030405 url("../images/generated/milky-way-hero-2026.webp") 72% center/cover no-repeat;filter:grayscale(.4) contrast(1.08);opacity:1;pointer-events:none}
.lm-footer .lm-footer-milky-way::before,.lm-footer .lm-footer-milky-way::after{position:absolute;display:block;width:156px;height:1px;background:linear-gradient(90deg,transparent,#f9fbf1d9 66%,transparent);box-shadow:0 0 8px #eef9df85;content:"";opacity:0;transform:rotate(-23deg) translate3d(0,0,0);transform-origin:left center;animation:lm-footer-shooting-star 16s ease-in-out infinite;will-change:transform,opacity}
.lm-footer .lm-footer-milky-way::before{top:25%;left:54%;animation-delay:2.4s}
.lm-footer .lm-footer-milky-way::after{top:60%;left:20%;width:118px;opacity:0;animation-delay:10.1s}
.lm-footer-stage::before{position:absolute;z-index:-1;right:-235px;top:-235px;width:650px;height:650px;border-radius:50%;background:var(--lf-green);box-shadow:0 0 0 1px #d6ffbb20;content:"";opacity:.11;pointer-events:none}
.lm-footer-stage::after{position:absolute;z-index:-1;right:-126px;top:-126px;width:420px;height:420px;border:1px solid #eaffd11f;border-radius:50%;box-shadow:0 0 0 58px #eaffd108,0 0 0 116px #eaffd104;content:"";pointer-events:none}
.lm-footer .lm-footer-stage-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);gap:70px;align-items:center}
.lm-footer .lm-footer-invitation{position:relative;z-index:1;min-width:0}
.lm-footer .lm-footer-brand{display:inline-block;width:min(244px,58vw);margin:0 0 26px;color:#fff}
.lm-footer .lm-footer-brand img{display:block;width:100%;height:auto}
.lm-footer .lm-footer-eyebrow{display:flex;align-items:center;gap:9px;margin:0 0 27px;font:600 10px/1.5 "Instrument Sans",Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c7cec2}
.lm-footer-eyebrow>span{flex:0 0 7px;width:7px;height:7px;background:var(--lf-green);border-radius:50%;box-shadow:0 0 0 4px #8bea4d20}
.lm-footer #lm-footer-title{max-width:760px;margin:0;padding:0;border:0;color:#f5f6f1;font:600 clamp(48px,5.5vw,82px)/1.02 "Instrument Sans",Arial,sans-serif;letter-spacing:-.067em;text-transform:none;text-wrap:balance}
.lm-footer #lm-footer-title em{font:inherit;color:var(--lf-green)}
.lm-footer .lm-footer-intro{max-width:430px;margin:25px 0 30px;color:#b7c0b0;font:400 15px/1.7 "Instrument Sans",Arial,sans-serif;letter-spacing:0}
.lm-footer .lm-footer-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.lm-footer .lm-footer-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;max-width:100%;min-height:57px;padding:17px 21px;background:var(--lf-green);border:1px solid var(--lf-green);border-radius:8px;color:#15200e;font:650 13px/1.4 "Instrument Sans",Arial,sans-serif;text-align:left;transition:background .2s ease,transform .2s ease}
.lm-footer .lm-footer-button>span{flex:none;font:400 22px/1 Arial,sans-serif}
.lm-footer .lm-footer-button:hover{background:#b4f37f;transform:translateY(-3px)}
.lm-footer .lm-footer-email{display:inline-block;padding-block:3px;color:#c2c9bd;font:400 13px/1.5 "Instrument Sans",Arial,sans-serif;text-underline-offset:5px}
.lm-footer .lm-footer-email:hover{color:#fff;text-decoration:underline}

/* A real grid replaces the old overlapping card collage: every destination is easy to scan and tap. */
.lm-footer .lm-footer-art{position:relative;width:100%;max-width:555px;margin:0 auto;pointer-events:auto}
.lm-footer .lm-footer-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch}
.lm-footer .lm-footer-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:170px;margin:0;padding:20px 48px 20px 20px;overflow:hidden;border:1px solid #ffffff22;border-radius:18px;background:#111510;color:#f5f6f1;box-shadow:0 18px 40px #00000028;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease,background .25s ease}
.lm-footer .lm-footer-card:hover{z-index:1;border-color:#8bea4d85;box-shadow:0 24px 45px #00000050;transform:translateY(-4px)}
.lm-footer .lm-footer-card-label{display:block;margin:0 0 auto;color:currentColor;font:650 8px/1.25 "Instrument Sans",Arial,sans-serif;letter-spacing:.12em;opacity:.62}
.lm-footer .lm-footer-card strong{display:block;margin-top:27px;color:inherit;font:650 clamp(22px,2vw,29px)/1.04 "Instrument Sans",Arial,sans-serif;letter-spacing:-.055em}
.lm-footer .lm-footer-card-copy{display:block;max-width:195px;margin-top:9px;color:inherit;font:400 11px/1.4 "Instrument Sans",Arial,sans-serif;opacity:.72}
.lm-footer .lm-footer-card-arrow{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:26px;height:26px;border:1px solid currentColor;border-radius:50%;color:inherit;font:400 17px/1 Arial,sans-serif;opacity:.72;transition:transform .25s ease,opacity .25s ease}
.lm-footer .lm-footer-card:hover .lm-footer-card-arrow{opacity:1;transform:translate(2px,-2px)}
.lm-footer .lm-footer-card--goal{grid-column:1/-1;min-height:143px;padding-right:56px;border-radius:24px;background:#eeeee7;color:#111410}
.lm-footer .lm-footer-card--goal strong{margin-top:18px}
.lm-footer .lm-footer-card--goal .lm-footer-card-copy{margin-top:5px}
.lm-footer .lm-footer-card--software{border-radius:24px 14px 14px 14px;background:#151d12}
.lm-footer .lm-footer-card--marketing{margin-top:10px;border-radius:14px 24px 14px 14px;background:#171c16;color:#f6f8f1}
.lm-footer .lm-footer-card--creative{margin-top:-4px;border-radius:14px 14px 14px 24px;background:#dddcd3;color:#111410}
.lm-footer .lm-footer-card--contact{margin-top:8px;border-color:var(--lf-green);border-radius:14px 14px 24px 14px;background:var(--lf-green);color:#14200c}
.lm-footer .lm-footer-card--contact strong{max-width:170px}
.lm-footer .lm-footer-card--contact .lm-footer-card-label{opacity:.65}

.lm-footer .lm-footer-directory{background:var(--lf-paper);padding:65px 0 25px}
.lm-footer .lm-footer-directory-grid{display:grid;grid-template-columns:minmax(220px,1.65fr) minmax(100px,.65fr) minmax(150px,.85fr) minmax(190px,1fr);gap:36px;margin:0 0 52px;align-items:start}
.lm-footer .lm-footer-name{display:inline-block;color:#242721;font:650 29px/1.1 "Instrument Sans",Arial,sans-serif;letter-spacing:-.065em}
.lm-footer-name>span{color:#527b30}
.lm-footer .lm-footer-about p{margin:17px 0 14px;color:#686e64;font:400 13px/1.8 "Instrument Sans",Arial,sans-serif}
.lm-footer .lm-footer-location{display:block;color:#72786b;font:400 10px/1.6 "Instrument Sans",Arial,sans-serif}
.lm-footer .lm-footer-links{display:flex;flex-direction:column;align-items:flex-start;min-width:0;gap:11px}
.lm-footer .lm-footer-links h3{margin:0 0 5px;padding:0;color:#32372e;font:650 11px/1.5 "Instrument Sans",Arial,sans-serif;letter-spacing:0;text-transform:none}
.lm-footer .lm-footer-links a,.lm-footer .lm-footer-links>span{display:inline-block;max-width:100%;padding-block:2px;color:#696f63;font:400 12px/1.6 "Instrument Sans",Arial,sans-serif;overflow-wrap:anywhere}
.lm-footer .lm-footer-links a:hover,.lm-footer .lm-footer-bottom a:hover{color:#274217;text-decoration:underline;text-underline-offset:4px}
.lm-footer .lm-footer-cookie{appearance:none;display:inline-block;margin:0;padding:5px 0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-underline-offset:4px}
.lm-footer .lm-footer-cookie:hover{color:#274217;text-decoration:underline}
.lm-footer .lm-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:25px;border-top:1px solid var(--lf-line);color:#71776a;font:400 10px/1.7 "Instrument Sans",Arial,sans-serif}
.lm-footer .lm-footer-bottom nav{display:flex;flex-wrap:wrap;gap:22px}
.lm-footer .lm-footer-bottom a{display:inline-block;padding-block:5px;color:inherit}

@keyframes lm-footer-shooting-star{0%,7%,100%{opacity:0;transform:rotate(-23deg) translate3d(0,0,0)}9%{opacity:.52}16%{opacity:0;transform:rotate(-23deg) translate3d(220px,90px,0)}}

@media(min-width:1600px){.lm-footer .lm-footer-stage{padding-block:108px}.lm-footer .lm-footer-stage-grid{gap:90px}.lm-footer .lm-footer-art{max-width:575px}.lm-footer .lm-footer-brand{width:266px}}
@media(max-width:1100px){.lm-footer .lm-footer-shell{width:calc(100% - 64px)}.lm-footer .lm-footer-stage-grid{grid-template-columns:minmax(0,1fr) minmax(390px,.92fr);gap:42px}.lm-footer .lm-footer-directory-grid{grid-template-columns:1.3fr .8fr 1fr;gap:34px}.lm-footer .lm-footer-contact{grid-column:1/-1;display:grid;grid-template-columns:1.3fr .8fr 1fr;align-items:start}.lm-footer .lm-footer-contact h3{grid-column:1/-1;margin-bottom:0}.lm-footer .lm-footer-contact>span{grid-column:3;grid-row:2}}
@media(max-width:820px){.lm-footer .lm-footer-shell{width:calc(100% - 48px)}.lm-footer .lm-footer-stage{padding:66px 0 56px}.lm-footer-stage::before{right:-300px;top:36%;width:550px;height:550px}.lm-footer-stage::after{right:-175px;top:45%;width:350px;height:350px}.lm-footer .lm-footer-stage-grid{grid-template-columns:1fr;gap:42px}.lm-footer .lm-footer-invitation{max-width:620px}.lm-footer .lm-footer-brand{width:min(236px,62vw);margin-bottom:24px}.lm-footer #lm-footer-title{font-size:clamp(46px,8vw,68px)}.lm-footer .lm-footer-intro{max-width:460px}.lm-footer .lm-footer-art{max-width:580px;margin-left:0}.lm-footer .lm-footer-directory{padding-top:43px}.lm-footer .lm-footer-directory-grid{grid-template-columns:1fr 1fr;gap:36px 24px;margin-bottom:35px}.lm-footer .lm-footer-about{grid-column:1/-1}.lm-footer .lm-footer-contact{display:flex;grid-column:1/-1;gap:8px}.lm-footer .lm-footer-contact h3{margin-bottom:5px}.lm-footer .lm-footer-bottom{align-items:flex-start;flex-direction:column;gap:9px}}
@media(max-width:520px){.lm-footer .lm-footer-shell{width:calc(100% - 36px)}.lm-footer .lm-footer-stage{padding-top:52px}.lm-footer .lm-footer-brand{width:min(216px,72vw);margin-bottom:22px}.lm-footer .lm-footer-eyebrow{font-size:8px;letter-spacing:.08em;gap:8px;margin-bottom:23px}.lm-footer #lm-footer-title{font-size:42px}.lm-footer .lm-footer-intro{margin-block:22px 25px;font-size:14px;line-height:1.65}.lm-footer .lm-footer-button{width:100%;gap:13px;padding:16px;font-size:12px}.lm-footer .lm-footer-cards{grid-template-columns:1fr;gap:10px}.lm-footer .lm-footer-card{min-height:145px;padding:18px 46px 18px 18px}.lm-footer .lm-footer-card--goal{grid-column:auto;min-height:135px}.lm-footer .lm-footer-card--marketing,.lm-footer .lm-footer-card--creative,.lm-footer .lm-footer-card--contact{margin-top:0}.lm-footer .lm-footer-card strong{margin-top:22px;font-size:26px}.lm-footer .lm-footer-card-copy{font-size:11px}.lm-footer .lm-footer-name{font-size:28px}.lm-footer .lm-footer-directory-grid{gap:32px 18px}}
@media(prefers-reduced-motion:no-preference){.lm-footer-stage.lm-footer-motion .lm-footer-card{opacity:0;transform:translateY(34px);transition:opacity .62s ease,transform .62s cubic-bezier(.2,.75,.2,1),border-color .25s ease,box-shadow .25s ease,background .25s ease}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card{opacity:1;transform:translateY(0)}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card:nth-child(1){transition-delay:.05s}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card:nth-child(2){transition-delay:.14s}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card:nth-child(3){transition-delay:.23s}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card:nth-child(4){transition-delay:.32s}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card:nth-child(5){transition-delay:.41s}.lm-footer-stage.lm-footer-motion.lm-footer-active .lm-footer-card:hover{transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.lm-footer *,.lm-footer *::before,.lm-footer *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Peach footer direction: warm, high-contrast and consistent with the public canvas. */
.lm-footer{--lf-paper:#f8e3d4;--lf-ink:#171719;--lf-green:#79aa42;--lf-line:#17171922;background:#f8e3d4;color:#171719}
.lm-footer .lm-footer-stage{background:#f5d8c7;color:#171719}
.lm-footer .lm-footer-milky-way{background:linear-gradient(90deg,#1717190a 1px,transparent 1px) 0 0/72px 72px,linear-gradient(#1717190a 1px,transparent 1px) 0 0/72px 72px,radial-gradient(circle at 88% 2%,#a5f25273 0 8%,transparent 34%),linear-gradient(125deg,#f2d4c2,#f8e5d8 56%,#efc8b5);filter:none;opacity:1}
.lm-footer .lm-footer-milky-way::before{display:none}
.lm-footer .lm-footer-milky-way::after{display:block;top:50%;right:auto;left:50%;width:min(58vw,780px);height:auto;aspect-ratio:1;background:url("../brand/lead-icon-on-light.svg") center/contain no-repeat;box-shadow:none;filter:none;opacity:.055;transform:translate(-50%,-50%) rotate(-5deg);animation:none}
.lm-footer-stage::before{background:conic-gradient(from 20deg,#a5f252,#6f62dc,#ff8b6a,#a5f252);opacity:.24}
.lm-footer-stage::after{border-color:#17171918;box-shadow:0 0 0 58px #ffffff22,0 0 0 116px #17171909}
.lm-footer .lm-footer-brand{border-color:#171719!important;background:#fff9f3!important}.lm-footer .lm-footer-brand img{border-color:#fff9f3!important}
.lm-footer .lm-footer-eyebrow{color:#5f5149}.lm-footer-eyebrow>span{background:#5f8d33;box-shadow:0 0 0 4px #5f8d3320}
.lm-footer #lm-footer-title,.lm-footer #lm-footer-title em{color:#171719!important}
.lm-footer .lm-footer-intro{color:#65564e}.lm-footer .lm-footer-button{border-color:#171719;background:#171719;color:#fff}.lm-footer .lm-footer-button:hover{border-color:#343033;background:#343033;color:#fff}.lm-footer .lm-footer-email{color:#564b45}.lm-footer .lm-footer-email:hover{color:#171719}
.lm-footer .lm-footer-card{border-color:#17171920;box-shadow:0 18px 42px #6a47382b}.lm-footer .lm-footer-card:hover{border-color:#17171965;box-shadow:0 24px 52px #6a47383d}.lm-footer .lm-footer-card--goal{background:#fffaf4;color:#171719}.lm-footer .lm-footer-card--software{background:#171719;color:#fff}.lm-footer .lm-footer-card--marketing{background:#a5f252;color:#171719}.lm-footer .lm-footer-card--creative{background:#ffece1;color:#171719}.lm-footer .lm-footer-card--contact{border-color:#171719;background:#171719;color:#fff}
.lm-footer .lm-footer-directory{border-top:1px solid #17171916;background:#f8e3d4}.lm-footer .lm-footer-directory-icon{border-color:#171719!important;background:#fff9f3!important}.lm-footer .lm-footer-directory-icon img{border-color:#fff9f3!important}.lm-footer .lm-footer-name,.lm-footer .lm-footer-links h3{color:#171719}.lm-footer .lm-footer-about p,.lm-footer .lm-footer-location,.lm-footer .lm-footer-links a,.lm-footer .lm-footer-links>span,.lm-footer .lm-footer-bottom{color:#5e524b}.lm-footer .lm-footer-links a:hover,.lm-footer .lm-footer-bottom a:hover,.lm-footer .lm-footer-cookie:hover{color:#171719}

/* Footer icon treatment; public header branding is owned by public-navigation.css. */
.lm-footer .lm-footer-card--marketing,.lm-footer .lm-footer-card--creative,.lm-footer .lm-footer-card--contact {margin-top:0;}
@media(prefers-reduced-motion:no-preference) {
 .lm-footer-stage.lm-footer-motion .lm-footer-card:nth-child(n) {
  opacity:var(--lf-card-progress,1);transform:translate3d(0,calc((1 - var(--lf-card-progress,1)) * 100px),0);
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease;transition-delay:0s;
 }
 .lm-footer-stage.lm-footer-motion .lm-footer-card:nth-child(n):focus-within {opacity:1;transform:none;}
}

.lm-footer .lm-footer-directory-icon {display:block;width:64px;height:64px;border:2px solid #fff;border-radius:50%;background:#030405;overflow:hidden;}
.lm-footer .lm-footer-directory-icon img {display:block;width:100%;height:100%;border:3px solid #030405;border-radius:50%;object-fit:cover;box-sizing:border-box;}

/* Footer identity: use the complete wordmark; the oversized faded mark belongs to the background. */
body .lm-footer .lm-footer-brand{display:block;width:min(270px,68vw)!important;height:auto!important;margin-bottom:30px;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
body .lm-footer .lm-footer-brand img{display:block;width:100%!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain!important}
body .lm-footer .lm-footer-directory-icon{display:block;width:min(220px,100%)!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important}
body .lm-footer .lm-footer-directory-icon img{display:block;width:100%!important;height:auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;object-fit:contain!important}
@media(max-width:820px){.lm-footer .lm-footer-milky-way::after{right:auto;left:50%;width:105vw;opacity:.045;transform:translate(-50%,-50%) rotate(-5deg)}body .lm-footer .lm-footer-brand{width:min(245px,68vw)!important}body .lm-footer .lm-footer-directory-icon{width:min(205px,72vw)!important}}

/* The pre-footer statement carries the emphasis; the oversized mark stays centred behind it. */
.lm-footer #lm-footer-title{font-weight:760}

/* Keep the shared peach footer copy readable on every public page. */
body .lm-footer .lm-footer-eyebrow{color:#5f5149!important}
body .lm-footer .lm-footer-intro{color:#65564e!important}
