:root{
  --crema:#F7F3ED; --crema-2:#FBF9F5; --verde:#17401D; --verde-osc:#122F17;
  --oliva:#56622D; --hoja:#85A426;
  --tinta:#25301F; --tinta-2:#5C6552; --linea:#DFDACB;
  --lab-osc:#545F26; --lab-cla:#A8BB41; --lab-bg:#EEF3E0; --lab-bor:#D9E1C4; --lab-txt:#5A6350;
  --aceituna:#56622D;
  --titular:"Montserrat",system-ui,-apple-system,sans-serif;
  --serif:"Montserrat",system-ui,-apple-system,sans-serif;
  --sans:"Montserrat",system-ui,-apple-system,sans-serif;
  --pad:clamp(1.15rem,4.5vw,4.5rem); --maxw:1240px; --r:14px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--crema);color:var(--tinta);font-family:var(--sans);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--hoja);outline-offset:3px}
::selection{background:var(--hoja);color:#fff}
section[id]{scroll-margin-top:96px}
.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.15;letter-spacing:-.015em;margin:0;text-wrap:balance}
.eyebrow{font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--oliva);margin:0}
.skip{position:absolute;left:-9999px;background:var(--verde);color:var(--crema);padding:.75rem 1.25rem;z-index:100;text-decoration:none;font-weight:600}
.skip:focus{left:0;top:0}

/* ---------- cabecera ---------- */
.head{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--crema) 93%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--linea)}
.head .wrap{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:82px;padding-block:.7rem}
.marca-head{display:block;text-decoration:none}
.marca-head img{height:38px;width:auto}
.marca-head img{height:44px}
.marca-head small{display:block;margin-top:.4rem;padding-top:.35rem;border-top:1px solid var(--linea);text-align:center}
.marca-head small b{display:block;font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--oliva)}
.marca-head small span{display:block;margin-top:.12rem;font-size:.62rem;color:var(--tinta-2)}
.nav{display:flex;align-items:center;gap:1.5rem}
.nav>a{font-size:.93rem;text-decoration:none;color:var(--tinta-2);position:relative;padding-block:.3rem}
.nav>a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;background:var(--hoja);transition:right .3s}
.nav>a:hover{color:var(--verde)}
.nav>a:hover::after{right:0}
.tel-top-l{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:var(--verde)!important;text-decoration:none}
.tel-top-l svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.tel-top-l::after{display:none}
.tel-top{display:inline-flex;align-items:center;gap:.5rem;background:var(--verde);color:var(--crema)!important;padding:.75rem 1.5rem;border-radius:6px;font-weight:600;white-space:nowrap;letter-spacing:.03em}
.tel-top::after{display:none}
.tel-top svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8}
.tel-top:hover{background:var(--oliva)}
.drop{position:relative}
.drop summary{list-style:none;cursor:pointer;font-size:.93rem;color:var(--tinta-2);padding-block:.3rem;display:inline-flex;align-items:center;gap:.35rem}
.drop summary::-webkit-details-marker{display:none}
.drop summary::after{content:"";width:6px;height:6px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.drop[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.drop summary:hover{color:var(--verde)}
.drop-panel{position:absolute;left:50%;transform:translateX(-50%);top:38px;min-width:250px;z-index:70;
  background:var(--crema-2);border:1px solid var(--linea);border-radius:10px;padding:.45rem 0;
  box-shadow:0 24px 46px -28px rgba(37,48,31,.85)}
.drop-panel a{display:block;padding:.6rem 1.15rem;text-decoration:none;font-size:.94rem;color:var(--tinta-2)}
.drop-panel a:hover,.drop-panel a:active{background:var(--crema);color:var(--verde)}
.drop-panel a::after{display:none}
.drop-todo{border-top:1px solid var(--linea);margin-top:.3rem;padding-top:.7rem!important;font-weight:600;color:var(--verde)!important}
.menu-tit{display:block;padding:.7rem 1.25rem .25rem;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--oliva)}
.menu-sep{display:block;height:1px;background:var(--linea);margin:.45rem 0}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;width:44px;height:44px;display:grid;place-content:center;gap:5px;-webkit-tap-highlight-color:transparent}
.menu summary::-webkit-details-marker{display:none}
.menu summary i{display:block;width:24px;height:2px;background:var(--verde);transition:transform .25s,opacity .2s}
.menu[open] summary i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu[open] summary i:nth-child(2){opacity:0}
.menu[open] summary i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.menu-panel{position:absolute;right:0;top:52px;z-index:90;min-width:230px;max-width:min(300px,calc(100vw - 2rem));
  background:var(--crema-2);border:1px solid var(--linea);border-radius:10px;padding:.4rem 0;
  box-shadow:0 22px 44px -22px rgba(37,48,31,.9)}
.menu-panel a{display:block;padding:.7rem 1.25rem;text-decoration:none;font-size:1rem;color:var(--tinta)}
.menu-panel a:hover,.menu-panel a:active{background:var(--crema);color:var(--verde)}
@media(max-width:1040px){.nav>a:not(.tel-top):not(.tel-top-l){display:none}.drop{display:none}.menu{display:block}}
@media(max-width:640px){.tel-top-l span,.tel-top{display:none}}

/* franja del titular */
.titular{background:var(--crema);border-bottom:1px solid var(--linea);padding-block:clamp(1.1rem,2.2vw,1.6rem);text-align:center}
.titular h1{font-size:clamp(1.05rem,1.9vw,1.35rem);color:var(--verde);font-weight:600}
.titular p{margin:.3rem 0 0;font-size:clamp(.8rem,1.15vw,.9rem);color:var(--tinta-2)}

/* ---------- portada partida ---------- */
.hero{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.mitad{min-width:0;position:relative;display:flex;align-items:flex-end;min-height:clamp(520px,56vw,720px);
  padding:clamp(1.25rem,2.6vw,2.75rem);overflow:hidden}
.mitad::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center center}
.mitad::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,34,17,.05) 0%,rgba(14,34,17,.02) 45%,rgba(14,34,17,.32) 100%)}
.mitad-campo::before{background-image:url("/img/fernando-bueno-medicion-finca-jaen.webp");background-position:center 55%}
.mitad-lab{justify-content:flex-end}
.mitad-lab::before{background-image:url("/img/laboratorio-aceituna-villargordo-interior.webp");background-position:center 40%}
.tarjeta{position:relative;z-index:2;background:var(--crema-2);border-radius:6px;
  padding:clamp(1.25rem,2vw,1.9rem);width:min(400px,90%);box-shadow:0 24px 50px -26px rgba(14,34,17,.75)}
.tarjeta h2{font-size:clamp(1.25rem,2vw,1.6rem);color:var(--verde);margin-bottom:.6rem}
.tarjeta p{margin:0 0 1.1rem;font-size:.93rem;color:var(--tinta-2);line-height:1.5;min-height:3em}
.tarjeta .btn{padding:.78rem 1.4rem;font-size:.94rem}
@media(max-width:860px){
  .hero{grid-template-columns:minmax(0,1fr)}
  .mitad{min-height:420px}
  .mitad-lab{justify-content:flex-start}
  .tarjeta{width:100%}
}

/* por qué elegirme */
@media(max-width:960px){.porque-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:560px){.porque-grid{grid-template-columns:minmax(0,1fr)}}

/* sobre mí */
.sobre-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}
.retrato{margin:0;border-radius:12px;overflow:hidden;border:1px solid var(--linea)}
.retrato img{width:100%;aspect-ratio:3/4;object-fit:cover}
.sobre-grid h2{font-size:clamp(1.5rem,2.7vw,2.05rem);color:var(--verde);margin:.7rem 0 1.1rem}
.sobre-grid p{margin:0 0 1rem;color:var(--tinta-2)}
@media(max-width:860px){.sobre-grid{grid-template-columns:minmax(0,1fr)}.retrato{max-width:400px}.cifras{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:480px){.cifras{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* ---------- valores ---------- */
@media(max-width:900px){.valores-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.valor:nth-child(3){border-left:0;padding-left:0}}
@media(max-width:540px){.valores-grid{grid-template-columns:minmax(0,1fr)}.valor{border-left:0;padding-left:0}}

/* ---------- bloques ---------- */
.sec{padding-block:clamp(3rem,6vw,5rem)}
@media(max-width:760px){.sec-head{flex-direction:column;align-items:flex-start}}

/* servicios */
.servicios{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--linea);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.sv{min-width:0;background:var(--crema-2);padding:1.6rem 1.4rem;display:flex;gap:1rem;align-items:flex-start;transition:background .3s}
.sv>div{min-width:0}
.sv:hover{background:#fff}
.s-ico{width:48px;height:48px;border-radius:50%;background:#E7ECD8;display:grid;place-items:center;flex:none}
.s-ico svg{width:23px;height:23px;stroke:var(--oliva);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.sv h3{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--verde);margin-bottom:.3rem}
.sv-link{display:inline-block;margin-top:.6rem;font-size:.88rem;font-weight:600;color:var(--oliva);text-decoration:none}
.sv-link::after{content:" →";transition:.25s}
.sv-link:hover{color:var(--verde)}
.sv p{margin:0;font-size:.88rem;color:var(--tinta-2);line-height:1.5}
@media(max-width:900px){.servicios{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.servicios{grid-template-columns:minmax(0,1fr)}}

/* cómo trabajamos */
.metodo .wrap{position:relative}
.metodo .eyebrow{color:var(--hoja)}
@media(max-width:820px){.pasos{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.pasos::before{display:none}}

/* la finca */
.sup.real{background:#F1F4E6;border-color:var(--lab-bor)}
.sup.real b{color:var(--lab-osc)}
.finca .pie{grid-column:2;margin:1rem 0 0;font-size:.9rem;color:var(--tinta-2);text-align:right}
@media(max-width:860px){.finca-grid{grid-template-columns:minmax(0,1fr)}.sups{grid-template-columns:minmax(0,1fr)}.finca .pie{grid-column:1;text-align:left}}

/* laboratorio */
@media(max-width:860px){.lab-grid{grid-template-columns:minmax(0,1fr)}}

/* cifras */
.barra-cifras .wrap{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.25rem}
@media(max-width:1000px){.barra-cifras .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}.cf{border-left:0;padding-left:0}}
@media(max-width:560px){.barra-cifras .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}

/* preguntas */
.faq .resp{margin:0;padding:0 1.1rem 1.1rem;font-size:.92rem;color:var(--tinta-2)}
.faq .resp+.resp{padding-top:0;margin-top:-.5rem}
@media(max-width:800px){.faq{grid-template-columns:minmax(0,1fr)}}

/* reseñas */
@media(max-width:860px){.resenas-grid{grid-template-columns:minmax(0,1fr)}}

/* llamada final */
.botones-cierre{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.6rem}
.btn{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.6rem;border-radius:8px;text-decoration:none;font-weight:600;font-size:.98rem;border:1.5px solid transparent;transition:.25s}
.btn::after{content:"→";transition:transform .25s}
.btn:hover::after{transform:translateX(4px)}
.btn-p{background:var(--verde);color:var(--crema);border-color:var(--verde)}
.btn-p:hover{background:var(--oliva);border-color:var(--oliva)}
.btn-o{border-color:var(--verde);color:var(--verde)}
.btn-o:hover{background:var(--verde);color:var(--crema)}
.btn-lab{background:var(--lab-osc);color:#F6F8EE;border-color:var(--lab-osc)}
.btn-lab:hover{background:var(--lab-cla);border-color:var(--lab-cla);color:var(--lab-osc)}
.btn-wa{background:#25D366;border-color:#25D366;color:#fff}
.btn-wa:hover{background:#1EBE5B;border-color:#1EBE5B}
.btn-claro{background:var(--crema);border-color:var(--crema);color:var(--verde)}
.btn-claro:hover{background:var(--hoja);border-color:var(--hoja);color:#fff}

/* contacto */
.contacto{background:var(--verde);color:var(--crema)}
.contacto h2{color:var(--crema);font-size:clamp(1.6rem,3vw,2.2rem);margin-bottom:1.5rem}
.contacto .eyebrow{color:var(--hoja)}
.cont-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,3.5rem)}
.vias{display:grid;gap:1rem;align-content:start;margin-top:.5rem}
.via{display:flex;gap:.8rem;align-items:center;text-decoration:none;font-size:1rem}
.via svg{width:20px;height:20px;flex:none;stroke:var(--hoja);fill:none;stroke-width:1.6}
.via:hover{color:var(--hoja)}
form{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem}
.f{display:flex;flex-direction:column}
.f.full{grid-column:1/-1}
label{position:absolute;left:-9999px}
input,select,textarea{font-family:var(--sans);font-size:.98rem;color:var(--crema);background:rgba(247,243,237,.07);
  border:1px solid rgba(247,243,237,.25);border-radius:8px;padding:.85rem 1rem}
select option{color:var(--tinta)}
textarea{resize:vertical;min-height:120px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--hoja)}
::placeholder{color:rgba(247,243,237,.55)}
.consent{grid-column:1/-1;display:flex;gap:.6rem;align-items:flex-start;font-size:.82rem;color:rgba(247,243,237,.72)}
.consent input{width:17px;height:17px;flex:none;margin-top:.15rem;accent-color:var(--hoja)}
.enviar{grid-column:1/-1;justify-self:end;background:var(--hoja);color:#fff;border:0;border-radius:8px;
  padding:.85rem 1.9rem;font-family:var(--sans);font-weight:600;font-size:.98rem;cursor:pointer;transition:.25s}
.enviar:hover{background:var(--crema);color:var(--verde)}
.enviar[disabled]{opacity:.6;cursor:wait}
.aviso-form{grid-column:1/-1;margin:0;font-size:.9rem;color:rgba(247,243,237,.85)}
.enviado{grid-column:1/-1;border:1px solid rgba(133,164,38,.55);background:rgba(133,164,38,.14);padding:1.6rem;border-radius:10px}
.enviado h3{color:var(--crema);font-size:1.25rem;margin-bottom:.4rem}
.enviado p{margin:0;color:rgba(247,243,237,.85)}
.enviado a{color:var(--hoja);font-weight:600}
@media(max-width:860px){.cont-grid{grid-template-columns:minmax(0,1fr)}form{grid-template-columns:minmax(0,1fr)}}

/* pie */
.pie{background:var(--verde-osc);color:rgba(247,243,237,.7);font-size:.85rem}
.pie .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-block:1.6rem}
.pie a{text-decoration:none}
.pie a:hover{color:var(--hoja)}
.legal-nav{display:flex;gap:1.25rem;flex-wrap:wrap}

/* barra fija en móvil */
.barra{display:none}
@media(max-width:1040px){
  .barra{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);position:fixed;left:0;right:0;bottom:0;z-index:80;
    border-top:1px solid rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom)}
  .barra a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.95rem;text-decoration:none;font-weight:600}
  .barra svg{width:19px;height:19px}
  .barra .b-wa{background:#25D366;color:#fff}
  .barra .b-wa svg{fill:#fff}
  .barra .b-tel{background:var(--verde);color:var(--crema)}
  .barra .b-tel svg{fill:none;stroke:currentColor;stroke-width:1.8}
  body{padding-bottom:60px}
}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.reveal.on{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ---------- páginas interiores ---------- */
.hero-int{position:relative;overflow:hidden;background:#2B3A24}
.hero-int::before{content:"";position:absolute;inset:0;background-size:cover;background-position:center 42%}
.hero-int::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(14,34,17,.90) 0%,rgba(14,34,17,.76) 45%,rgba(14,34,17,.34) 100%)}
.hero-int .wrap{position:relative;z-index:2;padding-block:clamp(2.75rem,6vw,4.75rem);max-width:var(--maxw)}
.hero-int .interior{max-width:640px}
.hero-int .eyebrow{color:#C6D89A}
.hero-int h1{color:#fff;font-size:clamp(1.85rem,4vw,2.9rem);margin:.9rem 0 0}
.hero-int p{margin:1rem 0 0;color:rgba(255,255,255,.86);font-size:1.05rem;max-width:56ch}
.hero-int .botones{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.9rem}
.hero-campo::before{background-image:url("/img/fernando-bueno-medicion-finca-jaen.webp")}
.hero-tasa::before{background-image:url("/img/fernando-bueno-ingeniero-tecnico-agricola.webp");background-position:center 28%}

/* migas de pan */
.migas{border-bottom:1px solid var(--linea);background:var(--crema-2)}
.migas ol{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin:0;padding:.7rem 0;list-style:none;font-size:.85rem;color:var(--tinta-2)}
.migas li{display:flex;align-items:center;gap:.45rem}
.migas li+li::before{content:"›";color:var(--linea)}
.migas a{color:var(--tinta-2);text-decoration:none}
.migas a:hover{color:var(--verde);text-decoration:underline}
.migas [aria-current]{color:var(--verde);font-weight:600}

/* bloques de contenido interior */
.prosa{max-width:70ch}
.situaciones>div{min-width:0}
.servicios>*{min-width:0}
.prosa p{margin:0 0 1rem;color:var(--tinta-2)}
.prosa h2{font-size:clamp(1.4rem,2.5vw,1.9rem);color:var(--verde);margin:0 0 1.1rem;padding-bottom:.65rem;position:relative}
.prosa h2::after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;background:var(--hoja)}
.prosa h3{font-size:1.08rem;color:var(--verde);margin:1.75rem 0 .5rem}
.prosa ul{margin:0 0 1.25rem;padding-left:1.15rem}
.prosa li{margin-bottom:.45rem;color:var(--tinta-2)}
.prosa li::marker{color:var(--hoja)}
.prosa strong{color:var(--tinta)}
.gris{background:var(--crema-2);border-block:1px solid var(--linea)}

/* lista de situaciones */
.situaciones{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1.75rem}
.situaciones div{display:flex;gap:.75rem;align-items:flex-start;background:var(--crema-2);border:1px solid var(--linea);border-radius:10px;padding:1rem 1.15rem}
.situaciones svg{width:18px;height:18px;flex:none;margin-top:.2rem;stroke:var(--hoja);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.situaciones p{margin:0;font-size:.94rem;color:var(--tinta-2)}
@media(max-width:760px){.situaciones{grid-template-columns:minmax(0,1fr)}}

/* pasos numerados */
.proceso{counter-reset:paso;list-style:none;margin:1.75rem 0 0;padding:0;display:grid;gap:.9rem}
.proceso li{counter-increment:paso;position:relative;padding:1rem 1.2rem 1rem 3.4rem;background:var(--crema-2);border:1px solid var(--linea);border-radius:10px;color:var(--tinta-2);font-size:.95rem}
.proceso li::before{content:counter(paso);position:absolute;left:1rem;top:.95rem;width:28px;height:28px;border-radius:50%;background:var(--verde);color:var(--crema);display:grid;place-content:center;font-family:var(--serif);font-size:.9rem}
.proceso li b{color:var(--verde)}

/* dos columnas de contenido */
.cols>*{min-width:0}
.cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.75rem,3.5vw,3rem);align-items:start}
@media(max-width:860px){.cols{grid-template-columns:minmax(0,1fr)}}

/* preguntas en interiores */
.faq-int details{border:1px solid var(--linea);border-radius:10px;background:var(--crema-2);margin-bottom:.7rem}
.faq-int summary{cursor:pointer;list-style:none;padding:.95rem 2.75rem .95rem 1.1rem;position:relative;font-size:.97rem;font-weight:600;color:var(--verde)}
.faq-int summary::-webkit-details-marker{display:none}
.faq-int summary::after{content:"+";position:absolute;right:1.1rem;top:.8rem;font-size:1.25rem;font-weight:400;color:var(--hoja);transition:transform .25s}
.faq-int details[open] summary::after{transform:rotate(45deg)}
.faq-int .resp{margin:0;padding:0 1.1rem 1.1rem;font-size:.93rem;color:var(--tinta-2)}
.faq-int .resp+.resp{padding-top:0;margin-top:-.5rem}

/* ---------- hero interior del laboratorio ---------- */
.hero-lab-int{background:#2C331A}
.hero-lab-int::before{background-image:url("/img/laboratorio-aceituna-villargordo-interior.webp");background-position:center 38%}
.hero-lab-int::after{background:linear-gradient(100deg,rgba(30,36,14,.90) 0%,rgba(30,36,14,.76) 45%,rgba(30,36,14,.30) 100%)}
.hero-lab-int .eyebrow{color:#C3D66B}
.lab-doc .prosa h2{color:var(--lab-osc)}
.lab-doc .prosa h2::after{background:var(--lab-cla)}
.lab-doc .prosa h3{color:var(--lab-osc)}
.lab-doc .prosa li::marker{color:var(--lab-cla)}
.lab-doc .prosa strong{color:var(--lab-osc)}
.lab-doc .gris{background:var(--lab-bg);border-color:var(--lab-bor)}
.lab-doc .situaciones div{background:var(--lab-bg);border-color:var(--lab-bor)}
.lab-doc .situaciones svg{stroke:var(--lab-cla)}
.lab-doc .proceso li{background:var(--lab-bg);border-color:var(--lab-bor)}
.lab-doc .proceso li::before{background:var(--lab-osc)}
.lab-doc .proceso li b{color:var(--lab-osc)}
.lab-doc .faq-int details{background:var(--lab-bg);border-color:var(--lab-bor)}
.lab-doc .faq-int summary{color:var(--lab-osc)}
.lab-doc .faq-int summary::after{color:var(--lab-cla)}
.lab-doc .migas a:hover,.lab-doc .migas [aria-current]{color:var(--lab-osc)}
.ficha-lab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1.5rem}
.ficha-lab div{background:#F8FAF0;border:1px solid var(--lab-bor);border-radius:11px;padding:1.15rem 1.3rem}
.ficha-lab b{display:block;font-family:var(--serif);font-size:1.05rem;color:var(--lab-osc);margin-bottom:.25rem}
.ficha-lab span{font-size:.92rem;color:var(--lab-txt)}
@media(max-width:700px){.ficha-lab{grid-template-columns:minmax(0,1fr)}}

/* ---------- bloques de texto y fotografía (laboratorio) ---------- */
.bloque-foto{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(1.75rem,3.5vw,3.25rem);align-items:center}
.bloque-foto>*{min-width:0}
.bloque-foto .prosa{max-width:58ch}
.foto-lab{margin:0}
.foto-lab img{width:100%;height:auto;display:block;border-radius:12px;border:1px solid var(--lab-bor)}
.foto-lab figcaption{margin-top:.6rem;font-size:.85rem;color:var(--lab-txt)}
.foto-alta img{max-height:520px;width:auto;margin-inline:auto}
@media(max-width:860px){
  .bloque-foto{grid-template-columns:minmax(0,1fr)}
  .bloque-foto .foto-lab{order:-1;max-width:520px;margin-inline:auto}
  .foto-alta img{max-height:none;width:100%}
}

/* ===== TARJETAS DEL HERO Y BLOQUE DE CONTACTO ===== */
/* Los dos recuadros son idénticos: fondo crema.
   Texto en #122F17 (contraste 13,15) y botón en #122F17 con texto crema. */
.tarjeta,.mitad-lab .tarjeta{background:var(--crema);border:1px solid var(--linea);
  box-shadow:0 24px 50px -26px rgba(14,34,17,.75)}
.tarjeta h2,.mitad-lab .tarjeta h2{font-family:var(--titular);font-weight:600;color:#122F17;letter-spacing:-.005em}
.tarjeta p,.mitad-lab .tarjeta p{font-family:var(--sans);color:var(--aceituna)}
.tarjeta .btn,.mitad-lab .tarjeta .btn{font-family:var(--sans);background:#122F17;border-color:#122F17;color:var(--crema)}
.tarjeta .btn::after,.mitad-lab .tarjeta .btn::after{color:var(--crema)}
.tarjeta .btn:hover,.mitad-lab .tarjeta .btn:hover{background:var(--aceituna);border-color:var(--aceituna);color:var(--crema)}
.tarjeta .btn:hover::after,.mitad-lab .tarjeta .btn:hover::after{color:var(--crema)}

.contacto{background:var(--aceituna);color:var(--crema)}
.contacto h2{color:var(--crema);font-family:var(--titular);font-weight:600}
.contacto .eyebrow{color:#DCE7B6}
.via svg{stroke:#DCE7B6}
.via:hover{color:#DCE7B6}
input,select,textarea{background:rgba(247,243,237,.10);border-color:rgba(247,243,237,.38)}
input:focus,select:focus,textarea:focus{border-color:var(--crema)}
::placeholder{color:rgba(247,243,237,.62)}
.consent{color:rgba(247,243,237,.85)}
.consent input{accent-color:var(--crema)}
.consent a{color:#FFFFFF!important;text-decoration:underline}
.enviar{background:var(--crema);color:var(--aceituna);font-family:var(--sans)}
.enviar:hover{background:var(--verde);color:var(--crema)}
.botones-cierre .btn-claro{background:var(--crema);border-color:var(--crema);color:var(--aceituna)}
.botones-cierre .btn-claro:hover{background:var(--verde);border-color:var(--verde);color:var(--crema)}
.enviado{border-color:rgba(247,243,237,.5);background:rgba(247,243,237,.14)}
.enviado a{color:#FFFFFF}
.aviso-form{color:rgba(247,243,237,.9)}

/* ---------- puntos de recogida ---------- */
.puntos{display:flex;flex-wrap:wrap;gap:.5rem .7rem;align-items:center;
  list-style:none;margin:1.25rem 0 0;padding:0}
.puntos li{display:flex;align-items:center;gap:.7rem;font-size:1.02rem;font-weight:600;color:var(--lab-osc)}
.puntos li:not(:last-child)::after{content:"·";color:var(--lab-cla);font-weight:400}
@media(max-width:520px){
  .puntos{flex-direction:column;align-items:flex-start;gap:.45rem}
  .puntos li:not(:last-child)::after{display:none}
  .puntos li{padding-left:1rem;position:relative}
  .puntos li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--lab-cla)}
}

/* ---------- servicios de la portada ---------- */
.servicios-portada .tit-servicios{font-size:clamp(1.4rem,2.6vw,2rem);color:var(--verde);
  text-align:center;margin:0 auto clamp(1.75rem,3vw,2.5rem);max-width:24ch;position:relative;padding-bottom:.9rem}
.servicios-portada .tit-servicios::after{content:"";position:absolute;left:50%;transform:translateX(-50%);
  bottom:0;width:58px;height:3px;background:var(--hoja)}
.servicios-portada .servicios{grid-template-columns:repeat(4,minmax(0,1fr))}
.servicios-portada .sv{text-decoration:none;color:inherit;flex-direction:column;gap:.9rem}
.servicios-portada .sv:hover{background:var(--crema)}
.servicios-portada .sv:hover .sv-link{color:var(--verde)}
.servicios-portada .sv:hover .sv-link::after{transform:translateX(4px)}
.servicios-portada .sv-link::after{display:inline-block}
@media(max-width:1000px){.servicios-portada .servicios{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.servicios-portada .servicios{grid-template-columns:minmax(0,1fr)}}
