/* Eco Solve home v2. Brand: Eco Solve Warm Green (Poppins, ink #161922, green #3F7F35). Scoped under .esh */
html.esh-on,html.esh-on body{margin:0!important;padding:0!important;background:#161922!important}
html.esh-on #Wrapper,html.esh-on #Header_wrapper,html.esh-on #Footer{display:none!important}
.esh{--ink:#161922;--ink2:#1C2029;--ink3:#232833;--rule-d:#2E3440;--text:#3A3D42;--muted:#5F6271;--bg:#F5F3EF;--surface:#FFFFFF;--green:#3F7F35;--green-d:#2F6328;--green-l:#86C178;--sage:#E2E6D1;--land:#D3D6CC;--signal:#D94D20;--on-d:#F5F3EF;--mut-d:#A9ACB5;
  --ease:cubic-bezier(0.32,0.72,0,1);--ease-out:cubic-bezier(0.23,1,0.32,1);
  font-family:'Poppins',system-ui,sans-serif;color:var(--on-d);background:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:clip;-webkit-tap-highlight-color:transparent;font-size:16px;line-height:24px;font-weight:400}
.esh *,.esh *::before,.esh *::after{box-sizing:border-box}
.esh a{color:inherit;text-decoration:none}
.esh img{display:block;max-width:100%;height:auto}
.esh h1,.esh h2,.esh h3,.esh h4,.esh p{margin:0;font-family:inherit;color:inherit;font-weight:inherit;letter-spacing:normal;text-transform:none}
.esh h1,.esh h2,.esh h3{text-wrap:balance}
.esh p{text-wrap:pretty}
.esh button,.esh input,.esh select,.esh textarea{font-family:inherit}
.esh :focus-visible{outline:2px solid var(--green-l);outline-offset:4px;border-radius:6px}
.esh .wrap{width:100%;max-width:1280px;margin:0 auto;padding:0 48px}
.esh .eyebrow{display:block;font-size:12px;line-height:16px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:var(--green-l)}
.esh .light .eyebrow,.esh .cta .eyebrow{color:var(--green)}
.esh .t-7xl{font-size:72px;line-height:1}
.esh .t-6xl{font-size:60px;line-height:1}
.esh .t-5xl{font-size:48px;line-height:1}
.esh .t-3xl{font-size:30px;line-height:36px}
.esh .t-xl{font-size:20px;line-height:28px}
.esh .t-lg{font-size:18px;line-height:28px}
.esh .t-sm{font-size:14px;line-height:20px}
.esh .head{font-weight:700;letter-spacing:-.03em}
.esh .skip{position:fixed;left:16px;top:16px;z-index:9999;background:var(--bg);color:var(--ink);padding:8px 12px;border-radius:6px;font-size:14px;font-weight:600;transform:translateY(-200%);transition:transform 300ms var(--ease)}
.esh .skip:focus{transform:none}

/* buttons */
.esh .btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;font-weight:600;font-size:16px;line-height:24px;border:2px solid transparent;cursor:pointer;min-height:44px;transition:transform 160ms var(--ease-out),background-color 300ms var(--ease),color 300ms var(--ease),border-color 300ms var(--ease),opacity 300ms var(--ease)}
.esh .btn:active{transform:scale(.98)}
.esh .btn svg,.esh .tlink svg{width:16px;height:16px;flex:none;transition:transform 300ms var(--ease)}
.esh .btn-ink{background:var(--ink);color:#fff}
.esh .btn-bg{background:var(--bg);color:var(--ink)}
.esh .btn-line{background:transparent;color:var(--on-d);border-color:rgba(245,243,239,.4)}
.esh .btn-sm{font-size:14px;line-height:20px;padding:8px 16px;min-height:40px}
.esh .btn[aria-busy=true]{opacity:.6;cursor:progress}
.esh .tlink{display:inline-flex;align-items:center;gap:8px;font-weight:600;padding:8px 0;color:var(--on-d)}
@media (hover:hover) and (pointer:fine){
  .esh .btn-ink:hover,.esh .btn-bg:hover{background:var(--green);color:#fff}
  .esh .btn-line:hover{border-color:var(--on-d)}
  .esh .btn:hover svg,.esh .tlink:hover svg{transform:translateX(4px)}
  .esh .tlink:hover{color:var(--green-l)}
}

/* island nav */
.esh .island{position:fixed;top:24px;left:0;right:0;z-index:1000;display:flex;justify-content:center;pointer-events:none;padding:0 16px}
.admin-bar .esh .island{top:56px}
@media (max-width:782px){.admin-bar .esh .island{top:70px}}
.esh .pill{pointer-events:auto;width:max-content;max-width:100%;display:flex;align-items:center;gap:32px;padding:8px 8px 8px 16px;border-radius:999px;background:rgba(245,243,239,.82);border:1px solid rgba(22,25,34,.08);backdrop-filter:saturate(160%) blur(24px);-webkit-backdrop-filter:saturate(160%) blur(24px);color:var(--ink)}
.esh .brand{display:flex;align-items:center;margin:-4px 0}
.esh .brand img{height:56px;width:auto}
.esh .nlinks{display:flex;gap:24px}
.esh .nlink{position:relative;font-size:14px;line-height:20px;font-weight:500;color:var(--text);padding:8px 0;transition:color 300ms var(--ease)}
.esh .nlink::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--green);transform:scaleX(0);transition:transform 500ms var(--ease)}
.esh .nlink.cur{color:var(--ink)}
.esh .nlink.cur::after{transform:scaleX(1)}
@media (hover:hover) and (pointer:fine){.esh .nlink:hover{color:var(--ink)}}
.esh .burger{display:none;position:relative;width:44px;height:44px;border-radius:999px;border:0;background:var(--ink);cursor:pointer;flex:none;transition:transform 160ms var(--ease-out)}
.esh .burger:active{transform:scale(.96)}
.esh .burger i{position:absolute;left:13px;right:13px;height:2px;border-radius:2px;background:#fff;transition:transform 700ms var(--ease),top 700ms var(--ease)}
.esh .burger i:nth-child(1){top:17px}.esh .burger i:nth-child(2){top:25px}
.esh.menu-open .burger i:nth-child(1){top:21px;transform:rotate(45deg)}
.esh.menu-open .burger i:nth-child(2){top:21px;transform:rotate(-45deg)}
.esh .overlay{position:fixed;inset:0;z-index:990;background:rgba(22,25,34,.85);backdrop-filter:blur(64px);-webkit-backdrop-filter:blur(64px);display:flex;flex-direction:column;justify-content:center;padding:96px 24px 48px;opacity:0;visibility:hidden;transition:opacity 700ms var(--ease),visibility 0s linear 700ms}
.esh.menu-open .overlay{opacity:1;visibility:visible;transition:opacity 700ms var(--ease),visibility 0s}
.esh .olink{overflow:hidden}
.esh .olink a{display:block;color:var(--on-d);font-size:48px;line-height:1;font-weight:700;letter-spacing:-.03em;padding:12px 0;transform:translateY(48px);opacity:0;transition:transform 700ms var(--ease),opacity 700ms var(--ease)}
.esh .olink a.go{color:var(--green-l)}
.esh.menu-open .olink a{transform:none;opacity:1}
.esh.menu-open .olink:nth-child(1) a{transition-delay:100ms}.esh.menu-open .olink:nth-child(2) a{transition-delay:150ms}.esh.menu-open .olink:nth-child(3) a{transition-delay:200ms}.esh.menu-open .olink:nth-child(4) a{transition-delay:250ms}.esh.menu-open .olink:nth-child(5) a{transition-delay:300ms}

/* hero */
.esh .hero{position:relative;height:100vh;min-height:640px;overflow:hidden;background:var(--ink)}
.esh .slide{position:absolute;inset:0;opacity:0;filter:blur(8px);pointer-events:none;transition:opacity 700ms var(--ease),filter 700ms var(--ease)}
.esh .slide.is-on{opacity:1;filter:blur(0);pointer-events:auto;transition:opacity 1200ms var(--ease),filter 1200ms var(--ease)}
.esh .slide .ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:transform 9s cubic-bezier(.2,.6,.2,1)}
.esh .slide.is-on .ph{transform:scale(1.12)}
.esh .shade{position:absolute;inset:0;background:rgba(22,25,34,.5)}
.esh .hero-copy{position:absolute;left:0;right:0;bottom:160px}
.esh .hero h1{margin:16px 0 24px;max-width:680px;white-space:pre-line;font-weight:700;letter-spacing:-.035em;color:#fff}
.esh .hero p{max-width:680px;color:#E8E6E1;margin:0 0 16px}
.esh .esr{opacity:0;transform:translateY(16px);filter:blur(4px);transition:opacity 300ms var(--ease),transform 300ms var(--ease),filter 300ms var(--ease)}
.esh .slide.is-on .esr{opacity:1;transform:none;filter:blur(0);transition:opacity 900ms var(--ease),transform 900ms var(--ease),filter 900ms var(--ease)}
.esh .slide.is-on .esr1{transition-delay:300ms}.esh .slide.is-on .esr2{transition-delay:370ms}.esh .slide.is-on .esr3{transition-delay:440ms}.esh .slide.is-on .esr4{transition-delay:510ms}
.esh .hero-ctrl{position:absolute;left:0;right:0;bottom:40px;z-index:5}
.esh .hctrl{display:flex;align-items:center;justify-content:space-between;gap:24px}
.esh .dots{display:flex;gap:8px}
.esh .dot{width:48px;height:44px;display:flex;align-items:center;background:none;border:0;padding:0;cursor:pointer;transition:transform 160ms var(--ease-out)}
.esh .dot:active{transform:scale(.96)}
.esh .dot span{display:block;height:2px;width:100%;background:rgba(255,255,255,.3);border-radius:2px;overflow:hidden}
.esh .dot i{display:block;height:100%;width:100%;background:#fff;transform:scaleX(0);transform-origin:left center}
.esh .dot.is-done i{transform:scaleX(1)}
.esh .count{color:#E8E6E1;font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:860px){.esh .pause-ind{display:none}.esh .dot{width:40px}}
.esh .pause-ind{color:var(--mut-d);opacity:0;transition:opacity 300ms var(--ease)}
.esh .hero.is-paused .pause-ind{opacity:1}
.esh .proof{display:flex;align-items:center;gap:8px;color:#D9D7D2}
.esh .proof b{color:#fff;font-weight:600}

/* reveals */
.esh .reveal{opacity:0;transform:translateY(64px);filter:blur(12px);transition:opacity 900ms var(--ease),transform 1000ms var(--ease),filter 900ms var(--ease)}
.esh .reveal.in{opacity:1;transform:none;filter:blur(0)}
.esh .d1{transition-delay:80ms}.esh .d2{transition-delay:160ms}.esh .d3{transition-delay:240ms}

/* story */
.esh .story{position:relative;background:var(--ink)}
.esh .story-stage{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:96px 0}
.esh .orb{position:absolute;left:50%;top:50%;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:#FFE9C4;filter:blur(140px);opacity:.18;transform:scale(.5)}
.esh .story-lines{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;padding:0 24px}
.esh .sl{max-width:880px;font-weight:700;letter-spacing:-.03em;color:var(--on-d)}
.esh .sl.dim{color:#8B8F99}
.esh .sl.gr{color:var(--green-l)}
@supports (animation-timeline: view()){
  .esh .story-track{height:320vh;view-timeline-name:--story}
  .esh .story-stage{position:sticky;top:0;height:100vh;min-height:0;padding:0}
  .esh .orb{animation:esh-orb linear both;animation-timeline:--story;animation-range:contain 0% contain 100%}
  .esh .sl{opacity:.1;filter:blur(8px);transform:translateY(12px);animation:esh-line linear both;animation-timeline:--story}
  .esh .sl.l1{animation-range:contain 0% contain 16%}.esh .sl.l2{animation-range:contain 20% contain 36%}.esh .sl.l3{animation-range:contain 40% contain 56%}.esh .sl.l4{animation-range:contain 60% contain 76%}
}
@keyframes esh-orb{from{opacity:.08;transform:scale(.3)}to{opacity:.55;transform:scale(1.8)}}
@keyframes esh-line{to{opacity:1;filter:blur(0);transform:none}}
.esh .stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--rule-d);border:1px solid var(--rule-d);border-radius:6px;overflow:hidden}
.esh .stat{background:var(--ink);padding:40px 32px;display:flex;flex-direction:column;gap:12px;min-height:224px;justify-content:flex-end}
.esh .stat b{font-size:60px;line-height:1;letter-spacing:-.04em;font-weight:700;color:var(--on-d);font-variant-numeric:tabular-nums}
.esh .stat b em{font-style:normal;color:var(--green-l)}
.esh .stat span{color:var(--mut-d)}

/* marquees */
.esh .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}
.esh .marq{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.esh .track{display:flex;gap:24px;width:max-content;padding:8px 0;will-change:transform}
.esh .to-right{animation:esh-r 70s linear infinite}
.esh .to-left{animation:esh-l 90s linear infinite}
.esh .marq:focus-within .track{animation-play-state:paused}
@media (hover:hover) and (pointer:fine){.esh .marq:hover .track{animation-play-state:paused}}
@keyframes esh-r{from{transform:translate3d(-50%,0,0)}to{transform:translate3d(0,0,0)}}
@keyframes esh-l{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.esh .pcard,.esh .jcard{flex:none;display:flex;flex-direction:column;gap:16px;color:var(--on-d);transition:transform 160ms var(--ease-out)}
.esh .pcard{width:288px}.esh .jcard{width:464px}
.esh .pcard:active,.esh .jcard:active{transform:scale(.98)}
.esh .pimg,.esh .jimg{position:relative;border-radius:6px;overflow:hidden;background:var(--ink3)}
.esh .pimg{height:384px}.esh .jimg{height:304px}
.esh .pimg img,.esh .jimg img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}
@media (hover:hover) and (pointer:fine){
  .esh .pcard:hover img,.esh .jcard:hover img{transform:scale(1.05)}
  .esh .pcard:hover h3,.esh .jcard:hover b{color:var(--green-l)}
}
.esh .pcard h3{font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.01em;transition:color 300ms var(--ease)}
.esh .pcard p{color:var(--mut-d)}
.esh .jcap{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.esh .jcap b{font-size:18px;line-height:28px;font-weight:600;transition:color 300ms var(--ease);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.esh .jcap span{color:var(--mut-d);white-space:nowrap}

/* tagline */
.esh .tagline{background:var(--ink);padding:96px 0}
.esh .tagtext{max-width:680px}
.esh .tline{display:block}
.esh .w{color:rgba(245,243,239,.28);transition:color 600ms var(--ease)}
.esh .w.on{color:var(--on-d)}
.esh .w.hl.on{color:var(--green-l)}

/* light sections */
.esh .light{background:var(--bg);color:var(--ink)}
.esh .logos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--land);border:1px solid var(--land);border-radius:6px;overflow:hidden}
.esh .logo{background:var(--bg);height:112px;display:flex;align-items:center;justify-content:center;padding:24px;transition:background-color 300ms var(--ease)}
.esh .logo img{max-height:56px;max-width:100%;width:auto;object-fit:contain;filter:grayscale(1);opacity:.7;transition:filter 300ms var(--ease),opacity 300ms var(--ease)}
@media (hover:hover) and (pointer:fine){.esh .logo:hover{background:var(--surface)}.esh .logo:hover img{filter:none;opacity:1}}
.esh .reviews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--land)}
.esh .rev{padding:32px 32px 32px 0;display:flex;flex-direction:column;gap:24px;justify-content:space-between}
.esh .rev q{font-size:20px;line-height:28px;font-weight:500;color:var(--ink)}
.esh .rev b{display:block;font-weight:600}
.esh .rev span{color:var(--muted)}

/* faq */
.esh .faq-wrap{display:flex;flex-wrap:wrap;gap:64px}
.esh .faq{border-top:1px solid var(--land)}
.esh .qa{border-bottom:1px solid var(--land)}
.esh .qbtn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;background:none;border:0;padding:24px 0;cursor:pointer;text-align:left;color:var(--ink);font-size:24px;line-height:32px;font-weight:600;letter-spacing:-.015em}
.esh .plus{width:40px;height:40px;border-radius:999px;border:2px solid var(--land);display:flex;align-items:center;justify-content:center;flex:none;transition:transform 300ms var(--ease),background-color 300ms var(--ease),border-color 300ms var(--ease),color 300ms var(--ease)}
.esh .plus svg{width:16px;height:16px}
.esh .qbtn:active .plus{transform:scale(.92)}
.esh .qa.open .plus{transform:rotate(45deg);background:var(--green);border-color:var(--green);color:#fff}
@media (hover:hover) and (pointer:fine){.esh .qbtn:hover .plus{border-color:var(--green)}}
.esh .answ{display:grid;grid-template-rows:0fr;transition:grid-template-rows 240ms var(--ease)}
.esh .qa.open .answ{grid-template-rows:1fr;transition-duration:500ms}
.esh .ans-in{overflow:hidden}
.esh .ans{padding:0 64px 32px 0;color:var(--text);max-width:680px;opacity:0;transform:translateY(-8px);transition:opacity 160ms var(--ease),transform 240ms var(--ease)}
.esh .qa.open .ans{opacity:1;transform:none;transition:opacity 400ms var(--ease) 80ms,transform 500ms var(--ease) 40ms}

/* cta */
.esh .cta{position:relative;background:var(--surface);color:var(--ink);overflow:hidden}
.esh .cta-glow{position:absolute;left:50%;top:-320px;width:960px;height:480px;margin-left:-480px;border-radius:50%;background:var(--sage);opacity:.9;filter:blur(120px);pointer-events:none}
.esh .cta-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.esh .form{border:2px solid var(--ink);border-radius:6px;padding:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;background:var(--surface)}
.esh .f{display:flex;flex-direction:column;gap:8px}
.esh .f.full{grid-column:1/-1}
.esh .f label{font-size:14px;line-height:20px;font-weight:600;color:var(--ink)}
.esh .f input,.esh .f select,.esh .f textarea{font-size:16px;line-height:24px;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--ink);border-radius:0;padding:8px 0;outline:none;width:100%;box-shadow:none;transition:border-color 300ms var(--ease)}
.esh .f input:focus,.esh .f select:focus,.esh .f textarea:focus{border-bottom-color:var(--green)}
.esh .f.bad input{border-bottom-color:var(--signal)}
.esh .err{font-size:14px;line-height:20px;color:#B53A14;font-weight:500}
.esh .f textarea{min-height:96px;resize:vertical}
.esh .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.esh .fnote{color:var(--muted)}
.esh .formerr{grid-column:1/-1;color:#B53A14;font-weight:500}
.esh .done{border:2px solid var(--ink);border-radius:6px;padding:40px;display:flex;flex-direction:column;gap:16px;animation:esh-done 700ms var(--ease) both}
.esh .check{width:48px;height:48px;border-radius:999px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center}
.esh .check svg{width:24px;height:24px}
@keyframes esh-done{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.esh .crow{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--land);min-height:56px}
.esh .crow b{font-size:18px;line-height:28px;font-weight:600;transition:transform 300ms var(--ease),color 300ms var(--ease)}
.esh .crow span{color:var(--muted)}
@media (hover:hover) and (pointer:fine){.esh .crow:hover b{transform:translateX(4px);color:var(--green)}}
.esh .locs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:32px}
.esh .loc{background:var(--bg);border-radius:6px;padding:16px;transition:transform 160ms var(--ease-out),background-color 300ms var(--ease)}
.esh .loc:active{transform:scale(.98)}
@media (hover:hover) and (pointer:fine){.esh .loc:hover{background:var(--sage)}}
.esh .loc b{display:flex;align-items:center;gap:8px;font-weight:600}
.esh .loc b i{width:8px;height:8px;border-radius:999px;background:var(--green);flex:none}
.esh .loc.ho b i{background:var(--signal)}
.esh .loc span{color:var(--muted)}
.esh .loc.ho span{color:#B53A14}

/* footer */
.esh .foot{background:var(--ink);color:var(--mut-d);padding:96px 0 40px}
.esh .fcols{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.esh .fcols h4{margin:0 0 16px;font-size:12px;line-height:16px;letter-spacing:.2em;text-transform:uppercase;color:var(--on-d);font-weight:600}
.esh .fcols a{display:block;padding:4px 0;transition:color 300ms var(--ease)}
@media (hover:hover) and (pointer:fine){.esh .fcols a:hover,.esh .fbar a:hover{color:var(--on-d)}}
.esh .flogo img{height:40px;width:auto;filter:brightness(0) invert(.94);margin-bottom:16px}
.esh .fbar{margin-top:80px;padding-top:24px;border-top:1px solid var(--rule-d);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

@media (max-width:860px){
  .esh .wrap{padding:0 16px}
  .esh .nlinks,.esh .pill .btn-sm{display:none}
  .esh .burger{display:block}
  .esh .pill{gap:16px;padding:8px 8px 8px 16px}
  .esh .brand img{height:44px}
  .esh .hero{height:100svh;min-height:560px}
  .esh .hero-copy{bottom:120px}
  .esh .hero h1{font-size:48px;line-height:1}
  .esh .hero p{font-size:16px;line-height:24px}
  .esh .proof{display:none}
  .esh .t-7xl{font-size:48px;line-height:1}
  .esh .t-6xl,.esh .t-5xl{font-size:36px;line-height:40px}
  .esh .stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .esh .stat{padding:24px 16px;min-height:176px}
  .esh .stat b{font-size:36px;line-height:40px}
  .esh .pcard{width:224px}.esh .pimg{height:304px}
  .esh .jcard{width:304px}.esh .jimg{height:224px}
  .esh .to-right{animation-duration:50s}.esh .to-left{animation-duration:65s}
  .esh .logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .esh .logo{height:80px;padding:16px}
  .esh .reviews{grid-template-columns:minmax(0,1fr)}
  .esh .rev{padding:24px 0;border-bottom:1px solid var(--land)}
  .esh .qbtn{font-size:18px;line-height:28px}
  .esh .ans{padding-right:0}
  .esh .cta-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .esh .form{grid-template-columns:minmax(0,1fr);padding:24px}
  .esh .fcols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .esh .sec{padding-top:80px!important;padding-bottom:80px!important}
}
@media (prefers-reduced-motion: reduce){
  .esh .to-right,.esh .to-left{animation:none}
  .esh .marq{overflow-x:auto}
  .esh .slide .ph,.esh .slide.is-on .ph{transform:none;transition:none}
  .esh .slide,.esh .slide.is-on{filter:none}
  .esh .esr,.esh .slide.is-on .esr,.esh .reveal,.esh .reveal.in{transform:none;filter:none}
  .esh .sl{transform:none!important}
  .esh .orb{animation:none!important;opacity:.4;transform:none}
  .esh .olink a{transform:none}
  .esh .btn:active,.esh .pcard:active,.esh .jcard:active,.esh .loc:active{transform:none}
}

/* visit us */
.esh .vintro{max-width:360px;color:var(--mut-d)}
.esh .vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.esh .vcard{display:flex;flex-direction:column;gap:16px;color:var(--on-d);transition:transform 160ms var(--ease-out)}
.esh .vcard:active{transform:scale(.98)}
.esh .vimg{position:relative;aspect-ratio:3/2;border-radius:6px;overflow:hidden;background:var(--ink3)}
.esh .vimg img{width:100%;height:100%;object-fit:cover;transition:transform 900ms var(--ease)}
.esh .vcap{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.esh .vcap b{display:block;font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.01em;transition:color 300ms var(--ease)}
.esh .vcap span.t-sm{display:block;color:var(--mut-d)}
.esh .vgo{display:inline-flex !important;align-items:center;gap:8px;font-weight:600;color:var(--on-d) !important;white-space:nowrap}
.esh .vgo svg{width:16px;height:16px;transition:transform 300ms var(--ease)}
.esh .vrow{display:flex;align-items:center;gap:16px;margin-top:24px;padding:20px 24px;border-radius:6px;background:var(--ink3);color:var(--on-d);transition:transform 160ms var(--ease-out),background-color 300ms var(--ease)}
.esh .vrow:active{transform:scale(.98)}
.esh .vrow b{display:flex;align-items:center;gap:8px;font-weight:600}
.esh .vrow b i{width:8px;height:8px;border-radius:999px;background:var(--green-l);flex:none}
.esh .vrow > span.t-sm:not(.vgo){color:var(--mut-d)}
.esh .vrow .vgo{margin-left:auto}
@media (hover:hover) and (pointer:fine){
  .esh .vcard:hover img{transform:scale(1.05)}
  .esh .vcard:hover b{color:var(--green-l)}
  .esh .vcard:hover .vgo svg,.esh .vrow:hover .vgo svg{transform:translateX(4px)}
  .esh .vrow:hover{background:var(--rule-d)}
}
@media (max-width:860px){
  .esh .vgrid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:0 -16px;padding:0 16px 8px;scrollbar-width:none}
  .esh .vgrid::-webkit-scrollbar{display:none}
  .esh .vcard{flex:none;width:78vw;max-width:340px;scroll-snap-align:start}
  .esh .vrow{flex-wrap:wrap;padding:16px}
}
@media (prefers-reduced-motion: reduce){.esh .vcard:active,.esh .vrow:active{transform:none}.esh .vcard:hover img{transform:none}}