:root{
  --green-950:#063b24;--green-900:#0b4f2b;--green-800:#0d6733;--green-700:#17823f;--green-500:#55a630;--lime:#9bdc28;
  --cream:#f7fbf4;--ink:#172018;--muted:#5f6f62;--line:#dce7db;--white:#fff;--shadow:0 18px 50px rgba(7,54,31,.14);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.5}
a{text-decoration:none;color:inherit}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 32px));margin:auto}.section{padding:74px 0}.eyebrow{color:var(--green-700);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem}.section-title{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.6rem);line-height:1.02;margin:.3rem 0 1rem;color:var(--green-950)}.lead{color:var(--muted);font-size:1.08rem;max-width:720px}
.topbar{background:var(--green-950);color:#fff;font-size:.92rem}.topbar .container{display:flex;justify-content:space-between;align-items:center;padding:8px 0;gap:16px}.topbar strong{color:#dff9a9}.header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(13,103,51,.1)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:20px}.brand img{width:310px;max-height:56px;object-fit:contain;object-position:left center}.navlinks{display:flex;gap:24px;align-items:center;font-weight:700;color:#314736}.navlinks a:hover,.navlinks a.active{color:var(--green-700)}.nav-cta{display:flex;gap:10px}.btn{border:0;border-radius:12px;padding:13px 18px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:.2s transform,.2s box-shadow,.2s background}.btn:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,var(--green-700),var(--green-500));color:#fff;box-shadow:0 10px 24px rgba(23,130,63,.22)}.btn-dark{background:var(--green-950);color:#fff}.btn-light{background:#fff;color:var(--green-900);border:1px solid var(--line)}.btn-outline{border:2px solid rgba(255,255,255,.75);color:#fff;background:rgba(255,255,255,.08)}.menu-btn{display:none;background:none;border:0;font-size:28px;color:var(--green-950)}
.hero{min-height:650px;display:grid;align-items:center;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(4,46,27,.94) 0%,rgba(4,46,27,.86) 43%,rgba(4,46,27,.3) 72%,rgba(4,46,27,.08) 100%),url('assets/hero.jpg') center/cover no-repeat;color:#fff}.hero:after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.16))}.hero-content{position:relative;z-index:2;max-width:720px;padding:82px 0}.hero-logo{width:min(560px,90%);background:#fff;border-radius:18px;padding:12px 16px;margin-bottom:24px;box-shadow:var(--shadow)}.hero h1{font-family:Georgia,serif;font-size:clamp(3.2rem,7vw,6.2rem);line-height:.92;margin:0 0 12px}.hero h2{font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.12;margin:0 0 14px}.hero p{font-size:1.15rem;color:#eaf8e6;max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.trust-row{position:relative;z-index:3;margin-top:-35px}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.trust-item{padding:24px;text-align:center;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-icon{font-size:30px}.trust-item strong{display:block;color:var(--green-950)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.service-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 10px 30px rgba(17,65,36,.08);display:flex;flex-direction:column}.service-card img{width:100%;height:150px;object-fit:cover}.service-card .body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}.service-card h3{margin:0;color:var(--green-950);font-size:1.05rem}.service-card p{margin:0;color:var(--muted);font-size:.93rem;flex:1}.service-card a{color:var(--green-700);font-weight:800;margin-top:8px}.service-card.featured{grid-column:span 2;display:grid;grid-template-columns:1.05fr 1fr}.service-card.featured img{height:100%;min-height:230px}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}.feature-panel{border-radius:28px;padding:42px;background:linear-gradient(145deg,var(--green-950),var(--green-800));color:#fff;box-shadow:var(--shadow);position:relative;overflow:hidden}.feature-panel:after{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(155,220,40,.16);right:-80px;bottom:-100px}.feature-list{display:grid;gap:16px;margin-top:28px}.feature{display:flex;gap:14px}.feature b{display:block}.badge{width:40px;height:40px;border-radius:12px;background:#fff;color:var(--green-700);display:grid;place-items:center;flex:0 0 auto}
.gallery{background:var(--cream)}.gallery-grid{display:grid;grid-template-columns:2fr 1fr 1fr;grid-template-rows:230px 230px;gap:16px;margin-top:32px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:18px}.gallery-grid img:first-child{grid-row:span 2}
.cta{background:linear-gradient(135deg,var(--green-950),var(--green-700));color:#fff;border-radius:28px;padding:46px;display:flex;justify-content:space-between;gap:24px;align-items:center;overflow:hidden;position:relative}.cta h2{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem)}.cta p{margin:.5rem 0 0;color:#e8f8e4}.cta-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:2}
.page-hero{padding:80px 0;background:linear-gradient(135deg,var(--green-950),var(--green-800));color:#fff}.page-hero h1{font-family:Georgia,serif;font-size:clamp(2.8rem,6vw,5.2rem);line-height:1;margin:0 0 12px}.page-hero p{max-width:760px;color:#e7f6e2;font-size:1.1rem}.booking-wrap{display:grid;grid-template-columns:1.25fr .75fr;gap:34px}.card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);padding:28px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:#26382a}.field input,.field select,.field textarea{width:100%;border:1px solid #ccd9cc;border-radius:11px;padding:13px 14px;outline:none;background:#fff}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 4px rgba(85,166,48,.12)}.field textarea{min-height:130px;resize:vertical}.notice{padding:14px 16px;border-radius:12px;background:#eef9e8;color:#245529;font-size:.92rem}.booking-side{display:grid;gap:18px;align-content:start}.booking-side .side-green{background:linear-gradient(145deg,var(--green-950),var(--green-700));color:#fff}.mini-list{display:grid;gap:14px}.mini-list div{display:flex;gap:10px}.mini-list span{color:var(--lime)}
.footer{background:#062f1e;color:#d8eadb;padding:52px 0 22px;margin-top:70px}.footer-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:36px}.footer img{width:300px;background:#fff;border-radius:12px;padding:8px}.footer h4{color:#fff;margin-top:0}.footer a{display:block;margin:8px 0;color:#d8eadb}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:34px;padding-top:18px;font-size:.9rem;color:#abc7b1;display:flex;justify-content:space-between;gap:16px}.floating-whatsapp{position:fixed;right:18px;bottom:18px;background:#19a84a;color:#fff;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:27px;box-shadow:0 12px 30px rgba(0,0,0,.2);z-index:25}
@media(max-width:980px){.navlinks,.nav-cta{display:none}.menu-btn{display:block}.nav.open .navlinks{display:flex;position:absolute;top:76px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 24px;border-bottom:1px solid var(--line);box-shadow:var(--shadow)}.services-grid{grid-template-columns:repeat(2,1fr)}.split,.booking-wrap{grid-template-columns:1fr}.trust-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 180px}.gallery-grid img:first-child{grid-row:auto;grid-column:span 2}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:640px){.container{width:min(100% - 22px,1180px)}.topbar .container{justify-content:center}.topbar .container span:last-child{display:none}.brand img{width:235px}.hero{min-height:620px;background-position:64% center}.hero-content{padding:62px 0}.hero-logo{width:92%}.hero h1{font-size:3.45rem}.hero h2{font-size:1.45rem}.hero-actions .btn{width:100%}.trust-row{margin-top:-18px}.trust-grid{grid-template-columns:1fr 1fr}.trust-item{padding:18px 10px}.section{padding:56px 0}.services-grid{grid-template-columns:1fr}.service-card.featured{grid-column:auto;display:flex}.service-card.featured img{min-height:0;height:170px}.gallery-grid{grid-template-columns:1fr;grid-template-rows:auto}.gallery-grid img,.gallery-grid img:first-child{grid-column:auto;height:220px}.cta{padding:30px;display:block}.cta-actions{margin-top:20px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.page-hero{padding:58px 0}}

/* ===== Premium motion & polish (V3) ===== */
:root{
  --glow:0 16px 42px rgba(23,130,63,.22);
  --soft-glow:0 10px 34px rgba(85,166,48,.15);
}
body{overflow-x:hidden}
.header{transition:box-shadow .35s ease,background .35s ease,border-color .35s ease,transform .35s ease}
.header.scrolled{background:rgba(255,255,255,.985);box-shadow:0 12px 34px rgba(5,55,30,.12);border-color:rgba(13,103,51,.16)}
.brand img{transition:transform .35s ease,filter .35s ease}
.brand:hover img{transform:scale(1.015);filter:drop-shadow(0 8px 16px rgba(17,101,49,.12))}
.navlinks a{position:relative;transition:color .25s ease}
.navlinks a:after{content:"";position:absolute;left:0;bottom:-8px;width:100%;height:2px;border-radius:3px;background:linear-gradient(90deg,var(--green-500),var(--lime));transform:scaleX(0);transform-origin:center;transition:transform .28s ease}
.navlinks a:hover:after,.navlinks a.active:after{transform:scaleX(1)}
.btn{position:relative;overflow:hidden;isolation:isolate;transition:transform .28s ease,box-shadow .28s ease,background .28s ease,border-color .28s ease}
.btn:before{content:"";position:absolute;top:-80%;left:-45%;width:35%;height:260%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent);transform:rotate(20deg) translateX(-240%);transition:transform .7s ease;z-index:-1}
.btn:hover{transform:translateY(-3px);box-shadow:var(--glow)}
.btn:hover:before{transform:rotate(20deg) translateX(620%)}
.btn-primary{background-size:180% 180%;animation:buttonGlow 7s ease infinite}
.hero{background-position:center calc(50% + var(--hero-shift,0px));transition:background-position .12s linear}
.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 20%,rgba(255,255,255,.10) 42%,transparent 58%);transform:translateX(-120%);animation:heroSheen 9s ease-in-out infinite;pointer-events:none}
.hero-content>*{opacity:0;transform:translateY(22px);animation:heroEnter .8s cubic-bezier(.2,.75,.25,1) forwards}
.hero-content>*:nth-child(1){animation-delay:.08s}.hero-content>*:nth-child(2){animation-delay:.18s}.hero-content>*:nth-child(3){animation-delay:.28s}.hero-content>*:nth-child(4){animation-delay:.38s}.hero-content>*:nth-child(5){animation-delay:.5s}
.trust-grid,.card,.service-card,.feature-panel,.cta{backdrop-filter:blur(8px)}
.trust-item{transition:transform .28s ease,background .28s ease,box-shadow .28s ease}
.trust-item:hover{transform:translateY(-4px);background:linear-gradient(180deg,#fff,#f5fbf1);box-shadow:inset 0 -3px 0 rgba(85,166,48,.28)}
.trust-icon{transition:transform .35s ease}.trust-item:hover .trust-icon{transform:scale(1.12) rotate(-3deg)}
.service-card{transition:transform .38s cubic-bezier(.2,.75,.25,1),box-shadow .38s ease,border-color .38s ease}
.service-card:hover{transform:translateY(-8px);box-shadow:0 22px 50px rgba(9,67,36,.16);border-color:rgba(85,166,48,.34)}
.service-card img{transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .4s ease}
.service-card:hover img{transform:scale(1.055);filter:saturate(1.08) contrast(1.02)}
.service-card .body{position:relative;background:linear-gradient(180deg,#fff,#fbfefa)}
.service-card a{display:inline-flex;align-items:center;gap:5px;transition:gap .25s ease,color .25s ease}.service-card:hover a{gap:9px;color:var(--green-800)}
.feature-panel{box-shadow:0 24px 60px rgba(6,59,36,.20)}
.feature-panel:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 15%,rgba(255,255,255,.10),transparent 30%);pointer-events:none}
.badge{box-shadow:0 8px 18px rgba(0,0,0,.10);transition:transform .35s ease}.feature:hover .badge{transform:rotate(-5deg) scale(1.08)}
.gallery-grid{perspective:1000px}
.gallery-grid img{box-shadow:0 12px 30px rgba(14,66,38,.10);transition:transform .55s cubic-bezier(.2,.75,.25,1),box-shadow .55s ease,filter .4s ease;will-change:transform}
.gallery-grid img:hover{transform:translateY(-6px) scale(1.018);box-shadow:0 24px 55px rgba(8,69,37,.20);filter:saturate(1.08)}
.cta:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(155,220,40,.20),transparent 34%),radial-gradient(circle at 88% 76%,rgba(255,255,255,.08),transparent 28%);pointer-events:none}
.page-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--green-950),var(--green-800),#146f38);background-size:180% 180%;animation:pageHeroFlow 12s ease infinite}
.page-hero:after{content:"";position:absolute;width:360px;height:360px;border-radius:50%;right:-110px;top:-170px;background:rgba(155,220,40,.12);filter:blur(2px)}
.card{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.card:hover{box-shadow:0 24px 60px rgba(7,54,31,.16);border-color:rgba(85,166,48,.28)}
.field input,.field select,.field textarea{transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease}.field input:focus,.field select:focus,.field textarea:focus{transform:translateY(-1px)}
.floating-whatsapp{animation:floatWhatsApp 3.8s ease-in-out infinite;transition:transform .25s ease,box-shadow .25s ease}.floating-whatsapp:hover{transform:scale(1.08);box-shadow:0 18px 38px rgba(0,0,0,.25)}
.footer{position:relative;overflow:hidden}.footer:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 8% 10%,rgba(155,220,40,.08),transparent 25%);pointer-events:none}.footer .container{position:relative;z-index:1}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s cubic-bezier(.2,.75,.25,1),transform .75s cubic-bezier(.2,.75,.25,1)}
.reveal.reveal-left{transform:translateX(-28px)}
.reveal.reveal-right{transform:translateX(28px)}
.reveal.visible{opacity:1;transform:none}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}

/* Tiny reading progress accent */
.scroll-progress{position:fixed;left:0;top:0;height:3px;width:0;z-index:80;background:linear-gradient(90deg,var(--green-500),var(--lime));box-shadow:0 1px 10px rgba(85,166,48,.4);pointer-events:none}

@keyframes heroEnter{to{opacity:1;transform:none}}
@keyframes heroSheen{0%,68%,100%{transform:translateX(-120%)}82%{transform:translateX(120%)}}
@keyframes buttonGlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes pageHeroFlow{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes floatWhatsApp{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

@media(max-width:640px){
  .hero:before{animation-duration:12s}
  .service-card:hover,.gallery-grid img:hover,.btn:hover{transform:none}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal,.reveal.reveal-left,.reveal.reveal-right{opacity:1;transform:none}
}
