/* BUILD 1.2.0 — 2026-11-09 */
/* =========================================================
   Luxury E-Marketing widgets (prefix: lem)
   Brand lives in :root tokens (synced to Elementor Global Colors).
   Component selectors double their first class so they beat theme
   and Elementor-kit rules without !important.
   ========================================================= */
:root{
  --lem-green-950:#08190F;
  --lem-green-900:#0E2A1F;
  --lem-green-600:#2F6B50;
  --lem-mint:#EEF4F0;
  --lem-line:#D9E5DE;
  --lem-orange:#C2550F;
  --lem-orange-700:#9A420A;
  --lem-orange-300:#F08A48;
  --lem-ink:#13231B;
  --lem-muted:#5B6E64;
  --lem-white:#FFFFFF;
  --lem-cream:#F3EEE6;
  --lem-success:#10B981;
  --lem-hero-c1:#0A2119;
  --lem-hero-c2:#16402F;
  --lem-hero-c3:#2A6A50;
  --lem-hero-c4:#AD4A0C;
  --lem-font-display:"Fraunces", Georgia, "Times New Roman", serif;
  --lem-font-body:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lem-font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --lem-font-ar:"Cairo", Tahoma, sans-serif;
  --lem-ease:cubic-bezier(.16,1,.3,1);
}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ---------- section shell + horizontal-scroll defense ---------- */
[data-lem]{font-family:var(--lem-font-body);color:var(--lem-ink);line-height:1.5;-webkit-font-smoothing:antialiased;text-align:start}
[data-lem]:not(.lem-header){overflow-x:clip;max-width:100%}
[data-lem] *,[data-lem] *::before,[data-lem] *::after{box-sizing:border-box;min-width:0}
[data-lem] :where(h1,h2,h3,p,ul,dl,dd,blockquote,figure){margin:0;padding:0}
[data-lem] :where(h1,h2,h3){font-family:inherit;color:inherit;letter-spacing:normal;text-transform:none}
[data-lem] :where(ul){list-style:none}
[data-lem] :where(cite){font-style:normal}
[data-lem] :where(svg){display:block;flex:none}
[data-lem] :where(img){max-width:100%;height:auto}
[data-lem] :where(p,span,a,h1,h2,h3,b,cite,blockquote){overflow-wrap:break-word}
[data-lem] :where(a,button):focus-visible{outline:2px solid var(--lem-orange);outline-offset:3px;border-radius:4px}
.elementor-widget-lem-header,.elementor-widget-lem-hero,.elementor-widget-lem-about,.elementor-widget-lem-services,.elementor-widget-lem-contact,.elementor-widget-lem-footer{width:100%}

/* theme-proof resets for our buttons (Hello Elementor styles every [type=button]) */
.lem-copy.lem-copy,.lem-header__burger.lem-header__burger,.lem-header__subtoggle.lem-header__subtoggle,.lem-footer__toggle.lem-footer__toggle{border:0;border-radius:0;background:transparent;box-shadow:none;padding:0;margin:0;font:inherit;color:inherit;text-transform:none;letter-spacing:inherit;line-height:inherit;text-decoration:none;cursor:pointer}
.lem-copy.lem-copy:hover,.lem-copy.lem-copy:focus,.lem-header__burger.lem-header__burger:hover,.lem-header__burger.lem-header__burger:focus,.lem-header__subtoggle.lem-header__subtoggle:hover,.lem-header__subtoggle.lem-header__subtoggle:focus,.lem-footer__toggle.lem-footer__toggle:hover,.lem-footer__toggle.lem-footer__toggle:focus{border:0;background:transparent;box-shadow:none;color:inherit;text-decoration:none}

.lem-kicker.lem-kicker{display:block;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lem-orange)}
.lem-btn.lem-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:999px;font-weight:600;font-size:15px;line-height:1;text-decoration:none;transition:background .2s,color .2s,border-color .2s}
.lem-btn--light.lem-btn--light,.lem-btn--light.lem-btn--light:visited{background:var(--lem-white);color:var(--lem-green-900);box-shadow:0 10px 30px -10px rgba(0,0,0,.45)}
.lem-btn--light.lem-btn--light:hover,.lem-btn--light.lem-btn--light:focus{background:var(--lem-orange);color:var(--lem-white)}
.lem-btn--ghost.lem-btn--ghost,.lem-btn--ghost.lem-btn--ghost:visited{border:1px solid rgba(255,255,255,.55);color:var(--lem-white)}
.lem-btn--ghost.lem-btn--ghost:hover,.lem-btn--ghost.lem-btn--ghost:focus{background:rgba(255,255,255,.1);border-color:var(--lem-white);color:var(--lem-white)}

/* ================= HEADER ================= */
.lem-header.lem-header{position:fixed;inset:0 0 auto 0;z-index:999;color:var(--lem-white);font-family:var(--lem-font-body);transition:background .3s,box-shadow .3s}
.admin-bar .lem-header{top:32px}
@media (max-width:782px){.admin-bar .lem-header{top:46px}}
.lem-header.lem-header.is-scrolled,.lem-header.lem-header.is-solid,.lem-header.lem-header.is-open{background:rgba(8,25,15,.86);background:color-mix(in srgb,var(--lem-green-950) 86%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(255,255,255,.08)}
.lem-header.lem-header.is-open{background:var(--lem-green-950)}
.lem-header__inner.lem-header__inner{max-width:1200px;margin:0 auto;padding:16px 24px;display:flex;align-items:center;gap:24px}
.lem-header__brand.lem-header__brand,.lem-header__brand.lem-header__brand:hover,.lem-header__brand.lem-header__brand:visited{display:flex;align-items:center;gap:12px;color:var(--lem-white);text-decoration:none}
.lem-header__logo.lem-header__logo{display:block;height:40px;width:auto}
.lem-header__mark.lem-header__mark{width:40px;height:40px;border-radius:10px;background:var(--lem-orange);display:grid;place-items:center;font-weight:800;font-size:15px;letter-spacing:.02em;color:var(--lem-white)}
.lem-header__name.lem-header__name{font-weight:700;font-size:16px;line-height:1.2;white-space:nowrap}
.lem-header__name.lem-header__name small{display:block;font-weight:500;font-size:11px;opacity:.7;letter-spacing:.04em}
.lem-header__nav.lem-header__nav{margin-inline-start:auto}
.lem-header__nav.lem-header__nav>ul{display:flex;align-items:center;gap:28px;margin:0;padding:0;list-style:none}
.lem-header__item.lem-header__item{position:relative;list-style:none;margin:0}
.lem-header__item.lem-header__item>a,.lem-header__item.lem-header__item>a:visited,.lem-header__subtoggle.lem-header__subtoggle{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:500;color:var(--lem-white);opacity:.8;text-decoration:none;transition:opacity .2s,color .2s}
.lem-header__item.lem-header__item>a:hover,.lem-header__item.lem-header__item>a:focus,.lem-header__subtoggle.lem-header__subtoggle:hover{opacity:1;color:var(--lem-orange-300)}
.lem-header__sub.lem-header__sub{position:absolute;top:calc(100% + 12px);inset-inline-start:-16px;min-width:200px;padding:8px;margin:0;list-style:none;border-radius:12px;background:var(--lem-green-950);box-shadow:0 20px 40px -12px rgba(0,0,0,.5);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s,transform .2s,visibility .2s}
.lem-header__item--has-sub.lem-header__item--has-sub:hover>.lem-header__sub,.lem-header__item--has-sub.lem-header__item--has-sub:focus-within>.lem-header__sub{opacity:1;visibility:visible;transform:none}
.lem-header__sub.lem-header__sub a,.lem-header__sub.lem-header__sub a:visited{display:block;padding:10px 12px;border-radius:8px;font-size:14px;color:var(--lem-white);text-decoration:none}
.lem-header__sub.lem-header__sub a:hover{background:rgba(255,255,255,.08);color:var(--lem-orange-300)}
.lem-header__cta.lem-header__cta,.lem-header__cta.lem-header__cta:visited{padding:10px 18px;border-radius:999px;border:1px solid rgba(255,255,255,.4);font-size:14px;font-weight:600;color:var(--lem-white);text-decoration:none;white-space:nowrap;transition:background .2s,border-color .2s}
.lem-header__cta.lem-header__cta:hover,.lem-header__cta.lem-header__cta:focus{background:var(--lem-orange);border-color:var(--lem-orange);color:var(--lem-white)}
.lem-header__burger.lem-header__burger{display:none;width:44px;height:44px;border-radius:10px;align-items:center;justify-content:center;color:var(--lem-white)}
.lem-header__burger.lem-header__burger:hover{background:rgba(255,255,255,.08)}
.lem-header__burger-close.lem-header__burger-close{display:none}
.lem-header.lem-header.is-open .lem-header__burger-open{display:none}
.lem-header.lem-header.is-open .lem-header__burger-close{display:inline-flex}
.lem-header__burger-open.lem-header__burger-open,.lem-header__burger-close.lem-header__burger-close{align-items:center;justify-content:center}
.lem-header__burger-open.lem-header__burger-open{display:inline-flex}
.lem-header__mobile.lem-header__mobile{display:none}
@media (max-width:860px){
  .lem-header__nav.lem-header__nav,.lem-header__cta.lem-header__cta{display:none}
  .lem-header__burger.lem-header__burger{display:inline-flex;margin-inline-start:auto}
  .lem-header.lem-header.is-open .lem-header__mobile{display:block;padding:8px 24px 24px;max-height:calc(100vh - 72px);overflow-y:auto}
  .lem-header__mobile.lem-header__mobile>ul{margin:0;padding:0;list-style:none}
  .lem-header__mobile.lem-header__mobile .lem-header__item{border-top:1px solid rgba(255,255,255,.1)}
  .lem-header__mobile.lem-header__mobile .lem-header__item>a,.lem-header__mobile.lem-header__mobile .lem-header__subtoggle{display:flex;width:100%;justify-content:space-between;padding:14px 0;font-size:16px;opacity:1}
  .lem-header__mobile.lem-header__mobile .lem-header__sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:transparent;padding:0 0 8px 12px;display:none;min-width:0}
  .lem-header__mobile.lem-header__mobile .lem-header__item.is-open>.lem-header__sub{display:block}
  .lem-header__mobile.lem-header__mobile .lem-header__item.is-open>.lem-header__subtoggle svg{transform:rotate(180deg)}
  .lem-header__mcta.lem-header__mcta,.lem-header__mcta.lem-header__mcta:visited{display:flex;align-items:center;justify-content:center;min-height:48px;margin-top:16px;border-radius:999px;background:var(--lem-orange);color:var(--lem-white);font-weight:600;text-decoration:none}
  .lem-header__mcta.lem-header__mcta:hover{background:var(--lem-orange-700);color:var(--lem-white)}
}
@media (max-width:560px){.lem-header__inner.lem-header__inner{padding:14px 16px;gap:12px}.lem-header__name.lem-header__name{font-size:14px}.lem-header__mark.lem-header__mark{width:36px;height:36px;font-size:13px}.lem-header.lem-header.is-open .lem-header__mobile{padding:8px 16px 20px}}
@media (max-width:380px){.lem-header__name.lem-header__name small{display:none}}


/* ================= HERO (from Hero Geometric) ================= */
.lem-hero.lem-hero{position:relative;width:100%;min-height:100vh;min-height:100svh;display:flex;flex-direction:column;align-items:center;overflow:hidden;background:var(--lem-green-900);color:var(--lem-white);container-type:inline-size}
.lem-hero__bg.lem-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.lem-hero__canvas.lem-hero__canvas{width:100%;height:100%;display:block}
.lem-hero__bg.lem-hero__bg::after{content:"";position:absolute;inset:0;background:radial-gradient(60% 55% at 50% 48%,rgba(8,25,15,.55),rgba(8,25,15,0) 75%)}
.lem-hero__content.lem-hero__content{position:relative;z-index:10;width:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:112px 0 32px}
.lem-hero__wrap.lem-hero__wrap{width:100%;max-width:1200px;padding:0 24px;display:flex;flex-direction:column;align-items:center;text-align:center}
.lem-hero__eyebrow.lem-hero__eyebrow{display:inline-block;padding:7px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);font-size:13px;font-weight:500;margin-bottom:28px}
.lem-hero__titles.lem-hero__titles{display:flex;flex-direction:column;align-items:center;gap:8px;margin-bottom:20px}
.lem-hero__line.lem-hero__line{overflow:hidden;padding:0 .08em .16em;margin-bottom:-.1em}
.lem-hero__t1.lem-hero__t1,.lem-hero__t2.lem-hero__t2{font-size:12cqi;line-height:.9;letter-spacing:-.05em;transform:translateY(100%);opacity:0;animation:lem-rise 1s var(--lem-ease) var(--d,0s) forwards}
.lem-hero__t1.lem-hero__t1{font-family:var(--lem-font-display);font-style:italic;font-weight:300;color:var(--lem-cream)}
.lem-hero__t2.lem-hero__t2{font-weight:800;color:var(--lem-white)}
.lem-hero__ar.lem-hero__ar{font-family:var(--lem-font-ar);font-weight:700;font-size:clamp(20px,3.2cqi,30px);color:var(--lem-orange-300);margin-bottom:22px}
.lem-hero__desc.lem-hero__desc{max-width:520px;font-size:18px;line-height:1.65;color:rgba(255,255,255,.82);margin-bottom:32px}
.lem-hero__desc.lem-hero__desc strong{color:var(--lem-white)}
.lem-hero__actions.lem-hero__actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.lem-hero__in.lem-hero__in{opacity:0;transform:translateY(20px);animation:lem-up .8s ease-out var(--d,0s) forwards}
@keyframes lem-rise{to{transform:translateY(0);opacity:1}}
@keyframes lem-up{to{transform:translateY(0);opacity:1}}
@media (min-width:768px){
  .lem-hero__content.lem-hero__content{padding:128px 0 48px}
  .lem-hero__titles.lem-hero__titles{gap:16px;margin-bottom:28px}
  .lem-hero__t1.lem-hero__t1,.lem-hero__t2.lem-hero__t2{font-size:8cqi}
  .lem-hero__desc.lem-hero__desc{font-size:1.25rem}
}
@media (min-width:1024px){.lem-hero__t1.lem-hero__t1,.lem-hero__t2.lem-hero__t2{font-size:6.6cqi}}
@media (max-width:560px){.lem-hero__actions.lem-hero__actions .lem-btn{flex:1 1 100%}}

/* ================= ABOUT (from Feature Overview Bento) ================= */
.lem-about.lem-about{background:var(--lem-white);padding:80px 0}
.lem-about__wrap.lem-about__wrap{max-width:1152px;margin:0 auto;padding:0 24px}
.lem-about__head.lem-about__head{max-width:672px;display:flex;flex-direction:column;gap:20px}
.lem-about__title.lem-about__title{font-family:var(--lem-font-display);font-weight:500;font-size:36px;line-height:1.04;letter-spacing:-.025em;color:var(--lem-green-900)}
.lem-about__lede.lem-about__lede{font-size:16px;line-height:1.65;color:var(--lem-muted)}
.lem-bento.lem-bento{margin-top:56px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;overflow:hidden;border-radius:12px;border:1px solid var(--lem-line);background:var(--lem-line)}
.lem-bento__cell.lem-bento__cell{grid-column:span 6;background:var(--lem-white);padding:24px;display:flex;flex-direction:column;gap:6px;min-height:100%}
.lem-bento__label.lem-bento__label{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--lem-muted)}
.lem-bento__quote.lem-bento__quote{background:var(--lem-green-900);color:var(--lem-white);gap:24px}
.lem-bento__quote.lem-bento__quote .lem-bento__label{color:var(--lem-orange-300)}
.lem-bento__blockquote.lem-bento__blockquote{flex:1;font-family:var(--lem-font-display);font-size:24px;line-height:1.3;letter-spacing:-.025em}
.lem-bento__who.lem-bento__who{margin-top:auto;display:flex;align-items:center;gap:12px}
.lem-bento__avatar.lem-bento__avatar{width:40px;height:40px;flex:none;border-radius:50%;display:grid;place-items:center;background:var(--lem-orange);font-family:var(--lem-font-mono);font-size:12px;font-weight:500;color:var(--lem-white)}
.lem-bento__whoText.lem-bento__whoText{display:flex;flex-direction:column;min-width:0}
.lem-bento__whoText.lem-bento__whoText cite{font-style:normal;font-size:14px;font-weight:500}
.lem-bento__whoText.lem-bento__whoText span{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.6)}
.lem-bento__metric.lem-bento__metric{grid-column:span 3}
.lem-bento__value.lem-bento__value{font-family:var(--lem-font-mono);font-size:36px;font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums;color:var(--lem-green-900);line-height:1.1}
.lem-bento__caption.lem-bento__caption{margin-top:18px;font-size:14px;line-height:1.5;color:var(--lem-muted)}
.lem-bento__workHead.lem-bento__workHead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.lem-bento__workHead.lem-bento__workHead>div{display:flex;flex-direction:column;gap:6px}
.lem-bento__workTitle.lem-bento__workTitle{font-size:18px;font-weight:600;color:var(--lem-green-900);line-height:1}
.lem-bento__btn.lem-bento__btn,.lem-bento__btn.lem-bento__btn:visited{color:var(--lem-ink);text-decoration:none}
.lem-bento__btn.lem-bento__btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:6px;border:1px solid var(--lem-line);font-size:14px;font-weight:500;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.lem-bento__btn.lem-bento__btn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lem-bento__btn.lem-bento__btn:hover{background:var(--lem-orange);border-color:var(--lem-orange);color:var(--lem-white)}
.lem-bento__text.lem-bento__text{max-width:448px;font-size:14px;line-height:1.6;color:var(--lem-muted)}
.lem-bento__list.lem-bento__list ul{display:flex;flex-direction:column;gap:16px;margin-top:18px}
.lem-bento__list.lem-bento__list li{display:flex;flex-direction:column;gap:4px}
.lem-bento__list.lem-bento__list b{font-size:14px;font-weight:500;color:var(--lem-green-900)}
.lem-bento__list.lem-bento__list li span{font-size:14px;line-height:1.5;color:var(--lem-muted)}
@media (min-width:640px){
  .lem-about.lem-about{padding:112px 0}
  .lem-about__title.lem-about__title{font-size:48px}
  .lem-about__lede.lem-about__lede{font-size:18px}
  .lem-bento__blockquote.lem-bento__blockquote{font-size:30px}
  .lem-bento__value.lem-bento__value{font-size:48px}
}
@media (min-width:768px){.lem-about__wrap.lem-about__wrap{padding:0 40px}}
@media (min-width:1024px){
  .lem-bento__quote.lem-bento__quote{grid-column:span 4;grid-row:span 2}
  .lem-bento__metric.lem-bento__metric{grid-column:span 2}
  .lem-bento__work.lem-bento__work{grid-column:span 4}
  .lem-bento__list.lem-bento__list{grid-column:span 2}
}
@media (max-width:420px){.lem-bento__metric.lem-bento__metric{grid-column:span 6}.lem-bento__workHead.lem-bento__workHead{flex-direction:column}}

/* ================= SERVICES — card grid (original, matches site lattice) ================= */
.lem-services.lem-services{position:relative;background:var(--lem-green-900);color:var(--lem-white);padding:96px 0;overflow:hidden}
.lem-services.lem-services::before{content:"";position:absolute;width:640px;height:640px;inset-inline-end:-220px;top:-240px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--lem-orange) 30%,transparent),transparent 70%);pointer-events:none}
.lem-services.lem-services::after{content:"";position:absolute;width:560px;height:560px;inset-inline-start:-200px;bottom:-260px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--lem-green-600) 55%,transparent),transparent 70%);pointer-events:none}
.lem-services__wrap.lem-services__wrap{position:relative;z-index:1;max-width:1152px;margin:0 auto;padding:0 24px}
.lem-services__head.lem-services__head{display:flex;flex-direction:column;gap:20px;margin-bottom:48px}
.lem-services__kicker.lem-services__kicker{display:block;margin-bottom:14px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lem-orange-300)}
.lem-services__title.lem-services__title{font-family:var(--lem-font-display);font-weight:500;font-size:36px;line-height:1.04;letter-spacing:-.025em;color:var(--lem-white)}
.lem-services__sub.lem-services__sub{max-width:420px;font-size:16px;line-height:1.65;color:rgba(255,255,255,.72)}
.lem-services__grid.lem-services__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.lem-scard.lem-scard,.lem-scard.lem-scard:hover,.lem-scard.lem-scard:visited{color:inherit;text-decoration:none}
.lem-scard.lem-scard{--mx:50%;--my:0%;position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;min-height:100%;padding:28px 24px 32px;border-radius:16px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.035);transition:transform .35s var(--lem-ease),border-color .35s,background .35s}
.lem-scard.lem-scard::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(360px circle at var(--mx) var(--my),color-mix(in srgb,var(--lem-orange) 22%,transparent),transparent 60%)}
.lem-scard.lem-scard:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--lem-orange) 55%,transparent);background:rgba(255,255,255,.06)}
.lem-scard.lem-scard:hover::before{opacity:1}
.lem-scard__top.lem-scard__top{position:relative;display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.lem-scard__icon.lem-scard__icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--lem-orange) 16%,transparent);color:var(--lem-orange-300);transition:background .35s,color .35s,transform .35s var(--lem-ease)}
.lem-scard__icon.lem-scard__icon svg,.lem-scard__icon.lem-scard__icon i{width:24px;height:24px;font-size:24px;color:inherit}
.lem-scard__icon.lem-scard__icon svg{fill:none;stroke:currentColor}
.lem-scard.lem-scard:hover .lem-scard__icon{background:var(--lem-orange);color:var(--lem-white);transform:rotate(-6deg)}
.lem-scard__num.lem-scard__num{font-family:var(--lem-font-mono);font-size:13px;color:rgba(255,255,255,.4);transition:color .35s}
.lem-scard.lem-scard:hover .lem-scard__num{color:var(--lem-orange-300)}
.lem-scard__title.lem-scard__title{position:relative;font-size:21px;font-weight:600;line-height:1.25;letter-spacing:-.015em;color:var(--lem-white)}
.lem-scard__tag.lem-scard__tag{position:relative;align-self:flex-start;padding:5px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;color:var(--lem-orange-300)}
.lem-scard__text.lem-scard__text{position:relative;margin-top:4px;font-size:15px;line-height:1.65;color:rgba(255,255,255,.72)}
.lem-scard__bar.lem-scard__bar{position:absolute;inset-inline-start:0;bottom:0;height:3px;width:100%;background:var(--lem-orange);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--lem-ease)}
[dir="rtl"] .lem-scard__bar{transform-origin:right}
.lem-scard.lem-scard:hover .lem-scard__bar{transform:scaleX(1)}
.lem-services__foot.lem-services__foot{margin-top:40px;padding-top:24px;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:10px;font-size:13px;color:rgba(255,255,255,.6)}
.lem-services__flow.lem-services__flow{font-weight:600;color:var(--lem-white)}
@media (min-width:640px){
  .lem-services__title.lem-services__title{font-size:48px}
  .lem-services__grid.lem-services__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .lem-services__foot.lem-services__foot{flex-direction:row;justify-content:space-between;align-items:center}
}
@media (min-width:768px){.lem-services.lem-services{padding:128px 0}.lem-services__wrap.lem-services__wrap{padding:0 40px}}
@media (min-width:1024px){
  .lem-services__head.lem-services__head{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:48px}
  .lem-services__grid.lem-services__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (hover:none){.lem-scard.lem-scard::before{display:none}}
@media (prefers-reduced-motion:reduce){.lem-scard.lem-scard,.lem-scard__icon.lem-scard__icon,.lem-scard__bar.lem-scard__bar{transition:none}.lem-scard.lem-scard:hover{transform:none}}

/* ================= CONTACT (from Contact Page, bento lattice style) ================= */
.lem-contact.lem-contact{background:var(--lem-white);padding:96px 0}
.lem-contact__wrap.lem-contact__wrap{max-width:1152px;margin:0 auto;padding:0 24px}
.lem-contact__head.lem-contact__head{display:flex;flex-direction:column;gap:14px;max-width:640px}
.lem-contact__title.lem-contact__title{font-family:var(--lem-font-display);font-weight:500;font-size:36px;line-height:1.04;letter-spacing:-.025em;color:var(--lem-green-900)}
.lem-contact__lede.lem-contact__lede{font-size:16px;line-height:1.65;color:var(--lem-muted)}
.lem-contact__grid.lem-contact__grid{margin-top:48px;display:grid;grid-template-columns:1fr;gap:1px;overflow:hidden;border-radius:12px;border:1px solid var(--lem-line);background:var(--lem-line)}
.lem-cbox.lem-cbox{display:flex;flex-direction:column;background:var(--lem-white)}
.lem-cbox__top.lem-cbox__top{display:flex;align-items:center;gap:10px;padding:16px 24px;background:var(--lem-mint)}
.lem-cbox__top.lem-cbox__top svg{width:18px;height:18px;fill:none;stroke:var(--lem-orange);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.lem-cbox__top.lem-cbox__top h3{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--lem-green-900)}
.lem-cbox__body.lem-cbox__body{flex:1;display:flex;align-items:flex-start;gap:8px;padding:32px 24px}
.lem-cbox__val.lem-cbox__val{text-decoration:none;font-size:17px;font-weight:600;letter-spacing:-.01em;color:var(--lem-green-900);min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
a.lem-cbox__val:hover{color:var(--lem-orange)}
.lem-cbox__val--addr.lem-cbox__val--addr{font-size:16px;font-weight:500;line-height:1.55}
.lem-cbox__foot.lem-cbox__foot{border-top:1px solid var(--lem-line);padding:14px 24px}
.lem-cbox__foot.lem-cbox__foot p{font-size:14px;color:var(--lem-muted)}
.lem-copy.lem-copy{position:relative;flex:none;width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--lem-muted);transition:background .2s,color .2s}
.lem-copy.lem-copy:hover{background:var(--lem-mint);color:var(--lem-green-900)}
.lem-copy.lem-copy svg{width:14px;height:14px}
.lem-copy__a.lem-copy__a,.lem-copy__b.lem-copy__b{grid-area:1/1;display:grid;place-items:center;transition:transform .2s,opacity .2s}
.lem-copy__b.lem-copy__b{color:var(--lem-success);transform:scale(0);opacity:0}
.lem-copy.lem-copy.is-copied .lem-copy__a{transform:scale(0);opacity:0}
.lem-copy.lem-copy.is-copied .lem-copy__b{transform:scale(1);opacity:1}
.lem-contact__online.lem-contact__online{position:relative;overflow:hidden;background:var(--lem-green-900);color:var(--lem-white);padding:36px 24px;display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.lem-contact__dots.lem-contact__dots{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(255,255,255,.16) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(ellipse at 85% 50%,#000 20%,transparent 70%);mask-image:radial-gradient(ellipse at 85% 50%,#000 20%,transparent 70%)}
.lem-contact__onlineTitle.lem-contact__onlineTitle{position:relative;font-family:var(--lem-font-display);font-weight:500;font-size:28px;letter-spacing:-.02em;line-height:1.1}
.lem-contact__pills.lem-contact__pills{position:relative;display:flex;flex-wrap:wrap;gap:12px}
.lem-contact__pills.lem-contact__pills a{color:var(--lem-white);text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid rgba(255,255,255,.3);font-size:14px;font-weight:600;transition:background .2s,border-color .2s}
.lem-contact__pills.lem-contact__pills a:hover{color:var(--lem-white);background:var(--lem-orange);border-color:var(--lem-orange)}
.lem-contact__pills.lem-contact__pills svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@media (min-width:640px){.lem-contact.lem-contact{padding:112px 0}.lem-contact__title.lem-contact__title{font-size:48px}.lem-contact__lede.lem-contact__lede{font-size:18px}}
@media (min-width:768px){
  .lem-contact__wrap.lem-contact__wrap{padding:0 40px}
  .lem-contact__grid.lem-contact__grid{grid-template-columns:repeat(3,1fr)}
  .lem-contact__online.lem-contact__online{grid-column:span 3;flex-direction:row;align-items:center;justify-content:space-between;padding:32px}
}

/* ================= FOOTER (from Footer with Suite) ================= */
.lem-footer.lem-footer{position:relative;width:100%;overflow:hidden;background:var(--lem-green-950);color:var(--lem-white);user-select:none;font-family:var(--lem-font-body)}
.lem-footer.lem-footer *{box-sizing:border-box}
.lem-footer.lem-footer p{margin:0}
.lem-footer.lem-footer a{color:inherit;text-decoration:none}
.lem-footer__grid.lem-footer__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;padding:48px 32px 16px}
.lem-footer__col.lem-footer__col{display:flex;flex-direction:column;align-items:flex-start}
.lem-footer__col.lem-footer__col a{padding:3px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase;transition:color .2s}
.lem-footer__col.lem-footer__col a:hover{color:var(--lem-orange-300)}
.lem-footer__col.lem-footer__col p{font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.625}
.lem-footer__muted.lem-footer__muted{color:rgba(242,245,243,.5)}
.lem-footer__mail.lem-footer__mail{word-break:break-all}
.lem-footer__gap.lem-footer__gap{display:block;height:20px}
.lem-footer__gap--s.lem-footer__gap--s{height:16px}
.lem-footer__brand.lem-footer__brand{margin:0;text-align:center;font-weight:800;letter-spacing:-.045em;white-space:nowrap;line-height:1.05;font-size:clamp(2.4rem,9.4vw,9.5rem);color:var(--lem-white);padding:8px 0 4px}
.lem-footer__brand.lem-footer__brand{background:linear-gradient(180deg,var(--lem-white) 30%,var(--lem-orange-300));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.lem-footer__bar.lem-footer__bar{display:flex;align-items:center;justify-content:space-between;padding:12px 32px;margin-top:4px;border-top:1px solid rgba(255,255,255,.12)}
.lem-footer__bar.lem-footer__bar p{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(242,245,243,.5)}
@media (min-width:768px){.lem-footer__grid.lem-footer__grid{padding:48px 48px 16px}.lem-footer__bar.lem-footer__bar{padding:12px 48px}}
@media (max-width:480px){.lem-footer__grid.lem-footer__grid{grid-template-columns:1fr}}

/* ---------- reduced motion ---------- */

/* ---------- footer extras ---------- */
.lem-footer__group.lem-footer__group{display:flex;flex-direction:column;align-items:flex-start}
.lem-footer__toggle.lem-footer__toggle{display:inline-flex;align-items:center;gap:6px;padding:3px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.lem-footer__toggle.lem-footer__toggle svg{transition:transform .2s}
.lem-footer__group.lem-footer__group.is-open .lem-footer__toggle svg{transform:rotate(180deg)}
.lem-footer__sub.lem-footer__sub{display:none;flex-direction:column;padding-inline-start:12px}
.lem-footer__group.lem-footer__group.is-open .lem-footer__sub{display:flex}
.lem-footer__bar.lem-footer__bar{gap:16px;flex-wrap:wrap}

@media (prefers-reduced-motion:reduce){
  .lem-hero__t1.lem-hero__t1,.lem-hero__t2.lem-hero__t2,.lem-hero__in.lem-hero__in{animation:none;opacity:1;transform:none}
}

/* ---------- touch targets (≥40px on touch screens) ---------- */
@media (pointer:coarse),(max-width:1023px){
  .lem-bento__btn.lem-bento__btn{height:40px}
  .lem-copy.lem-copy{width:40px;height:40px}
  a.lem-cbox__val{display:inline-block;padding:11px 0}
  .lem-footer__col.lem-footer__col a{padding:13px 0;line-height:14px}
}

@media (min-width:1024px){.lem-cbox__val.lem-cbox__val{font-size:19px}}
.lem-footer__agency.lem-footer__agency{color:var(--lem-orange-300);text-decoration:none}

/* ================= CONTACT FORM (lattice row, spans all columns) ================= */
.lem-cform.lem-cform{grid-column:1/-1;background:var(--lem-white);display:grid;grid-template-columns:minmax(0,1fr);gap:24px;padding:32px 24px}
.lem-cform__intro.lem-cform__intro{display:flex;flex-direction:column;gap:10px}
.lem-cform__title.lem-cform__title{font-family:var(--lem-font-display);font-weight:500;font-size:28px;line-height:1.1;letter-spacing:-.02em;color:var(--lem-green-900)}
.lem-cform__lede.lem-cform__lede{font-size:15px;line-height:1.6;color:var(--lem-muted)}
.lem-cform__form.lem-cform__form{display:flex;flex-direction:column;gap:16px;margin:0}
.lem-form-row.lem-form-row{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
.lem-form-field.lem-form-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.lem-form-field.lem-form-field label{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--lem-green-900);line-height:1.4}
.lem-cform__input.lem-cform__input{display:block;width:100%;max-width:100%;min-height:48px;margin:0;padding:12px 14px;border:1px solid var(--lem-line);border-radius:10px;background:var(--lem-white);color:var(--lem-ink);font:inherit;font-size:15px;line-height:1.5;box-shadow:none;outline:none;transition:border-color .2s,box-shadow .2s}
.lem-cform__input.lem-cform__input:focus{border-color:var(--lem-orange);box-shadow:0 0 0 3px color-mix(in srgb,var(--lem-orange) 18%,transparent);outline:none}
.lem-cform__input.lem-cform__input::placeholder{color:var(--lem-muted);opacity:.7}
.lem-cform__textarea.lem-cform__textarea{min-height:140px;resize:vertical}
.lem-cform__select.lem-cform__select{appearance:none;-webkit-appearance:none;padding-inline-end:40px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
.lem-cform__submit.lem-cform__submit,.lem-cform__submit.lem-cform__submit:focus{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;min-height:48px;margin:4px 0 0;padding:0 26px;border:0;border-radius:999px;background:var(--lem-orange);color:var(--lem-white);font:inherit;font-size:15px;font-weight:600;line-height:1;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer;transition:background .2s}
.lem-cform__submit.lem-cform__submit:hover{background:var(--lem-orange-700);color:var(--lem-white);border:0}
.lem-cform__submit.lem-cform__submit svg{width:16px;height:16px}
.lem-cform__alert.lem-cform__alert{display:flex;align-items:flex-start;gap:10px;margin-bottom:16px;padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.5}
.lem-cform__alert--ok.lem-cform__alert--ok{background:var(--lem-mint);color:var(--lem-green-900);border:1px solid var(--lem-line)}
.lem-cform__alert--ok.lem-cform__alert--ok svg{color:var(--lem-success)}
.lem-cform__alert--err.lem-cform__alert--err{background:color-mix(in srgb,var(--lem-orange) 10%,var(--lem-white));color:var(--lem-orange-700);border:1px solid color-mix(in srgb,var(--lem-orange) 30%,var(--lem-white))}
.lem-cform__alert.lem-cform__alert svg{width:18px;height:18px;margin-top:2px}
.lem-honeypot.lem-honeypot{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
@media (min-width:600px){.lem-form-row.lem-form-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (min-width:768px){.lem-cform.lem-cform{padding:40px 32px}}
@media (min-width:1024px){.lem-cform.lem-cform{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px}.lem-cform__title.lem-cform__title{font-size:32px}}
@media (max-width:599px){.lem-cform__submit.lem-cform__submit{align-self:stretch;justify-content:center}}
.lem-cform__body.lem-cform__body{min-width:0}

/* ---- contact boxes: values start on the same line, header/footer lines aligned across the 3 boxes ---- */
.lem-cbox__val.lem-cbox__val,.lem-cbox__val--addr.lem-cbox__val--addr{line-height:1.5}
.lem-cbox__val--addr.lem-cbox__val--addr{font-size:17px;font-weight:500}
.lem-cbox__body.lem-cbox__body .lem-copy{margin-top:-3px}
@media (min-width:768px){
  .lem-contact__grid.lem-contact__grid{grid-template-rows:auto auto auto}
  .lem-cbox.lem-cbox{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0}
  .lem-cbox__foot.lem-cbox__foot{display:flex;align-items:center}
  @supports not (grid-template-rows:subgrid){
    .lem-cbox.lem-cbox{display:flex}
    .lem-cbox__body.lem-cbox__body{min-height:150px}
    .lem-cbox__foot.lem-cbox__foot{min-height:72px}
  }
}
@media (min-width:1024px){.lem-cbox__val--addr.lem-cbox__val--addr{font-size:19px}}
