:root{--green:#304735;--ochre:#bd792c;--sand:#ddd2b9;--cream:#faf7f0;--ink:#26382b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid var(--ochre);outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}header{height:104px;display:flex;align-items:center;justify-content:space-between;padding:0 5%;background:var(--cream);position:relative;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:49px;height:49px;color:var(--green)}.brand span{font-size:21px;font-weight:800;letter-spacing:.025em;line-height:1.2}.brand small{display:block;font-size:12px;letter-spacing:.24em;color:#946023;margin-top:5px}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover{color:#946023}.nav-button{border:1px solid #c3c9bf;padding:11px 19px}.menu-toggle{display:none}.hero{height:690px;min-height:600px;max-height:850px;position:relative;color:white}.hero>img{position:absolute;object-position:center 58%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,31,22,.76),rgba(15,31,22,.2) 85%),linear-gradient(0deg,rgba(15,31,22,.48),transparent 40%)}.hero-content{position:relative;padding:112px 7% 0;max-width:1000px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;margin:0 0 26px}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,5.5vw,84px);font-weight:400;letter-spacing:-.035em;line-height:1.07;margin:0 0 25px}.hero-content>p:not(.eyebrow){font-size:18px;line-height:1.7;color:#f0f1e9}.button{display:inline-block;padding:14px 24px;background:var(--ochre);color:#fff;font-weight:600;font-size:14px;margin-top:20px;transition:background .2s}.button:hover{background:#9d5f1f}.hero-foot{position:absolute;bottom:25px;left:7%;right:7%;display:flex;justify-content:space-between;border-top:1px solid #ffffff50;padding-top:20px;font-size:12px;letter-spacing:.09em}.strap{padding:23px 7%;display:flex;justify-content:space-between;align-items:center;background:var(--green);color:#f4edde;font-size:12px;letter-spacing:.16em}.strap i{width:5px;height:5px;background:var(--ochre);transform:rotate(45deg)}.section{padding:100px 7%}.intro{display:grid;grid-template-columns:1.05fr 1fr;gap:9%;padding-top:112px;padding-bottom:112px}.ochre{color:#946023}h2{font-family:Georgia,serif;font-size:clamp(34px,3.3vw,52px);font-weight:400;line-height:1.18;letter-spacing:-.025em;margin:0}h2 em{font-weight:400;color:#7b816e}.intro-copy p{margin:0 0 20px;color:#5b645a}.intro-copy .lead{font-size:21px;color:var(--green);line-height:1.5}.signature{font-size:14px;display:flex;align-items:center;gap:15px;margin-top:30px}.mini-line{width:40px;height:2px;background:var(--ochre)}.activities{background:#efeee5}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading>p{max-width:310px;color:#65705f;font-size:16px;margin:0 0 4px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #bcc4b5}.service-grid article{padding:30px 30px 0 0;border-right:1px solid #c9cdbf;margin-top:20px}.service-grid article+article{padding-left:30px}.service-grid article:last-child{border-right:0}.number{font-family:Georgia,serif;font-size:26px;color:#9c692d}h3{font-size:25px;line-height:1.25;font-weight:500;margin:24px 0 18px}.service-grid p{font-size:16px;color:#61695b;min-height:104px}.service-tag{display:block;font-size:11px;letter-spacing:.09em;margin-top:28px;color:#65705f}.crop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.crop-grid figure{margin:0;position:relative;height:460px;overflow:hidden;color:white}.crop-grid figure:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#13281bd6,transparent 65%)}.crop-grid figure img{transition:transform .5s}.crop-grid figure:hover img{transform:scale(1.04)}figcaption{position:absolute;bottom:26px;left:28px;z-index:1}figcaption>span{font-size:12px;border:1px solid #ffffff80;padding:4px 8px}figcaption h3{font-family:Georgia,serif;font-size:35px;margin:20px 0 4px}figcaption p{margin:0;font-size:14px;color:#eee}.method{display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:var(--cream)}.method-photo{position:relative;max-height:810px}.method-photo img{object-position:50% 54%}.method-photo span{position:absolute;bottom:28px;left:30px;background:#243b2cbb;padding:8px 14px;font-size:11px;letter-spacing:.14em}.method-copy{padding:75px 13%}.method-copy .eyebrow{color:#dbba86}.method-copy h2{margin-bottom:34px}.step{display:flex;gap:24px;border-top:1px solid #ffffff30;padding-top:20px;margin-top:22px}.step>span{color:#e1b479;font-size:14px;padding-top:4px}.step h3{font-size:20px;margin:0 0 10px}.step p{color:#d4dccf;font-size:15px;margin:0}.filters{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap}.filters button{background:transparent;border:1px solid #ccd0c3;padding:9px 18px;color:var(--green);font-size:14px}.filters button.active{background:var(--green);color:white;border-color:var(--green)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.gallery-item{height:275px;position:relative;border:0;padding:0;background:var(--sand);overflow:hidden}.gallery-item.wide{grid-column:span 2}.gallery-item img{transition:transform .3s}.gallery-item:hover img{transform:scale(1.04)}.gallery-item span{position:absolute;bottom:0;left:0;right:0;color:#fff;text-align:left;padding:30px 18px 14px;background:linear-gradient(transparent,#0009);font-size:14px}.gallery-item[hidden]{display:none}.closing{padding:76px 7% 82px;background:var(--sand);text-align:center}.closing h2{font-size:clamp(38px,4.3vw,64px)}.closing>p:not(.eyebrow){color:#56614d}.light{background:var(--green)}.light:hover{background:#213425}footer{padding:40px 5%;display:flex;justify-content:space-between;align-items:center;gap:25px}footer .brand span{font-size:16px}footer .brand small{font-size:10px}footer .brand svg{width:40px;height:40px}footer p{font-size:12px;color:#65705f}dialog{padding:54px 20px 18px;background:var(--cream);border:0;max-width:90vw;max-height:94vh;width:1000px}dialog::backdrop{background:#112317e8}dialog img{height:auto;max-height:74vh;object-fit:contain}dialog p{text-align:center;margin:15px 0 0}.close{position:absolute;right:20px;top:12px;border:0;background:transparent;color:var(--green);font-size:16px}.skip{position:absolute;top:-100px;background:white;padding:10px;z-index:30}.skip:focus{top:0}@media(min-width:1600px){.hero-content{padding-top:140px}.hero{height:760px}}@media(max-width:1000px){header{padding:0 4%;height:90px}.brand span{font-size:17px}.brand small{font-size:10px}nav{gap:18px}.section{padding:75px 5%}.intro{gap:6%}.hero-content{padding-left:5%;padding-right:5%}.service-tag{font-size:10px}.method-copy{padding:55px 8%}.crop-grid figure{height:390px}.gallery-item{height:220px}footer{flex-wrap:wrap}}@media(max-width:720px){html{scroll-padding-top:20px}header{height:82px}.brand svg{width:39px;height:39px}.brand span{font-size:16px}.brand small{font-size:9px}.menu-toggle{display:flex;align-items:center;gap:10px;background:none;border:0;padding:8px 11px;font-size:14px}nav{display:none;position:absolute;top:82px;left:0;right:0;background:var(--cream);padding:25px;box-shadow:0 10px 15px #0001}nav.open{display:flex;align-items:stretch;flex-direction:column}.hero{height:650px;min-height:0;max-height:none}.hero-content{padding-top:105px}.hero h1{font-size:48px}.hero .eyebrow{font-size:10px;letter-spacing:.1em}.hero-content>p:not(.eyebrow){font-size:16px}.hero-foot{left:5%;right:5%;font-size:10px;gap:15px}.hero-foot span:last-child{display:none}.strap{padding:20px 5%;gap:15px;font-size:9px;letter-spacing:.04em}.strap i{flex-shrink:0;width:3px;height:3px}.section{padding:62px 6%}.intro{grid-template-columns:1fr;gap:30px}.intro-copy .lead{font-size:20px}.section-heading{display:block;margin-bottom:32px}.section-heading>p{margin-top:22px}.service-grid{grid-template-columns:1fr}.service-grid article,.service-grid article+article{border-right:0;border-bottom:1px solid #c9cdbf;padding:20px 0 26px;margin-top:0}.service-grid article:last-child{border-bottom:0;padding-bottom:0}.service-grid h3 br{display:none}.service-grid h3{margin:12px 0}.service-grid p{min-height:0}.service-tag{font-size:11px;margin-top:20px}.crop-grid{grid-template-columns:1fr;gap:18px}.crop-grid figure{height:380px}.method{grid-template-columns:1fr}.method-photo{height:390px}.method-copy{padding:55px 7%}.gallery-grid{grid-template-columns:1fr 1fr;gap:10px}.gallery-item{height:230px}.gallery-item.wide{grid-column:span 2}.filters{gap:8px}.filters button{padding:8px 12px;font-size:13px}.closing{padding:60px 6%}.closing h2{font-size:42px}footer{display:flex;flex-direction:column;align-items:flex-start;padding:35px 6%;gap:16px}footer p{margin:0}dialog{max-width:96vw;padding-left:10px;padding-right:10px}h2{font-size:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Portada centrada: el contenido determina la altura, sin solaparse con el pie. */
.hero{height:auto;min-height:720px;max-height:none;display:flex;flex-direction:column;justify-content:center;padding:94px 6% 0;isolation:isolate}
.hero>img{inset:0;object-position:center 58%;z-index:-2}
.hero-shade{z-index:-1;background:linear-gradient(180deg,rgba(17,37,24,.46),rgba(17,37,24,.62) 58%,rgba(17,37,24,.72))}
.hero-content{width:100%;max-width:1160px;padding:0;margin:auto;text-align:center;position:relative}
.hero-content .eyebrow{margin:0 auto 30px;font-size:13px;line-height:1.6;letter-spacing:.18em}
.hero h1{max-width:1080px;margin:0 auto 30px;font-size:clamp(42px,4.25vw,68px);line-height:1.17;letter-spacing:-.025em;text-wrap:balance;overflow-wrap:break-word}
.hero-content>p:not(.eyebrow){max-width:790px;margin:0 auto;font-size:clamp(17px,1.35vw,20px);line-height:1.85;text-wrap:pretty}
.hero-content .button{margin-top:34px;padding:16px 29px;min-height:52px}
.hero-foot{position:relative;inset:auto;width:100%;max-width:1280px;margin:66px auto 0;padding:24px 0;gap:24px;flex-wrap:wrap;align-items:center;line-height:1.7}
@media(min-width:1600px){.hero{height:auto;min-height:760px;padding-top:108px}.hero-content{padding:0}}
@media(max-width:1000px){.hero{min-height:690px;padding:80px 6% 0}.hero-content{padding:0}.hero h1{font-size:clamp(42px,5.5vw,58px);max-width:860px}.hero-foot{left:auto;right:auto}}
@media(max-width:720px){.hero{height:auto;min-height:660px;max-height:none;padding:65px 7% 0}.hero-content{padding:0;max-width:100%}.hero-content .eyebrow{font-size:11px;letter-spacing:.12em;line-height:1.8;margin-bottom:25px}.hero h1{font-size:clamp(34px,7.6vw,48px);line-height:1.21;letter-spacing:-.02em;margin-bottom:26px}.hero-content>p:not(.eyebrow){font-size:17px;line-height:1.8}.hero-content>p:not(.eyebrow) br{display:none}.hero-content .button{margin-top:30px;padding:15px 23px}.hero-foot{position:relative;inset:auto;margin-top:48px;padding:20px 0;justify-content:center;text-align:center;gap:8px 20px;font-size:10px}.hero-foot span:last-child{display:none}}

/* Cuatro áreas de actividad, con dos columnas en pantallas intermedias. */
.service-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.service-grid article{min-width:0;display:flex;flex-direction:column}
.service-grid h3{font-size:clamp(21px,1.7vw,25px);line-height:1.3;overflow-wrap:break-word}
.service-grid p{min-height:0;flex:1}
@media(min-width:721px) and (max-width:1200px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.service-grid article{padding:26px 26px 24px 0;border-bottom:1px solid #c9cdbf;margin-top:0}.service-grid article:nth-child(2n){padding-left:26px;border-right:0}.service-grid article:nth-child(2n+1){padding-left:0;border-right:1px solid #c9cdbf}.service-grid article:nth-child(n+3){border-bottom:0}.service-grid h3{font-size:25px}}
@media(max-width:720px){.service-grid{grid-template-columns:1fr}.service-grid h3{font-size:25px}.service-grid article{display:block}}

.contact-section{text-align:center;background:var(--cream)}
.contact-section>p:not(.eyebrow){color:#5b645a;margin:22px auto 32px;max-width:640px}
.contact-dropdown{max-width:860px;margin:0 auto;text-align:left;border:1px solid #c9cdbf;background:#fff}
.contact-dropdown summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 28px;background:var(--green);color:#fff;font-size:18px;cursor:pointer;list-style:none}
.contact-dropdown summary::-webkit-details-marker{display:none}
.contact-dropdown summary span{font-size:26px;line-height:1;transition:transform .2s}
.contact-dropdown[open] summary span{transform:rotate(45deg)}
.contact-dropdown summary:focus-visible{outline:3px solid var(--ochre);outline-offset:4px}
.contact-form{padding:32px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.contact-fields .full{grid-column:1/-1}
.contact-fields label{display:block;font-size:14px;font-weight:600;margin-bottom:9px}
.contact-fields input,.contact-fields textarea{display:block;width:100%;padding:13px 14px;border:1px solid #b9c2b4;background:#faf9f5;color:var(--ink);border-radius:0;font:inherit;font-size:16px;line-height:1.5}
.contact-fields textarea{resize:vertical;min-height:140px}
.contact-fields input:focus,.contact-fields textarea:focus{outline:2px solid var(--ochre);outline-offset:2px}
.contact-note{font-size:14px;color:#61695b;margin:24px 0 0}
.contact-form .button{border:0;cursor:pointer;font:inherit;font-size:16px;margin:24px 0 12px}
.contact-alternative{font-size:14px;color:#61695b;overflow-wrap:anywhere}
.contact-alternative a,.footer-contact a{text-decoration:underline;text-underline-offset:3px}
.contact-honey{display:none}
.footer-contact p{margin:0 0 7px}
.footer-contact a{display:block;font-size:13px;color:var(--green);overflow-wrap:anywhere}
@media(max-width:720px){.contact-form{padding:23px 20px}.contact-fields{grid-template-columns:1fr;gap:20px}.contact-dropdown summary{padding:20px;font-size:17px}.contact-form .button{width:100%}.hero-content .button{max-width:100%;text-align:center}.footer-contact{max-width:100%}}



nav .nav-contact{background:var(--ochre);color:white;padding:12px 22px;font-weight:600;border:0;text-align:center}
nav .nav-contact:hover{background:#9d5f1f;color:white}
@media(min-width:721px) and (max-width:1100px){header{padding:0 3%}nav{gap:15px;font-size:13px}nav .nav-contact{padding:11px 15px}.brand span{font-size:16px}.brand svg{width:40px;height:40px}.brand small{font-size:9px}}
@media(min-width:721px) and (max-width:1000px){.menu-toggle{display:flex;align-items:center;gap:10px;background:none;border:0;padding:8px 11px;font-size:14px}nav{display:none;position:absolute;top:90px;left:0;right:0;background:var(--cream);padding:25px;box-shadow:0 10px 15px #0001}nav.open{display:flex;align-items:stretch;flex-direction:column}}

.contact-status{margin:1rem 0;padding:1rem;border:1px solid currentColor;line-height:1.6;font-size:1rem}
.contact-status[hidden]{display:none}
.contact-status[data-state="error"]{color:#8b2d20}
.contact-form button:disabled{opacity:.65;cursor:wait}
