
:root{
    --green-950:#00321f;
    --green-900:#004529;
    --green-800:#005c35;
    --green-700:#08743f;
    --green-600:#138c4a;
    --gold:#f2b411;
    --gold-light:#ffd76d;
    --ink:#11231a;
    --body:#48564f;
    --paper:#ffffff;
    --cream:#f6f7f1;
    --cream-dark:#edf0e6;
    --line:#dfe5dd;
    --radius:20px;
    --shadow:0 18px 50px rgba(0,48,28,.11);
    --container:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);font-family:"Manrope",Arial,sans-serif;font-size:15px;line-height:1.65;overflow-x:hidden}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button,input,textarea{font:inherit}
button{cursor:pointer}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--ink);line-height:1.08}
h1{font-size:clamp(2.45rem,5vw,5.45rem);letter-spacing:-.058em}
h2{font-size:clamp(2rem,3.3vw,3.65rem);letter-spacing:-.045em}
h3{font-size:1.14rem}
.container{width:min(var(--container),calc(100% - 40px));margin:0 auto}
.section{padding:104px 0;scroll-margin-top:105px}
.skip-link{position:absolute;left:12px;top:-100px;background:#fff;color:var(--green-950);border-radius:8px;padding:10px 14px;z-index:1000;font-weight:800}
.skip-link:focus{top:12px}
.site-preloader{position:fixed;inset:0;display:grid;place-items:center;background:var(--green-950);z-index:9999;transition:opacity .55s ease,visibility .55s ease}
.site-preloader.is-hidden{opacity:0;visibility:hidden}
.preloader-inner{text-align:center;color:#fff;width:min(330px,85vw)}
.preloader-inner img{max-width:280px;margin:0 auto 22px;filter:drop-shadow(0 10px 30px rgba(0,0,0,.28))}
.preloader-inner p{font-size:13px;margin:13px 0 0;color:#d6dfd6}
.loader-line{height:5px;border-radius:100px;background:rgba(255,255,255,.2);overflow:hidden}
.loader-line span{display:block;height:100%;width:30%;border-radius:inherit;background:var(--gold);animation:loading 1.2s ease-in-out infinite}
@keyframes loading{0%{transform:translateX(-120%)}50%{transform:translateX(240%)}100%{transform:translateX(480%)}}
.topbar{background:linear-gradient(90deg,var(--green-950),var(--green-800));color:#fff;font-size:11.5px;position:relative;z-index:11}
.topbar-inner{min-height:35px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.topbar a,.topbar-hours{display:inline-flex;align-items:center;gap:6px;color:#fff;white-space:nowrap}
.topbar svg{width:15px;height:15px;fill:currentColor;flex:none}
.topbar-phone{font-size:13px}
.main-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);box-shadow:0 1px 0 rgba(10,30,18,.08);transition:background .25s ease,box-shadow .25s ease,backdrop-filter .25s ease}
.main-header.is-scrolled{background:rgba(255,255,255,.82);backdrop-filter:blur(16px);box-shadow:0 6px 28px rgba(0,40,23,.12)}
.header-inner{min-height:88px;display:flex;align-items:center;gap:25px}
.brand{width:214px;flex:0 0 auto}
.brand img{width:210px;height:auto}
.main-nav{display:flex;align-items:center;justify-content:center;gap:28px;margin-left:auto}
.main-nav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.035em;color:#122018;position:relative;padding:34px 0}
.main-nav a::after{content:"";height:2px;width:0;background:var(--gold);position:absolute;bottom:23px;left:0;transition:width .2s ease}
.main-nav a:hover::after,.main-nav a.is-active::after{width:100%}
.header-whatsapp{display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:40px;padding:0 17px;border-radius:8px;background:var(--gold);color:#173618;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-left:12px;transition:transform .2s ease,background .2s ease}
.header-whatsapp:hover{background:#ffd36a;transform:translateY(-2px)}
.header-whatsapp svg{width:17px;height:17px;fill:currentColor}
.nav-toggle{display:none;border:0;background:transparent;padding:8px;width:42px;height:42px;margin-left:auto}
.nav-toggle span{display:block;height:2px;background:var(--green-950);margin:5px 0;border-radius:3px;transition:transform .2s ease,opacity .2s ease}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.hero{min-height:min(720px,calc(100vh - 123px));display:flex;align-items:center;position:relative;background:url("../img/hero-campo.webp") center 57%/cover no-repeat;isolation:isolate}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,24,15,.9) 0%,rgba(0,34,20,.75) 40%,rgba(0,30,16,.16) 76%,rgba(0,0,0,.04) 100%);z-index:-1}
.hero-content{padding:95px 0 112px;color:#fff}
.eyebrow{font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.065em;color:var(--green-600);margin-bottom:13px}
.hero .eyebrow{color:var(--gold)}
.eyebrow-gold{color:var(--gold)}
.hero h1{max-width:780px;color:#fff;margin-bottom:19px}
.hero h1 span{display:block;color:var(--gold)}
.hero-description{max-width:550px;font-size:clamp(1rem,1.5vw,1.22rem);line-height:1.55;color:#f8fbf5;margin-bottom:32px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:48px;padding:0 22px;border-radius:9px;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.035em;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.18)}
.button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.button-primary{color:#fff;background:var(--green-700)}
.button-primary:hover{background:var(--green-600)}
.button-ghost{border:1px solid rgba(255,255,255,.68);color:#fff;background:rgba(0,0,0,.12)}
.button-ghost:hover{background:#fff;color:var(--green-950)}
.button-dark{background:var(--green-950);color:#fff}
.button-gold{background:var(--gold);color:#172c16}
.button-gold:hover{background:#ffd05a}
.button-full{width:100%;border:0;cursor:pointer}
.hero-bottom-mark{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.hero-bottom-mark span{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.75)}
.hero-bottom-mark .is-active{background:var(--gold);transform:scale(1.28)}
.trust-strip{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(5,1fr);align-items:stretch}
.trust-grid article{min-height:106px;display:flex;align-items:center;justify-content:center;gap:13px;padding:16px;border-right:1px solid var(--line)}
.trust-grid article:last-child{border-right:0}
.trust-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--green-950);color:var(--gold);font-size:21px;font-weight:800;flex:none}
.trust-grid p{font-size:12px;line-height:1.45;margin:0;color:#1e2d24}
.trust-grid strong{font-weight:900;text-transform:uppercase}
.section-heading{max-width:680px;margin-bottom:42px}
.section-heading p:last-child{font-size:16px;margin-bottom:0}
.heading-centered{text-align:center;margin-inline:auto}
.section-products{background:linear-gradient(180deg,#fff 0%,#f8f9f4 100%)}
.category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.category-card{position:relative;border-radius:17px;overflow:hidden;min-height:375px;background:#183d29;color:#fff;isolation:isolate;box-shadow:0 10px 30px rgba(0,38,23,.12);transition:transform .25s ease,box-shadow .25s ease}
.category-card:hover{transform:translateY(-7px);box-shadow:0 22px 42px rgba(0,38,23,.2)}
.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .55s ease}
.category-card:hover img{transform:scale(1.08)}
.category-card-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02) 12%,rgba(0,42,23,.48) 47%,rgba(0,52,30,.96) 100%);z-index:-1}
.category-card-content{position:absolute;inset:auto 0 0;padding:25px 24px}
.category-icon{font-size:28px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.3))}
.category-card h3{color:#fff;font-size:21px;margin:8px 0 8px}
.category-card p{font-size:13px;line-height:1.52;margin:0 0 15px;color:#edf4ed}
.category-card a{display:inline-flex;gap:7px;align-items:center;color:var(--gold-light);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.category-card a span{font-size:19px;line-height:1}
.products-callout{margin-top:30px;padding:27px 32px;border-radius:16px;background:linear-gradient(110deg,#e0efdc,#f9fbf5);display:flex;gap:20px;justify-content:space-between;align-items:center;border:1px solid #cfdfcb}
.products-callout h3{font-size:21px;margin:2px 0 0}
.mini-label{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--green-700);letter-spacing:.05em}
.section-about{background:var(--green-950);color:#e1ede3}
.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}
.about-story h2{color:#fff;margin-bottom:20px}
.about-story p{color:#d8e5da}
.about-story .lead{font-size:18px;color:#fff}
.about-image{position:relative;margin:0;border-radius:17px;overflow:hidden;box-shadow:0 26px 50px rgba(0,0,0,.28)}
.about-image img{width:100%;aspect-ratio:1.28;object-fit:cover}
.about-image figcaption{position:absolute;left:0;bottom:0;right:0;padding:18px 22px;background:linear-gradient(transparent,rgba(0,0,0,.82));font-size:13px;color:#fff}
.about-image figcaption span{display:block;color:var(--gold);font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:12px}
.text-link{display:inline-flex;gap:9px;align-items:center;margin-top:7px;color:var(--gold);font-weight:900;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.text-link span{font-size:18px}
.identity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:75px}
.identity-card{background:#fff;color:var(--body);border-radius:14px;padding:28px 25px}
.identity-icon{display:grid;place-items:center;background:var(--green-950);color:var(--gold);width:43px;height:43px;border-radius:50%;font-weight:900;font-size:21px;margin-bottom:18px}
.identity-card h3{color:var(--green-950);margin-bottom:9px}
.identity-card p{font-size:13px;margin:0;line-height:1.58}
.identity-card .quote{font-family:"Playfair Display",Georgia,serif;color:var(--green-900);font-size:20px;line-height:1.3;margin-bottom:10px}
.values-wrap{display:grid;grid-template-columns:300px 1fr;gap:45px;margin-top:78px;padding-top:78px;border-top:1px solid rgba(255,255,255,.18)}
.values-intro h2{color:#fff;font-size:36px}
.values-intro p:last-child{color:#d2ded3}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.value-card{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:12px;transition:background .2s ease,transform .2s ease}
.value-card:hover{background:rgba(255,255,255,.06);transform:translateY(-3px)}
.value-card>span{display:block;color:var(--gold);font-weight:900;font-size:11px;letter-spacing:.08em}
.value-card h3{color:#fff;font-size:16px;margin:8px 0 7px}
.value-card p{margin:0;color:#ccdacd;line-height:1.52;font-size:12px}
.team-block{display:grid;grid-template-columns:1fr .85fr;gap:45px;align-items:center;margin-top:80px;padding:38px;border-radius:19px;background:linear-gradient(110deg,#093f27,#0b6337)}
.team-block h2{color:#fff;font-size:clamp(1.8rem,2.6vw,2.8rem);margin-bottom:15px}
.team-block p{color:#d8e6d9;margin-bottom:0}
.team-block img{border-radius:12px;width:100%;aspect-ratio:1.45;object-fit:cover}
.history-details{margin-top:24px}
.history-details details{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:12px;padding:0 22px}
.history-details summary{padding:20px 0;color:#fff;font-weight:800;cursor:pointer;display:flex;justify-content:space-between;list-style:none}
.history-details summary::-webkit-details-marker{display:none}
.history-details summary span{color:var(--gold);font-size:25px;line-height:.8}
.history-text{padding-bottom:10px;color:#d6e1d7}
.section-buy{background:url("../img/herramientas.webp") center/cover no-repeat;position:relative;isolation:isolate}
.section-buy:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(0,42,25,.96),rgba(0,56,32,.93));z-index:-1}
.section-heading.light h2,.section-heading.light p{color:#fff}
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:45px}
.step-card{border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.08);border-radius:15px;padding:30px;color:#fff}
.step-card>span{font-size:12px;font-weight:900;color:var(--gold);letter-spacing:.07em}
.step-card h3{color:#fff;font-size:24px;margin:10px 0}
.step-card p{margin:0;color:#dce8dc;font-size:13px}
.center-action{text-align:center;margin-top:31px}
.section-news{background:#f8f9f6}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{min-height:275px;padding:28px;border-radius:15px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 8px 25px rgba(0,43,26,.06)}
.news-tag{display:inline-flex;background:#e2f0dc;color:var(--green-800);border-radius:100px;padding:4px 10px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.news-card h3{font-size:23px;margin:22px 0 10px}
.news-card p{font-size:13px;line-height:1.6;margin:0 0 20px}
.news-card a{margin-top:auto;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--green-800)}
.news-card a span{font-size:18px;vertical-align:-2px;margin-left:3px}
.news-card-image{padding:0;position:relative;overflow:hidden;color:#fff;isolation:isolate;border:0}
.news-card-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.news-card-image:before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,45,25,.95),rgba(0,36,22,.1));z-index:-1}
.news-card-image>div{padding:28px;margin-top:auto}
.news-card-image h3{color:#fff;margin:13px 0}
.news-card-image a{color:#ffd35f}
.section-reviews{padding:80px 0;background:linear-gradient(130deg,#eef3e7,#fff)}
.reviews-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center}
.reviews-copy h2{font-size:clamp(2rem,3vw,3.15rem)}
.review-card{border-radius:17px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:33px 38px;position:relative}
.google-word{font-size:21px;font-weight:900;color:#4285f4;margin-bottom:23px}
.google-word span{color:var(--gold);font-size:14px;margin-left:12px;white-space:nowrap}
.review-card blockquote{margin:0 0 15px;padding:0;border:0;font-family:"Playfair Display",Georgia,serif;color:var(--green-950);font-size:26px;line-height:1.35}
.review-card p{font-size:13px}
.review-card a{font-size:12px;font-weight:900;text-transform:uppercase;color:var(--green-700)}
.section-contact{background:#fff}
.contact-grid{display:grid;grid-template-columns:.78fr 1.15fr 1fr;gap:18px;align-items:stretch}
.contact-info{padding:28px;background:var(--green-950);border-radius:14px;color:#fff}
.contact-info h3{color:#fff;font-size:25px;margin-bottom:23px}
.contact-info>a,.contact-line{display:flex;align-items:flex-start;gap:11px;color:#e0ede0;font-size:13px;line-height:1.52;margin:0 0 18px}
.contact-info strong{color:var(--gold)}
.contact-symbol{color:var(--gold);font-size:22px;line-height:1;flex:none}
.contact-social{display:inline-flex!important;align-items:center!important;margin-top:8px!important;padding-top:15px;border-top:1px solid rgba(255,255,255,.18);color:#fff!important;font-weight:800!important}
.contact-social span{color:var(--gold);font-size:16px;margin-left:6px}
.contact-form{padding:27px;border:1px solid var(--line);border-radius:14px;background:#f9faf6}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.contact-form label{font-size:12px;font-weight:800;color:var(--green-950);display:block;margin-bottom:13px}
.contact-form input,.contact-form textarea{margin-top:6px;width:100%;border:1px solid #d4ded5;background:#fff;outline:none;padding:12px 13px;border-radius:8px;color:var(--ink);transition:border .2s ease,box-shadow .2s ease}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--green-600);box-shadow:0 0 0 3px rgba(19,140,74,.13)}
.contact-form textarea{resize:vertical;min-height:112px}
.optional{font-weight:500;color:#738075}
.form-privacy{font-size:11px;line-height:1.45;color:#68766e;margin:-2px 0 15px}
.map-box{min-height:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f5f6f1;position:relative}
.map-box iframe{display:block;width:100%;height:100%;min-height:360px;border:0;filter:saturate(.85)}
.map-box>a{position:absolute;bottom:13px;left:13px;right:13px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.93);backdrop-filter:blur(5px);padding:11px 13px;border-radius:7px;color:var(--green-950);font-weight:900;font-size:11px;text-transform:uppercase;letter-spacing:.025em}
.site-footer{background:var(--green-950);color:#c9d9cb}
.footer-main{display:grid;grid-template-columns:1.25fr .65fr .9fr 1.1fr;gap:35px;padding:58px 0 36px}
.footer-brand img{width:205px;filter:brightness(0) invert(1) sepia(.3) saturate(2.4) hue-rotate(70deg)}
.footer-brand p{font-size:12px;line-height:1.6;max-width:265px;margin:14px 0}
.footer-main h3{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:15px}
.footer-main ul{margin:0;padding:0;list-style:none}
.footer-main li{margin:5px 0}
.footer-main li a,.footer-contact p,.footer-contact a{font-size:12px;line-height:1.5}
.footer-main li a:hover,.footer-contact a:hover{color:var(--gold)}
.footer-contact p{margin:0 0 12px}
.footer-contact strong{color:var(--gold)}
.footer-socials{display:flex;gap:8px}
.footer-socials a{width:31px;height:31px;display:grid;place-items:center;background:rgba(255,255,255,.12);border-radius:50%;font-weight:900;color:#fff;transition:background .2s ease}
.footer-socials a:hover{background:var(--gold);color:var(--green-950)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.13);min-height:57px;display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:#a9bba9}
.footer-bottom a{color:#fff;font-weight:900;font-size:13px}
.floating-whatsapp{position:fixed;z-index:45;right:22px;bottom:22px;width:63px;height:63px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;box-shadow:0 9px 25px rgba(0,0,0,.26);border:4px solid #fff;animation:whatsappPulse 2s infinite}
.floating-whatsapp svg{width:33px;height:33px;fill:currentColor}
.floating-whatsapp span{position:absolute;right:-6px;bottom:-13px;background:#ea2929;color:#fff;border-radius:7px;padding:3px 7px;font-size:9px;font-weight:900;white-space:nowrap;box-shadow:0 3px 8px rgba(0,0,0,.14)}
@keyframes whatsappPulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.53),0 9px 25px rgba(0,0,0,.26)}70%{box-shadow:0 0 0 14px rgba(37,211,102,0),0 9px 25px rgba(0,0,0,.26)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0),0 9px 25px rgba(0,0,0,.26)}}
.to-top{position:fixed;right:27px;bottom:102px;width:38px;height:38px;border-radius:50%;border:0;background:var(--green-950);color:#fff;z-index:44;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease var(--delay,0ms),transform .65s ease var(--delay,0ms)}
.reveal.is-visible{opacity:1;transform:translateY(0)}
@media (max-width:1080px){
    .main-nav{gap:17px}
    .main-nav a{font-size:11px}
    .header-whatsapp{padding:0 13px}
    .category-grid{grid-template-columns:repeat(3,1fr)}
    .category-card{min-height:350px}
    .trust-grid article{gap:9px}
    .trust-icon{width:39px;height:39px}
    .trust-grid p{font-size:11px}
    .contact-grid{grid-template-columns:1fr 1.2fr}
    .map-box{grid-column:1/-1;min-height:330px}
    .map-box iframe{min-height:330px}
}
@media (max-width:860px){
    .topbar{display:none}
    .header-inner{min-height:70px;gap:12px}
    .brand{width:172px}
    .brand img{width:169px}
    .nav-toggle{display:block}
    .header-whatsapp{display:none}
    .main-nav{position:fixed;top:70px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;background:rgba(255,255,255,.98);padding:12px 20px 20px;box-shadow:0 15px 28px rgba(0,0,0,.13);transform:translateY(-130%);opacity:0;pointer-events:none;transition:transform .25s ease,opacity .25s ease}
    .main-nav.is-open{transform:translateY(0);opacity:1;pointer-events:auto}
    .main-nav a{padding:14px 0;font-size:13px;border-bottom:1px solid var(--line)}
    .main-nav a::after{bottom:5px}
    .hero{min-height:620px;background-position:60% center}
    .hero-overlay{background:linear-gradient(90deg,rgba(0,25,16,.92),rgba(0,38,22,.72) 57%,rgba(0,0,0,.18) 100%)}
    .hero-content{padding:75px 0 90px}
    .trust-grid{grid-template-columns:repeat(2,1fr)}
    .trust-grid article:nth-child(2n){border-right:0}
    .trust-grid article:last-child{grid-column:1/-1;border-top:1px solid var(--line)}
    .category-grid{grid-template-columns:repeat(2,1fr)}
    .about-grid,.reviews-grid{grid-template-columns:1fr;gap:35px}
    .about-image{order:-1;max-width:680px}
    .identity-grid{grid-template-columns:1fr}
    .values-wrap{grid-template-columns:1fr;gap:26px}
    .values-grid{grid-template-columns:repeat(2,1fr)}
    .team-block{grid-template-columns:1fr;padding:27px}
    .steps-grid,.news-grid{grid-template-columns:1fr}
    .step-card{padding:24px}
    .footer-main{grid-template-columns:repeat(2,1fr)}
    .footer-brand{grid-column:1/-1}
}
@media (max-width:590px){
    body{font-size:14px}
    .container{width:min(var(--container),calc(100% - 28px))}
    .section{padding:68px 0;scroll-margin-top:70px}
    .hero{min-height:590px;background-position:64% center}
    .hero h1{font-size:2.65rem}
    .hero-description{font-size:15px}
    .hero-actions .button{width:100%}
    .trust-grid article{min-height:78px;justify-content:flex-start;padding:12px 10px}
    .category-grid{grid-template-columns:1fr}
    .category-card{min-height:375px}
    .products-callout{padding:22px;display:block}
    .products-callout .button{margin-top:16px;width:100%}
    .about-story .lead{font-size:16px}
    .values-grid{grid-template-columns:1fr}
    .team-block{margin-top:55px}
    .review-card{padding:24px}
    .review-card blockquote{font-size:22px}
    .contact-grid{grid-template-columns:1fr}
    .form-row{grid-template-columns:1fr}
    .map-box{grid-column:auto;min-height:300px}
    .map-box iframe{min-height:300px}
    .footer-main{grid-template-columns:1fr;gap:26px;padding-top:45px}
    .footer-brand{grid-column:auto}
    .footer-bottom{min-height:68px;align-items:flex-start;justify-content:center;flex-direction:column;padding:13px 0}
    .floating-whatsapp{width:56px;height:56px;right:14px;bottom:14px}
    .floating-whatsapp svg{width:29px;height:29px}
    .to-top{right:23px;bottom:86px}
}
@media (prefers-reduced-motion:reduce){
    *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}


/* ===== Versión institucional ampliada: contenido completo del cliente ===== */
.section-welcome{padding:74px 0;background:linear-gradient(135deg,#f5f8f1,#ffffff)}
.welcome-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.welcome-copy{background:linear-gradient(135deg,#063e27,#075a34);border-radius:18px;padding:38px;color:#fff;position:relative;overflow:hidden}
.welcome-copy:after{content:"";position:absolute;width:170px;height:170px;right:-60px;bottom:-85px;border:25px solid rgba(255,200,42,.25);border-radius:50%}
.welcome-copy h2{color:#fff;font-size:clamp(2rem,3.4vw,3.6rem);line-height:1.07;margin:12px 0 22px;position:relative;z-index:1}
.welcome-lema{font-family:"Playfair Display",Georgia,serif!important;font-size:24px!important;font-style:italic;color:#ffd35f!important;margin:0!important;position:relative;z-index:1}
.welcome-text{padding:10px 0}
.welcome-text p{font-size:16px;line-height:1.82;margin:0 0 18px;color:#2f4639}
.history-full{display:grid;grid-template-columns:.68fr 1.32fr;gap:55px;margin-top:80px;padding:55px;border-radius:20px;background:linear-gradient(130deg,#073d27,#0a6239);color:#fff}
.history-full-heading h2{font-size:clamp(2rem,3.2vw,3.2rem);line-height:1.14;color:#fff;margin:12px 0 0}
.history-full-text{columns:2;column-gap:38px}
.history-full-text p{break-inside:avoid;color:#d9e7da;font-size:14px;line-height:1.8;margin:0 0 18px}
.history-full-text .history-lema{font-family:"Playfair Display",Georgia,serif;color:#ffd35f;font-size:22px;font-style:italic;font-weight:700}
.product-details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:35px}
.product-detail-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:23px;box-shadow:0 10px 28px rgba(0,59,35,.06);display:flex;flex-direction:column;min-height:310px}
.product-detail-head{display:flex;gap:12px;align-items:center;margin-bottom:13px}
.product-detail-head>span{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#eaf2df;font-size:24px;flex:none}
.product-detail-head p{margin:0 0 3px;color:#63806a;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.product-detail-head h3{margin:0;color:var(--green-950);font-size:20px;line-height:1.16}
.product-detail-card>p{font-size:13px;line-height:1.55;margin:0 0 13px;color:#4b5f51}
.product-detail-card ul{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:7px}
.product-detail-card li{font-size:12px;font-weight:700;color:#254a34;position:relative;padding-left:17px}
.product-detail-card li:before{content:"✓";position:absolute;left:0;color:#eaaf00;font-weight:900}
.product-detail-card>a{font-size:12px;font-weight:900;color:#08763f;margin-top:auto;text-transform:uppercase;letter-spacing:.02em}
.product-detail-card>a span{font-size:17px;vertical-align:-1px}
.identity-card p{font-size:13px;line-height:1.68}
.team-block p{font-size:15px;line-height:1.78}
.section-news .section-heading p{max-width:720px}
@media (max-width: 1050px){.history-full{grid-template-columns:1fr;gap:25px}.history-full-text{columns:1}.product-details-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 800px){.section-welcome{padding:54px 0}.welcome-grid{grid-template-columns:1fr;gap:22px}.welcome-copy{padding:29px}.welcome-text p{font-size:15px;line-height:1.7}.history-full{padding:30px 24px;margin-top:52px}.product-details-grid{grid-template-columns:1fr}.product-detail-card{min-height:auto}.history-full-text p{font-size:14px}.hero-actions .button{width:100%;justify-content:center}.topbar-hours{display:none}}
