:root{--deep:#05190f;--green-800:#0E5A32;--green-500:#16934A;--g-light:#4CC985;--g-mid:#1FA85A;--ivory:#FAF8F2}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--deep);color:var(--ivory);font-family:"Readex Pro",system-ui,sans-serif}
html{overflow-x:hidden}
body{overflow-x:clip;position:relative;width:100%}
body.lock{overflow:hidden}

/* ===== header ===== */
header{position:fixed;top:0;inset-inline:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(16px,4vw,56px);opacity:0;transform:translateY(-12px);transition:opacity .9s ease 1.6s,transform .9s ease 1.6s,background .4s,padding .4s}
.ready header{opacity:1;transform:none}
header.solid{background:rgba(11,61,34,.96);backdrop-filter:blur(12px);padding-block:10px;transition-delay:0s}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
.badge{width:52px;height:52px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,255,255,.5)}
.badge img{width:88%;height:88%;object-fit:contain}
.bname{font-weight:700;font-size:18px}
nav{display:flex;gap:28px}
nav a{color:rgba(250,248,242,.85);text-decoration:none;font-size:15px;position:relative;padding:6px 0}
nav a:hover,nav a.active{color:#fff}
nav a.active::after{content:"";position:absolute;bottom:0;right:0;width:100%;height:2px;background:var(--g-light)}
.h-actions{display:flex;align-items:center;gap:14px}
.portal{border:1px solid rgba(255,255,255,.45);color:#fff;padding:9px 16px;border-radius:999px;font-size:14px;text-decoration:none;backdrop-filter:blur(6px);background:rgba(0,0,0,.15)}
.lang{color:rgba(255,255,255,.8);font-size:13px;text-decoration:none}
.burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.2);color:#fff;backdrop-filter:blur(6px)}

/* ===== sticky stage ===== */
.wrap{position:relative;height:220vh}
.stage{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;isolation:isolate}
.layer{position:absolute;inset:0;will-change:transform,opacity}

/* scene = yard + building cut-out, both mapped on the same 1:1 canvas so the building sits exactly where it is in the photo */
.scene{position:absolute;z-index:1;will-change:transform;transform-origin:50% 45%}
.cam{position:absolute;inset:0;transform:scale(1.15);filter:blur(10px) brightness(.55);transition:transform 3s cubic-bezier(.2,.65,.15,1),filter 2s ease}
.ready .cam{transform:none;filter:blur(0) brightness(.85) saturate(1.05)}
.yard{position:absolute;inset:0;width:100%;height:100%;display:block}
.bclip{position:absolute;left:15.967%;top:29.167%;width:58.133%;height:24.7%;overflow:hidden;
  -webkit-mask-image:linear-gradient(180deg,#000 94%,transparent);mask-image:linear-gradient(180deg,#000 94%,transparent)}
.rise{width:100%;height:100%;transform:translateY(102%);transition:transform 1.9s cubic-bezier(.16,.8,.2,1) 1.2s}
.ready .rise{transform:none}
.rise img{display:block;width:100%;height:100%;will-change:transform}
.grade{z-index:2;pointer-events:none;background:
  linear-gradient(180deg,rgba(3,18,10,.78) 0%,rgba(3,18,10,.5) 28%,rgba(3,18,10,.08) 48%,rgba(3,18,10,.05) 70%,rgba(5,25,15,.7) 100%),
  linear-gradient(90deg,rgba(14,90,50,.18),rgba(14,90,50,.18))}

/* title block */
.title{z-index:3;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 16px;top:clamp(100px,13vh,130px);bottom:auto}
.eyebrow{display:flex;align-items:center;gap:14px;color:rgba(255,255,255,.88);font-size:clamp(13px,1.1vw,15px);letter-spacing:1px;opacity:0;transition:opacity 1s ease 1.8s}
.ready .eyebrow{opacity:1}
.eyebrow .ln{width:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7));transition:width 1.1s ease 2s}
.eyebrow .ln:last-child{background:linear-gradient(270deg,transparent,rgba(255,255,255,.7))}
.ready .eyebrow .ln{width:clamp(28px,5vw,70px)}
.px{display:inline-grid;grid-template-columns:repeat(3,5px);gap:3px}
.px i{width:5px;height:5px;background:var(--green-500);opacity:0;transform:scale(0);transition:all .4s ease 2.2s}
.px i:nth-child(3n){background:#fff}.px i:nth-child(4),.px i:nth-child(8){background:#000;outline:1px solid rgba(255,255,255,.2)}
.ready .px i{opacity:1;transform:scale(1)}
.px i:nth-child(2){transition-delay:2.28s}.px i:nth-child(3){transition-delay:2.36s}.px i:nth-child(4){transition-delay:2.44s}.px i:nth-child(5){transition-delay:2.52s}
.px i:nth-child(6){transition-delay:2.6s}.px i:nth-child(7){transition-delay:2.68s}.px i:nth-child(8){transition-delay:2.76s}.px i:nth-child(9){transition-delay:2.84s}
h1{font-size:clamp(32px,4.8vw,74px);font-weight:700;line-height:1.15;margin:14px 0 12px;letter-spacing:-1px}
h1 .w{display:inline-block;overflow:hidden;vertical-align:bottom;padding:.05em .06em .38em;margin-bottom:-.26em}
h1 .w>span{display:inline-block;transform:translateY(110%);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ready h1 .w>span{transform:none}
.green{color:var(--g-light)}
.mbr{display:none}
.lead{max-width:640px;font-size:clamp(15px,1.3vw,19px);line-height:1.85;color:rgba(250,248,242,.9);font-weight:300;opacity:0;transform:translateY(14px);transition:all 1s ease 2.4s}
.ctas{display:flex;gap:12px;margin-top:22px;flex-wrap:wrap;justify-content:center;opacity:0;transform:translateY(14px);transition:all 1s ease 2.6s}
.ready .lead,.ready .ctas{opacity:1;transform:none}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:14px;font-size:16px;font-weight:600;text-decoration:none;transition:transform .25s,background .25s}
.btn-main{background:var(--green-500);color:#fff}
.btn-main:hover{background:var(--g-mid);transform:translateY(-2px)}
.btn-ghost{border:1px solid rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(8px)}
.btn-ghost:hover{background:rgba(255,255,255,.16)}

.tall .grade{background:linear-gradient(180deg,rgba(3,18,10,.7) 0%,rgba(3,18,10,.2) 14%,rgba(3,18,10,0) 30%,rgba(3,18,10,.15) 52%,rgba(5,25,15,.85) 66%,rgba(5,25,15,.97) 100%)}
.tall .title{top:auto;bottom:clamp(40px,7vh,70px)}
/* scroll-driven shade that turns the stage into the next section's color */
.shade{z-index:6;background:#F4F8F5;opacity:0;pointer-events:none}

.hint{position:absolute;z-index:7;inset-inline-end:clamp(16px,4vw,56px);bottom:22px;display:flex;flex-direction:column;align-items:center;gap:6px;
  font-size:12px;color:rgba(255,255,255,.75);opacity:0;transition:opacity 1s ease 3.2s}
.ready .hint{opacity:1}
.hint .track{width:1px;height:34px;background:rgba(255,255,255,.25);position:relative;overflow:hidden}
.hint .track::after{content:"";position:absolute;top:-40%;left:0;width:1px;height:40%;background:var(--g-light);animation:drop 2s ease-in-out infinite}
@keyframes drop{to{top:100%}}

/* letterbox intro */
.bar{position:fixed;inset-inline:0;height:50.5%;background:#020604;z-index:40;transition:transform 1.5s cubic-bezier(.77,0,.18,1)}
.bar.top{top:0}.bar.bot{bottom:0}
.ready .bar.top{transform:translateY(-100%)}.ready .bar.bot{transform:translateY(100%)}
.bar-line{position:fixed;top:50%;inset-inline:0;height:1px;z-index:41;transform:scaleX(0);background:linear-gradient(90deg,transparent,var(--g-light),transparent);transition:transform .7s ease,opacity .5s ease 1s}
.line .bar-line{transform:scaleX(1)}.ready .bar-line{opacity:0}

/* ===== next section (site starts) ===== */
.site .reveal,.reveal{opacity:0;transform:translate3d(0,40px,0);transition:opacity 1s cubic-bezier(.25,.8,.25,1),transform 1.1s cubic-bezier(.25,.8,.25,1)!important;will-change:transform,opacity}
.site .reveal.rv-r{transform:translate3d(50px,0,0)}      /* from the right */
.site .reveal.rv-l{transform:translate3d(-50px,0,0)}     /* from the left */
.site .reveal.rv-up{transform:translate3d(0,45px,0)}     /* from below */
.site .reveal.rv-down{transform:translate3d(0,-35px,0)}  /* from above */
.site .reveal.rv-z{transform:scale(.94)}
.site .reveal.on{opacity:1;transform:none}
@media (max-width:900px){.site .reveal.rv-r,.site .reveal.rv-l{transform:translate3d(0,40px,0)}}
.site h2 .ln2{display:block}
.par{will-change:transform}


@media (max-width:1100px){nav{gap:18px}nav a{font-size:14px}}
@media (max-width:900px){
  nav,.lang,.portal{display:none}.burger{display:grid;place-items:center}
  .bname{font-size:15px}.badge{width:46px;height:46px}
  h1{margin:12px 0 10px}
  .ctas{width:100%;max-width:420px}.btn{flex:1;padding:14px 12px;font-size:15px}
    .mbr{display:inline}.hint span{display:none}
}
@media (prefers-reduced-motion:reduce){*{transition-duration:.01s!important;transition-delay:0s!important;animation:none!important}}
/* ================= SITE (below hero) ================= */
.site{overflow:hidden;--g:#16934A;--g2:#0E5A32;--g3:#0B3D22;--gl:#E8F4EC;--bg:#F4F8F5;--tx:#13241A;--mu:#5E6E65;--ln:#DFE9E2;
  position:relative;z-index:8;color:var(--tx);background:linear-gradient(180deg,rgba(244,248,245,0),var(--bg) 14vh);margin-top:-85vh;padding-top:14vh}
.site img{max-width:100%;display:block}
.wrapc{width:min(1180px,100% - 40px);margin-inline:auto}
.sec{padding:96px 0}
.kick{display:inline-flex;align-items:center;gap:8px;color:var(--g);font-size:14px;font-weight:600}
.kick::before{content:"";width:8px;height:8px;border-radius:2px;background:var(--g)}
.site h2{font-size:clamp(28px,3.2vw,42px);line-height:1.3;margin:10px 0 16px;font-weight:700;color:var(--tx)}
.site p{color:var(--mu);line-height:1.9;font-size:15.5px}
.center{text-align:center}.center p{margin-inline:auto}
.sbtn{display:inline-flex;align-items:center;gap:10px;background:var(--g);color:#fff;border:0;padding:13px 26px;border-radius:10px;font:600 15px "Readex Pro",sans-serif;text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}
.sbtn:hover{background:var(--g2);transform:translateY(-2px)}
.sbtn.light{background:#fff;color:var(--g2)}
.sbtn.ghost{background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff}
.ic{width:22px;height:22px;flex:none}
.ph{position:relative;background:linear-gradient(135deg,#cfe6d7,#9fcdb0);display:grid;place-items:center;color:rgba(14,90,50,.55);overflow:hidden}
.ph span{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:13px;font-weight:600}
.ph .ic{width:34px;height:34px}

/* 1. features strip */
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:880px;margin:0 auto;position:relative;top:-10px}
.feat{background:var(--g);color:#fff;padding:28px 24px 44px;text-align:center;position:relative;border-inline-start:1px solid rgba(255,255,255,.18)}
.feat:first-child{border-radius:0 14px 14px 0;border:0}.feat:last-child{border-radius:14px 0 0 14px}
.feat h3{font-size:17px;margin-bottom:8px}.feat p{color:rgba(255,255,255,.85);font-size:13.5px;line-height:1.7}
.feat .arr{position:absolute;bottom:-18px;left:50%;transform:translateX(-50%);width:36px;height:36px;border-radius:50%;background:var(--g3);display:grid;place-items:center;border:3px solid var(--bg)}
.feat .arr .ic{width:16px;height:16px}

/* 2. about */
.about2{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.about2 .media{position:relative}
.about2 .media img{width:100%;aspect-ratio:1.15;object-fit:cover;border-radius:24px 24px 24px 140px}
.badge2{position:absolute;top:28px;left:-18px;background:var(--g);color:#fff;padding:12px 18px;border-radius:10px}
.badge2 b{display:block;font-size:26px;line-height:1}.badge2 small{font-size:12px;opacity:.9}
.playb{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--g);display:grid;place-items:center}
.stats2{display:flex;gap:40px;margin:26px 0;flex-wrap:wrap}
.st{display:flex;align-items:center;gap:12px}
.st .ci{width:48px;height:48px;border-radius:50%;background:var(--g2);color:#fff;display:grid;place-items:center}
.st b{font-size:24px;display:block;line-height:1.1}.st small{color:var(--mu);font-size:13px}
.acts{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.call{display:flex;align-items:center;gap:10px}.call small{display:block;color:var(--mu);font-size:12px}.call b{font-size:16px;direction:ltr;display:inline-block}

/* 3. what we offer */
.serve{background:#fff}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.tile{position:relative;background:var(--g);color:#fff;border-radius:0 18px 18px 18px;padding:34px 22px 26px;margin-top:18px;transition:transform .3s}
.tile:hover{transform:translateY(-6px)}
.tile.dark{background:var(--g3)}
.tile .tab{position:absolute;top:-18px;right:0;background:inherit;padding:6px 14px 2px;border-radius:10px 10px 0 0;font-size:12px;font-weight:600}
.tile.dark .tab{background:#000;color:#fff}
.tile h3{font-size:18px;margin-bottom:10px}.tile p{color:rgba(255,255,255,.85);font-size:14px;line-height:1.8}

/* 4. programs band */
.band{background:linear-gradient(135deg,var(--g2),var(--g));color:#fff}
.band .grid{display:grid;grid-template-columns:.8fr 1.6fr;gap:50px;align-items:center}
.band .kick,.band h2{color:#fff}.band .kick::before{background:#fff}
.band p{color:rgba(255,255,255,.85)}
.jobs{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.job{background:#fff;color:var(--tx);border-radius:14px;padding:18px;border:1px solid rgba(255,255,255,.2);transition:transform .25s}
.job:hover{transform:translateY(-5px)}
.job .top{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.job .lg{width:44px;height:44px;border-radius:12px;background:var(--gl);color:var(--g);display:grid;place-items:center}
.job h4{font-size:15.5px;line-height:1.35}
.job .meta{display:flex;justify-content:space-between;font-size:12.5px;color:var(--mu);padding:10px 0;border-top:1px solid var(--ln);border-bottom:1px solid var(--ln)}
.job .meta span{display:flex;align-items:center;gap:5px}.job .meta .ic{width:14px;height:14px;color:var(--g)}
.job a{display:block;text-align:center;color:var(--g);font-size:13.5px;font-weight:600;margin-top:10px;text-decoration:none}

/* 5. why us */
.why{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.why .media{position:relative;padding-bottom:60px}
.why .media .main{width:88%;aspect-ratio:1.1;object-fit:cover;border-radius:120px 24px 24px 24px}
.why .media .inset{position:absolute;bottom:0;left:0;width:52%;aspect-ratio:1.3;object-fit:cover;border-radius:18px;border:8px solid var(--bg)}
.why .badge2{top:auto;bottom:120px;left:auto;right:-10px}
.steps{display:flex;flex-direction:column;gap:22px;margin-top:26px}
.step{display:flex;gap:18px;align-items:flex-start}
.step .n{font-size:34px;font-weight:700;color:var(--g);line-height:1;min-width:52px}
.step h4{font-size:17px;margin-bottom:4px}.step p{font-size:14.5px}

/* 6. video banner */
.vban{position:relative;height:clamp(300px,40vw,420px);background-size:cover;background-position:center 60%;display:grid;place-items:center;text-align:center;color:#fff}
.vban::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(11,61,34,.9),rgba(22,147,74,.72))}
.vban>div{position:relative}
.vban h2{color:#fff;font-size:clamp(26px,3.4vw,44px)}
.playb::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid rgba(255,255,255,.7);animation:pulse2 2.2s ease-out infinite}
@keyframes pulse2{from{transform:scale(1);opacity:1}to{transform:scale(1.6);opacity:0}}
.vban .playb{position:relative;inset:auto;margin:18px auto 0}


/* 7. services */
.svc{display:grid;grid-template-columns:1fr 1.1fr;gap:64px;align-items:center}
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px 26px}
.sv{display:flex;gap:14px}
.sv .ci{width:52px;height:52px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;flex:none}
.sv h4{font-size:16.5px;margin:4px 0 4px}.sv p{font-size:14px}

/* 8. testimonials */
.tst{background:#fff;position:relative;overflow:hidden}
.tst .quote{max-width:640px;margin:10px auto 0;position:relative}
.tst .qm{font-size:80px;line-height:.6;color:var(--ln);font-family:Georgia,serif;margin-top:14px}
.tst .who{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:22px}
.av{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:18px;border:3px solid #fff}
.tst .who small{color:var(--mu);font-size:13px}
.flo{position:absolute;animation:bob 5s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-10px)}}
.dots{display:flex;gap:6px;justify-content:center;margin-top:20px}.dots i{width:8px;height:8px;border-radius:50%;background:var(--ln)}.dots i.on{background:var(--g);width:22px;border-radius:4px}

/* 9. contact + faq */
.cf{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.form{background:linear-gradient(160deg,var(--g2),var(--g));border-radius:18px;padding:30px;color:#fff}
.form h3{font-size:20px;margin-bottom:18px}
.form input,.form textarea{width:100%;border:0;border-radius:8px;padding:13px 14px;margin-bottom:12px;font:14px "Readex Pro",sans-serif;background:#fff;color:var(--tx)}
.form textarea{height:130px;resize:none}
.form .sbtn{width:100%;justify-content:center;background:var(--g3)}
.faq{margin-top:22px;border-top:1px solid var(--ln)}
.faq details{border-bottom:1px solid var(--ln);padding:16px 4px}
.faq summary{list-style:none;cursor:pointer;display:flex;gap:12px;align-items:center;font-weight:600;font-size:15.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{width:18px;height:18px;color:var(--g);transition:transform .25s}
.faq details[open] summary{color:var(--g)}
.faq details[open] summary .ic{transform:rotate(180deg)}
.faq details p{margin-top:10px;padding-inline-start:30px;font-size:14.5px}

/* 10. stats band */
.nums{background:linear-gradient(135deg,var(--g),var(--g2));color:#fff;padding:54px 0}
.nums .wrapc{display:grid;grid-template-columns:repeat(4,1fr);text-align:center;gap:20px}
.nums b{font-size:clamp(34px,4.2vw,56px);font-weight:700;display:block;line-height:1.1}
.nums small{opacity:.85;font-size:14px}

/* 11. news */
.nhead{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px}
.post .ph{aspect-ratio:1.45;border-radius:16px}
.post .tag{position:absolute;top:14px;right:14px;background:var(--g);color:#fff;font-size:12px;padding:5px 10px;border-radius:6px}
.post .meta{display:flex;gap:16px;font-size:12.5px;color:var(--mu);margin:16px 0 8px}
.post .meta span{display:flex;gap:5px;align-items:center}.post .meta .ic{width:14px;height:14px;color:var(--g)}
.post h4{font-size:17px;line-height:1.5;margin-bottom:6px}
.post p{font-size:14px}

/* 12. footer */
.foot{background:var(--gl);padding-top:40px}
.frow{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:24px;align-items:center;padding-bottom:30px;border-bottom:1px solid #cfe2d6}
.fbrand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}
.fbrand .badge{width:46px;height:46px}
.fct{display:flex;gap:12px;align-items:center}
.fct .ci{width:44px;height:44px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;flex:none}
.fct small{display:block;color:var(--mu);font-size:12px}.fct b{font-size:14.5px}
.fcols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.3fr;gap:30px;padding:40px 0}
.fcols h5{font-size:16px;margin-bottom:14px}
.fcols ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.fcols a{color:var(--mu);text-decoration:none;font-size:14px}.fcols a:hover{color:var(--g)}
.soc{display:flex;gap:8px;margin-top:14px}.soc a{width:34px;height:34px;border-radius:50%;background:var(--g3);color:#fff;display:grid;place-items:center;font-size:12px}
.nl input{width:100%;border:1px solid #cfe2d6;border-radius:8px;padding:12px;font:14px "Readex Pro",sans-serif;margin-bottom:10px}
.nl .sbtn{width:100%;justify-content:center}
.copy{text-align:center;padding:18px;font-size:13px;color:var(--mu);border-top:1px solid #cfe2d6;display:flex;flex-direction:column;gap:6px}
.copy a{color:var(--g);font-weight:700;text-decoration:none}.copy a:hover{text-decoration:underline}
.copy .cr{font-size:12.5px}

@media (max-width:980px){
  .about2,.why,.svc,.cf,.band .grid{grid-template-columns:1fr;gap:40px}
  .tiles{grid-template-columns:1fr 1fr}
  .jobs{grid-template-columns:1fr 1fr}
  .news{grid-template-columns:1fr 1fr}
  .frow,.fcols{grid-template-columns:1fr 1fr}
  .flo{display:none}
}
@media (max-width:640px){
  .sec{padding:70px 0}
  .feats{grid-template-columns:1fr;gap:26px;padding:0 20px}
  .feat,.feat:first-child,.feat:last-child{border-radius:14px;border:0}
  .tiles,.jobs,.news,.svc-grid,.frow,.fcols{grid-template-columns:1fr}
  .nums .wrapc{grid-template-columns:1fr 1fr;row-gap:30px}
  .badge2{left:10px}
  .why .badge2{right:10px;left:auto}
  .why .media .main{width:100%}
}

.sticky-cta{position:fixed;z-index:60;inset-inline-end:18px;bottom:22px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;color:#fff;background:#16934A;border-radius:50%;box-shadow:0 8px 22px rgba(5,25,15,.3);opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s,background .2s}
.sticky-cta.show{opacity:1;transform:none;pointer-events:auto}
.sticky-cta:hover{background:#0E5A32}
@media (max-width:900px){.sticky-cta{bottom:calc(84px + env(safe-area-inset-bottom));inset-inline-end:14px;width:42px;height:42px}}
