/* ==================== Base / tokens visuales ==================== */
:root{
  --green:#174b37; --green-2:#235f43; --green-3:#3f7457; --olive:#7e7d41;
  --cream:#fbf7ed; --cream-2:#f4efe3; --paper:#fffdf7; --ink:#173b2d; --text:#3e4741;
  --gold:#b98438; --brown:#6a4425; --line:#dfe4dc; --shadow:0 8px 22px rgba(39,55,45,.10);
  --radius:14px; --container:min(1140px,calc(100% - 48px));
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.45;overflow-x:hidden}body.menu-open,body.modal-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.container{width:var(--container);margin-inline:auto}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;left:12px;top:-100px;z-index:999;background:#fff;color:#000;padding:10px 14px;border-radius:8px}.skip-link:focus{top:12px}.icon{width:1.15em;height:1.15em;display:inline-block;vertical-align:-.18em;flex:0 0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:10px 18px;border:1px solid transparent;border-radius:999px;font-weight:700;font-size:.92rem;transition:.18s ease;cursor:pointer}.btn:hover{transform:translateY(-1px)}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #e6b868;outline-offset:3px}.btn-primary,.btn-whatsapp{background:var(--green-2);color:#fff;box-shadow:0 5px 14px rgba(23,75,55,.22)}.btn-primary:hover,.btn-whatsapp:hover{background:var(--green)}.btn-light{background:rgba(255,253,247,.96);color:#203d31;border-color:rgba(23,75,55,.14)}


/* ==================== Encabezado y navegación ==================== */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,253,247,.98);border-bottom:1px solid rgba(43,73,56,.08);backdrop-filter:blur(12px)}.header-inner{height:72px;width:var(--container);margin:auto;display:flex;align-items:center;gap:18px}.brand{width:150px;height:62px;overflow:hidden;display:flex;align-items:center;justify-content:flex-start}.brand img{width:72px;height:72px;object-fit:contain}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:26px;margin-left:auto;font-size:.82rem;color:#243b31}.desktop-nav a{padding:25px 0 20px;border-bottom:2px solid transparent}.desktop-nav a:hover,.desktop-nav a.active{color:var(--green);border-bottom-color:var(--green)}.header-whatsapp{font-size:.78rem;padding:9px 14px;min-height:38px}.header-note{font-family:"Segoe Print","Bradley Hand",cursive;font-size:.72rem;line-height:1.05;transform:rotate(-5deg);color:#31513f;white-space:nowrap}.menu-toggle{display:none;border:0;background:transparent;color:var(--green);padding:9px}.menu-toggle .icon{width:26px;height:26px}.mobile-menu{position:absolute;left:16px;right:16px;top:68px;background:#fffdf7;border:1px solid #e7e7df;border-radius:16px;padding:8px;box-shadow:0 16px 40px rgba(0,0,0,.16)}.mobile-menu a{display:block;padding:12px;border-radius:10px;font-weight:700}.mobile-menu a:hover{background:#f3f5ef}


/* ==================== Hero panorámico ==================== */
.hero{position:relative;height:clamp(335px,28.1vw,400px);color:#fff;overflow:hidden;background:#274d39}.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 75%}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,34,24,.64) 0%,rgba(10,34,24,.40) 36%,rgba(10,34,24,.10) 64%,rgba(10,34,24,.04) 100%),linear-gradient(0deg,rgba(8,31,22,.55),transparent 32%)}.hero-content{position:relative;height:100%;display:flex;align-items:center}.hero-copy{width:59%;margin-top:-25px;text-shadow:0 2px 10px rgba(0,0,0,.24)}.hero-copy h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2.4rem,4vw,3.55rem);line-height:.94;margin:0 0 14px;letter-spacing:-.035em;color:#fff}.hero-copy p{font-size:1.13rem;line-height:1.25;max-width:560px;margin:0 0 20px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.wood-sign{position:absolute;right:8px;top:32px;width:132px;display:flex;flex-direction:column;gap:5px;transform:rotate(-3deg)}.wood-sign span{background:linear-gradient(#9b6a36,#79502b);border:1px solid rgba(58,37,17,.55);box-shadow:0 2px 5px rgba(0,0,0,.24);padding:5px 8px;text-align:center;color:#f8e5bd;font-family:Georgia,serif;font-size:.66rem}.hero-handnote{position:absolute;right:15px;bottom:54px;font-family:"Segoe Print","Bradley Hand",cursive;font-size:1rem;line-height:1.07;transform:rotate(-8deg);text-align:center}.hero-features{position:absolute;left:0;right:0;bottom:0;height:52px;display:flex;justify-content:center;align-items:center;gap:48px;padding:0 22px;background:linear-gradient(0deg,rgba(9,35,24,.62),rgba(9,35,24,.18))}.hero-features span{display:flex;align-items:center;gap:8px;font-size:.75rem;font-weight:700;white-space:nowrap}.hero-features .icon{width:24px;height:24px}


/* ==================== Secciones generales / experiencias ==================== */
.section{padding:18px 0}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:14px}.section h2,.panel-title h2,.contact-inner h2,.modal h2{font-family:Georgia,"Times New Roman",serif;color:#173d2e;letter-spacing:-.025em}.section-heading h2{font-size:2rem;line-height:1;margin:0}.section-heading h2::after,.story-copy h2::after,.panel-title h2::after{content:"";display:inline-block;width:38px;height:1px;background:#537964;margin-left:12px;vertical-align:middle}.section-heading p,.panel-title p{margin:5px 0 0;font-size:.82rem}.text-link{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:700;color:#264c3a;border-bottom:1px solid #6c927e;padding-bottom:3px}.experience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.experience-card{background:#fffdf8;border:1px solid #e7e6de;border-radius:8px;box-shadow:0 4px 12px rgba(61,72,63,.08);overflow:hidden;min-width:0}.experience-photo{position:relative;display:block;width:100%;aspect-ratio:2.45/1;border:0;padding:0;background:#ddd;cursor:zoom-in;overflow:hidden}.experience-photo img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}.experience-card:hover .experience-photo img{transform:scale(1.025)}.status-badge{position:absolute;right:8px;top:8px;background:var(--green);color:white;border-radius:999px;padding:5px 8px;font-size:.62rem;font-weight:800}.experience-body{display:grid;grid-template-columns:44px 1fr;gap:8px;padding:0 11px 10px;min-height:74px}.experience-icon{width:44px;height:44px;border-radius:50%;border:1px solid #c6924e;background:#fffdf8;color:#a66e28;display:grid;place-items:center;margin-top:-17px;position:relative}.experience-icon .icon{width:25px;height:25px}.experience-body h3{font-family:Georgia,"Times New Roman",serif;color:#202d27;font-size:.91rem;line-height:1.08;margin:7px 0 3px}.experience-body p{font-size:.69rem;line-height:1.25;margin:0;color:#566058}


/* ==================== Historia y collage ==================== */
.farm-story{padding-top:10px;position:relative}.ornament{position:absolute;opacity:.75;pointer-events:none}.ornament-left{width:76px;left:max(0px,calc(50% - 650px));bottom:18px}.story-grid{display:grid;grid-template-columns:40% 60%;align-items:center;gap:22px}.story-copy h2{font-size:2rem;margin:0;line-height:1}.story-copy .lead{font-size:.91rem;margin:6px 0 10px}.story-copy p:not(.lead){font-size:.77rem;line-height:1.45;margin:0 0 8px}.story-copy .btn{margin-top:5px}.story-collage{height:185px;position:relative}.story-collage .photo{position:absolute;border:5px solid #fffdf8;box-shadow:0 6px 15px rgba(40,58,45,.18);object-fit:cover;cursor:zoom-in}.p1{width:28%;height:43%;left:11%;top:1%;transform:rotate(-2deg)}.p2{width:40%;height:60%;right:7%;top:1%;transform:rotate(2deg)}.p3{width:24%;height:43%;left:44%;bottom:0;transform:rotate(-7deg)}.p4{width:35%;height:45%;left:20%;bottom:4%;transform:rotate(1deg)}.paper-note{position:absolute;background:#f7f0df url('../images/fondos/textura-papel.webp');background-size:240px;border:1px solid #e7dfcf;padding:10px 12px;font-family:"Segoe Print","Bradley Hand",cursive;color:#31463a;box-shadow:0 4px 10px rgba(0,0,0,.08);font-size:.72rem;line-height:1.15}.note-a{left:2%;bottom:4%;transform:rotate(-8deg)}.note-b{right:-2%;bottom:10%;transform:rotate(4deg);font-size:.68rem;text-align:center}


/* ==================== Huevos Alegre / Próximamente ==================== */
.twin-panels{padding-top:10px;padding-bottom:12px}.twin-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.feature-panel{position:relative;border:1px solid #e4e3da;border-radius:10px;background:#fffdf8;box-shadow:0 5px 16px rgba(50,65,56,.08);padding:14px;overflow:hidden;min-height:190px}.panel-title h2{font-size:1.9rem;line-height:1;margin:0}.panel-title p{font-size:.76rem}.eggs-layout{display:grid;grid-template-columns:160px 120px 1fr;grid-template-rows:auto auto;gap:7px 12px;align-items:center;margin-top:9px}.product-photo{width:160px;height:128px;object-fit:cover;border-radius:7px;grid-row:1/3}.eggs-logo{width:120px;height:105px;object-fit:contain;grid-row:1/3}.eggs-layout ul{list-style:none;padding:0;margin:0}.eggs-layout li{position:relative;padding-left:18px;font-size:.68rem;margin:5px 0}.eggs-layout li::before{content:"";position:absolute;left:0;top:3px;width:9px;height:9px;border-radius:8px 2px 8px 2px;background:#71945e;transform:rotate(-25deg)}.eggs-layout .btn{justify-self:start;min-height:34px;padding:6px 14px;font-size:.72rem}.panel-note{left:128px;bottom:10px;transform:rotate(-8deg);font-size:.61rem;padding:6px 8px}.upcoming-panel{padding-right:95px}.bungalow-card{position:relative;margin-top:9px;border-radius:8px;overflow:hidden;height:137px;background:#eee}.bungalow-card>img{width:100%;height:100%;object-fit:cover;filter:saturate(.86)}.bungalow-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0 35%,rgba(249,245,235,.9) 58%,rgba(249,245,235,.98) 100%)}.coming-pill{position:absolute;z-index:2;left:47%;top:16px;background:var(--green-2);color:white;border-radius:999px;padding:7px 13px;font-size:.64rem;font-weight:800;transform:rotate(-3deg)}.bungalow-copy{position:absolute;z-index:2;right:12px;bottom:12px;width:45%;font-size:.69rem;color:#30483c}.bungalow-copy strong{font-family:Georgia,serif;font-size:.78rem}.bungalow-copy p{font-size:.64rem;margin:4px 0}.upcoming-side{position:absolute;right:9px;top:56px;width:75px;text-align:center;font-family:"Segoe Print","Bradley Hand",cursive;color:#425b4c;font-size:.68rem;transform:rotate(4deg)}.upcoming-side img{margin:6px auto;width:70px}.upcoming-side small{font-size:.58rem}


/* ==================== Banda final de contacto ==================== */
.contact-band{position:relative;height:82px;overflow:hidden;color:white}.contact-band>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 53%}.contact-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,42,29,.74),rgba(13,51,34,.42))}.contact-inner{position:relative;height:100%;display:grid;grid-template-columns:1.2fr auto 120px;gap:24px;align-items:center}.contact-inner h2{margin:0;color:white;font-size:1.75rem;line-height:1}.contact-inner p{font-size:.72rem;margin:7px 0 0}.contact-actions{display:flex;gap:11px}.contact-actions .btn{font-size:.72rem;min-height:37px;padding:7px 13px}.contact-note{font-family:"Segoe Print","Bradley Hand",cursive;transform:rotate(-7deg);font-size:.8rem;text-align:center}


/* ==================== Footer ==================== */
.site-footer{background:#134632;color:#fff;padding:7px 0 6px}.footer-main{display:grid;grid-template-columns:180px 1.2fr 1fr 1fr auto 175px 110px;align-items:center;gap:16px}.footer-brand{display:flex;align-items:center;gap:8px}.footer-brand img{width:46px;height:46px;object-fit:contain;border-radius:50%;background:#fff}.footer-brand span{font-size:.6rem;line-height:1.2;color:#d8e3dc}.footer-item{display:flex;align-items:center;gap:7px;font-size:.67rem;color:#eef5f1}.footer-social{display:flex;gap:8px}.footer-social a{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(255,255,255,.22)}.complaints img{width:138px;height:auto}.footer-note{font-family:"Segoe Print","Bradley Hand",cursive;font-size:.67rem;text-align:center;transform:rotate(-4deg)}.footer-bottom{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:6px;padding-top:5px;border-top:1px solid rgba(255,255,255,.12);font-size:.58rem;color:#d7e4dd}.footer-bottom nav{display:flex;gap:13px;flex-wrap:wrap;justify-content:flex-end}.footer-bottom a:hover{text-decoration:underline}


/* ==================== Diálogos / galería ==================== */
.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;background:rgba(8,24,17,.78);display:grid;place-items:center;padding:20px}.modal-card{position:relative;width:min(780px,96vw);max-height:90dvh;overflow:auto;background:#fffdf8;border-radius:16px;box-shadow:0 30px 80px rgba(0,0,0,.36)}.modal-close{position:absolute;right:12px;top:12px;z-index:2;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.95);display:grid;place-items:center;color:var(--green);box-shadow:0 3px 10px rgba(0,0,0,.15);cursor:pointer}.gallery-modal>img{width:100%;aspect-ratio:16/9;object-fit:cover}.modal-copy,.history-modal{padding:22px}.modal-copy h2,.history-modal h2{font-size:2rem;margin:0 0 8px}.modal-copy p,.history-modal p{font-size:.92rem}.history-modal{max-width:650px}


/* ==================== Responsive ==================== */
@media (max-width:1000px){
  :root{--container:min(94%,920px)}.desktop-nav{gap:16px}.header-note{display:none}.header-whatsapp span{display:none}.header-whatsapp{width:40px;padding:0}.hero-features{gap:24px}.story-grid{grid-template-columns:43% 57%}.footer-main{grid-template-columns:150px 1fr 1fr auto 150px}.footer-social{display:none}.footer-note{display:none}
}
@media (max-width:900px){
  .header-inner{height:64px}.brand{width:auto}.brand img{width:58px;height:58px}.desktop-nav,.header-whatsapp{display:none}.menu-toggle{display:block;margin-left:auto}.hero{height:500px}.hero-bg{object-position:58% 68%}.hero-overlay{background:linear-gradient(90deg,rgba(8,32,22,.78),rgba(8,32,22,.24)),linear-gradient(0deg,rgba(8,32,22,.68),transparent 48%)}.hero-content{align-items:flex-start;padding-top:76px}.hero-copy{width:75%;margin:0}.wood-sign{right:18px;top:40px;transform:scale(.88) rotate(-3deg);transform-origin:top right}.hero-handnote{bottom:74px;right:20px}.hero-features{height:64px;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;gap:30px}.hero-features::-webkit-scrollbar{display:none}.experience-grid{grid-template-columns:repeat(2,1fr)}.story-grid{grid-template-columns:1fr;gap:6px}.story-copy{max-width:650px}.story-collage{height:340px}.note-b{right:0}.twin-grid{grid-template-columns:1fr}.contact-inner{grid-template-columns:1fr auto}.contact-note{display:none}.footer-main{grid-template-columns:160px 1fr 1fr 160px}.footer-social,.footer-note{display:none}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom nav{justify-content:flex-start}.ornament-left{display:none}
}
@media (max-width:620px){
  :root{--container:calc(100% - 28px)}.site-header{position:sticky}.hero{height:510px}.hero-bg{object-position:62% 70%;transform:scale(1.02)}.hero-content{padding-top:48px}.hero-copy{width:100%;padding-right:10px}.hero-copy h1{font-size:2.7rem;max-width:340px}.hero-copy p{font-size:1rem;max-width:330px}.hero-actions{gap:8px}.hero-actions .btn{min-height:40px;padding:8px 14px;font-size:.8rem}.wood-sign{display:none}.hero-handnote{right:18px;bottom:80px;font-size:.82rem}.hero-features{gap:26px;padding-inline:16px}.hero-features span{font-size:.66rem}.section{padding:15px 0}.section-heading{align-items:flex-start}.section-heading h2{font-size:1.7rem}.section-heading .text-link{font-size:.66rem;white-space:nowrap;margin-top:6px}.experience-grid{grid-template-columns:1fr;gap:10px}.experience-card{display:grid;grid-template-columns:42% 58%;min-height:118px}.experience-photo{aspect-ratio:auto;height:100%}.experience-body{grid-template-columns:40px 1fr;min-height:auto;padding:8px 10px 8px 0}.experience-icon{width:40px;height:40px;margin:3px 0 0 -19px}.experience-icon .icon{width:22px}.experience-body h3{font-size:.88rem;margin:3px 0 5px}.experience-body p{font-size:.68rem}.story-copy h2{font-size:1.75rem}.story-copy p:not(.lead){font-size:.75rem}.story-collage{height:315px;margin-top:8px}.p1{width:39%;left:2%;height:38%}.p2{width:48%;right:1%;height:43%}.p3{width:31%;left:52%;height:35%}.p4{width:47%;left:17%;height:38%}.note-a{font-size:.62rem;left:1%}.note-b{font-size:.58rem;right:-1%;bottom:4%}.feature-panel{padding:12px;min-height:unset}.panel-title h2{font-size:1.65rem}.eggs-layout{grid-template-columns:118px 98px 1fr;gap:7px}.product-photo{width:118px;height:118px}.eggs-logo{width:92px;height:92px}.eggs-layout li{font-size:.61rem;padding-left:14px}.eggs-layout .btn{grid-column:2/4}.panel-note{left:86px;bottom:12px}.upcoming-panel{padding-right:12px}.upcoming-side{display:none}.bungalow-card{height:160px}.bungalow-card::after{background:linear-gradient(0deg,rgba(249,245,235,.98),rgba(249,245,235,.1) 62%)}.coming-pill{left:auto;right:12px;top:12px}.bungalow-copy{left:12px;right:auto;bottom:10px;width:76%}.contact-band{height:185px}.contact-inner{grid-template-columns:1fr;gap:10px;align-content:center}.contact-inner h2{font-size:1.7rem}.contact-actions{flex-wrap:wrap}.footer-main{grid-template-columns:1fr 1fr;gap:12px}.footer-brand{grid-column:1/3}.complaints{justify-self:start}.footer-bottom{font-size:.6rem}.footer-bottom nav{gap:10px}.modal{padding:10px}.modal-card{width:100%;border-radius:13px}
}
@media (max-width:420px){
  .hero-copy h1{font-size:2.35rem}.section-heading{display:block}.section-heading .text-link{display:inline-flex;margin-top:9px}.experience-card{grid-template-columns:39% 61%}.story-collage{height:290px}.eggs-layout{grid-template-columns:110px 1fr}.eggs-logo{grid-row:auto;width:84px;height:84px}.product-photo{grid-row:1/4}.eggs-layout ul{grid-column:2}.eggs-layout .btn{grid-column:2}.panel-note{display:none}.footer-main{grid-template-columns:1fr}.footer-brand{grid-column:auto}.complaints{justify-self:start}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.btn:hover{transform:none}.experience-card:hover img{transform:none}}

/* Ajustes finales de fidelidad móvil */
@media (max-width:620px){
  .eggs-layout{grid-template-columns:42% 58%;grid-template-areas:"photo logo" "photo list" "photo button";align-items:start;column-gap:10px;row-gap:6px}
  .eggs-layout .product-photo{grid-area:photo;width:100%;height:150px;align-self:stretch}
  .eggs-layout .eggs-logo{grid-area:logo;width:92px;height:82px;justify-self:center;margin-top:-3px}
  .eggs-layout ul{grid-area:list;margin-top:-4px}
  .eggs-layout .btn{grid-area:button;justify-self:start}
  .bungalow-card::after{background:linear-gradient(0deg,rgba(249,245,235,.94) 0 37%,rgba(249,245,235,.12) 72%,transparent 100%)}
  .bungalow-card>img{filter:saturate(.95) brightness(.98)}
}
@media (max-width:420px){
  .eggs-layout{grid-template-columns:43% 57%;grid-template-areas:"photo logo" "photo list" "photo button"}
  .eggs-layout .product-photo{grid-row:auto;height:150px}
  .eggs-layout .eggs-logo{grid-row:auto;width:86px;height:76px}
  .eggs-layout ul{grid-column:auto}.eggs-layout .btn{grid-column:auto}
}


/* Controles discretos de galería; solo aparecen dentro del modal. */
.gallery-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding:9px 14px 0}.gallery-controls button{width:36px;height:36px;border-radius:50%;border:1px solid #d8ded8;background:#fff;color:var(--green);font-size:1.4rem;line-height:1;cursor:pointer}.gallery-controls button:hover,.gallery-controls button:focus-visible{background:var(--cream);outline:2px solid var(--green);outline-offset:2px}.gallery-controls span{min-width:44px;text-align:center;font-size:.72rem;color:var(--muted)}
.status-consult{font-size:.56rem;max-width:120px;text-align:center}
