@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap');:root{--olive:#35462a;--olive2:#556241;--terra:#b35a43;--gold:#f4c430;--cream:#f8f5ec;--sand:#eadcc6;--ink:#263020}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font:16px/1.6 'DM Sans',Arial,sans-serif;background:var(--cream)}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;line-height:1.14;margin:0 0 20px}h1{font-size:clamp(2.7rem,6vw,5.7rem);max-width:850px}h2{font-size:clamp(2rem,4vw,3.5rem)}p{margin:0 0 20px}.wrap{width:min(1160px,calc(100% - 44px));margin:auto}.top{height:82px;padding:0 max(22px,calc((100vw - 1160px)/2));display:flex;align-items:center;gap:30px;justify-content:space-between;background:#fffdf8;position:sticky;top:0;z-index:10;box-shadow:0 2px 15px #20291013}.brand{display:flex;align-items:center;gap:9px;line-height:1.15;font-size:11px;letter-spacing:2px;white-space:nowrap}.brand img{width:55px;height:55px;object-fit:contain}.brand strong{display:block;font-family:Georgia,serif;font-size:19px;letter-spacing:0}.top nav{display:flex;gap:24px;font-size:14px}.top nav a:hover{color:var(--terra)}.smallbtn,.btn{border:0;display:inline-block;background:var(--terra);color:white;padding:14px 23px;border-radius:7px;font-weight:700;cursor:pointer;text-align:center}.smallbtn{padding:10px 16px;font-size:13px}.btn:hover,.smallbtn:hover{background:#94432f}.hero{min-height:690px;position:relative;display:flex;align-items:center;color:white}.heroimg,.shade{position:absolute;inset:0}.heroimg{background:url('assets/portada-atardecer.webp') center 54%/cover}.shade{background:linear-gradient(90deg,#172417e8 0%,#172417b9 46%,#17241719 100%)}.herocontent{position:relative;width:min(1160px,calc(100% - 44px));margin:auto;padding:100px 0}.herocontent>p:not(.eyebrow){font-size:20px;max-width:620px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:3px;color:var(--gold);margin-bottom:18px}.green{color:var(--olive2)}.actions{display:flex;gap:18px;flex-wrap:wrap}.ghost{border:1px solid #ffffffaa;padding:13px 22px;border-radius:7px;font-weight:700}.intro,.rates,.location{padding-top:105px;padding-bottom:105px}.intro{text-align:center}.intro h2{max-width:800px;margin:0 auto 24px}.lead{max-width:760px;margin:0 auto 40px;color:#5c6559;font-size:18px}.features{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.features article{background:#fff;border:1px solid #e9e5da;border-radius:12px;padding:24px 15px}.features span{display:block;font-size:31px;color:var(--terra);margin-bottom:8px}.features strong,.features small{display:block}.features small,.muted{color:#6d7269}.gallerysection{background:#efe9dc;padding:90px 0}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:12px;height:245px;background:#ddd}.gallery .wide{grid-column:span 2}.gallery .sunset{grid-column:span 2}.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;bottom:0;left:0;right:0;color:white;font-weight:700;padding:26px 15px 12px;background:linear-gradient(transparent,#101810b9)}.rates{text-align:center}.rategrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:38px}.rategrid article{padding:32px 15px;background:white;border-radius:12px;border:1px solid #eee7d9}.rategrid small{display:block;color:var(--olive2);font-size:15px}.rategrid strong{display:block;font:700 clamp(25px,3vw,39px) Georgia,serif;color:var(--terra)}.hours{margin:30px 0 0}.booking{background:var(--olive);color:white;padding:85px 0}.bookinggrid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.bookingcard{background:#fffdf8;color:var(--ink);padding:30px;border-radius:15px;box-shadow:0 15px 30px #101c1025}.bookingcard label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}.bookingcard select,.bookingcard input{width:100%;border:1px solid #d7d5cc;border-radius:6px;padding:12px;font:inherit;background:white;color:var(--ink)}.dates{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px}.hint{font-size:13px;color:#67705e;margin:15px 0}.full{width:100%;font:inherit;font-weight:700}.location{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.location .btn{margin-top:12px}.mapcard{border:1px solid #dcd3bf;background:#eee6d7;border-radius:15px;min-height:320px;padding:55px;display:flex;flex-direction:column;justify-content:center;text-align:center}.mapcard span{font-size:52px;color:var(--terra)}.mapcard h3{font-size:27px}footer{background:#23311e;color:#f8f5ec;padding:55px 0 20px}.footergrid{display:flex;justify-content:space-between;gap:25px}.footergrid strong{font:700 27px Georgia,serif}.footergrid a{display:block;margin-bottom:7px}.footnote{font-size:12px;color:#c5cabc;border-top:1px solid #ffffff24;padding-top:18px;margin-top:40px}.wa{position:fixed;right:23px;bottom:24px;width:54px;height:54px;border-radius:50%;background:#2b9c5c;color:white;display:grid;place-items:center;font-size:30px;box-shadow:0 5px 22px #0004;z-index:20}@media(max-width:900px){.top nav{display:none}.features{grid-template-columns:repeat(2,1fr)}.bookinggrid,.location{grid-template-columns:1fr;gap:30px}.hero{min-height:600px}.gallery{grid-template-columns:repeat(2,1fr)}.gallery .wide,.gallery .sunset{grid-column:span 2}}@media(max-width:550px){.top{height:72px}.brand strong{font-size:16px}.brand img{width:46px;height:46px}.smallbtn{font-size:11px;padding:9px}.hero{min-height:600px}.heroimg{background-position:57% center}.shade{background:#1724179e}.herocontent{padding:65px 0}.herocontent>p:not(.eyebrow){font-size:17px}.intro,.rates,.location{padding-top:65px;padding-bottom:65px}.gallerysection,.booking{padding:65px 0}.features{gap:8px}.features article{padding:16px 8px}.gallery{gap:9px}.gallery figure{height:185px}.gallery .wide{height:245px}.rategrid{grid-template-columns:1fr;gap:10px}.rategrid article{padding:16px}.bookingcard{padding:20px}.footergrid{flex-direction:column}.dates{grid-template-columns:1fr 1fr}.mapcard{min-height:240px;padding:25px}}
/* V3: portada fotográfica actualizada y contraste adaptativo */
.heroimg{background-position:center 54%}.shade{background:linear-gradient(90deg,rgba(15,26,18,.88) 0%,rgba(15,26,18,.72) 38%,rgba(15,26,18,.1) 100%)}@media(max-width:550px){.heroimg{background-position:60% center}.shade{background:linear-gradient(90deg,rgba(15,26,18,.78),rgba(15,26,18,.42))}}
