body{margin:0;background:#EEF0E8;color:#18211C;font-family:'Public Sans',system-ui,-apple-system,sans-serif;font-size:17px;line-height:1.55}
a{color:#1F5C4F}a:hover{color:#18211C}
*{box-sizing:border-box}
.disp{font-family:'Big Shoulders Display','Arial Narrow',Impact,sans-serif;text-transform:uppercase;letter-spacing:.005em;text-wrap:balance}
.mono{font-family:'IBM Plex Mono',ui-monospace,Menlo,monospace;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.wrap{width:100%;max-width:1280px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.ph{position:relative;overflow:hidden}
.ph-in{position:absolute;inset:0;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.zoom:hover .ph-in{transform:scale(1.07)}
.ph-in.img{background-size:cover;background-position:center;background-color:#1F5C4F}
.i-ciervos{background-image:url(../img/senda-ciervos.webp)}
.i-isla{background-image:url(../img/ruta-de-la-isla.webp)}
.i-almendro{background-image:url(../img/ruta-almendros.webp)}
.i-sonido{background-image:url(../img/sonido-estrellas.webp)}
.i-dehesas{background-image:url(../img/estrellas-dehesas.webp)}
.i-central{background-image:url(../img/ilumina-tu-rio.webp)}
.i-canoa{background-image:url(../img/berrea-en-canoa.webp)}
.i-sendero{background-image:url(../img/sendero-ciervos.webp)}
.i-mar{background-image:url(../img/mar-de-estrellas.webp)}
.i-lodo{background-image:url(../img/bano-de-lodo.webp)}
.i-vip{background-image:url(../img/berrea-vip.webp)}
.i-nocturna{background-image:url(../img/canoa-nocturna.webp)}
.i-lince{background-image:url(../img/lince.webp)}
.i-flor{background-image:url(../img/almendros-en-flor.webp)}
.layer{position:absolute;inset:0}
.l-base{background:#0E1A2E url(../img/hero-base.webp) center/cover no-repeat}
.l-front{background:url(../img/hero-front.webp) center/cover no-repeat;pointer-events:none}
@keyframes emerge{from{transform:translateY(28%)}to{transform:none}}
.emerge{animation:emerge 1.8s cubic-bezier(.2,.7,.2,1) .2s both}
.fs{border:0;margin:0;padding:0;min-width:0;display:flex;flex-direction:column;gap:12px}
.step{padding:0;margin-bottom:12px;color:#1F5C4F}
.opt{position:relative;display:flex;align-items:center;gap:14px;min-height:78px;padding:12px 14px 12px 12px;border-radius:18px;border:1.5px solid #D5DBCB;background:#F7F8F3;color:#18211C;text-align:left;cursor:pointer;font:inherit;transition:border-color .2s,background .2s,transform .25s}
.opt:hover{border-color:#1F5C4F;transform:translateY(-2px)}
.opt.on{border-color:#1F5C4F;background:#E3EEE6;box-shadow:inset 0 0 0 1px #1F5C4F}
.thumb{flex:none;width:54px;height:54px;border-radius:14px;background-size:cover;background-position:center;transition:transform .4s}
.opt:hover .thumb,.opt.on .thumb{transform:scale(1.06) rotate(-3deg)}
.tick{margin-left:auto;flex:none;width:26px;height:26px;border-radius:50%;border:1.5px solid #C9D0C0;display:flex;align-items:center;justify-content:center;color:transparent;transition:all .2s}
.opt.on .tick{background:#1F5C4F;border-color:#1F5C4F;color:#FFFFFF}
.chip{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:0 16px;border-radius:14px;border:1.5px solid #D5DBCB;background:#F7F8F3;color:#18211C;font:inherit;font-size:15px;cursor:pointer;text-align:left;transition:border-color .2s,background .2s}
.chip:hover{border-color:#1F5C4F}
.chip.on{border-color:#1F5C4F;background:#E3EEE6;box-shadow:inset 0 0 0 1px #1F5C4F}
.date-in{height:50px;border:1.5px solid #1F5C4F;border-radius:14px;background:#FFFFFF;color:#18211C;padding:0 14px;font:500 16px 'Public Sans',sans-serif;width:100%}
.step-btn{flex:none;width:48px;height:48px;border-radius:50%;border:1.5px solid #18211C;background:#FFFFFF;color:#18211C;font:500 24px/1 'Public Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.step-btn:hover{background:#18211C;color:#FFFFFF}
@media (max-width:980px){.plan-grid{grid-template-columns:1fr !important}}
@media (max-width:640px){.badge25{display:none !important}}
.ph-label{position:absolute;left:14px;bottom:12px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.78)}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font-weight:700;font-size:15px;text-decoration:none;border:0;cursor:pointer;transition:transform .25s,background .25s}
.btn:hover{transform:translateY(-2px)}
.btn-sun{background:#D9A21B;color:#18211C}.btn-sun:hover{background:#E8B637;color:#18211C}
.btn-ink{background:#18211C;color:#EEF0E8}.btn-ink:hover{background:#1F5C4F;color:#EEF0E8}
.btn-ghost{background:transparent;color:#F3E7B3;box-shadow:inset 0 0 0 1.5px #F3E7B3}.btn-ghost:hover{color:#0C1426;background:#F3E7B3}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #D9A21B;outline-offset:3px}
.nav a{color:#18211C;text-decoration:none;font-weight:500;font-size:15px}.nav a:hover{color:#1F5C4F}
.tab{min-height:44px;padding:0 20px;border-radius:999px;border:1.5px solid #18211C;background:transparent;color:#18211C;font:600 14px 'Public Sans',sans-serif;cursor:pointer;transition:background .2s,color .2s}
.tab:hover{background:#DDE2D4}
.tab.on{background:#18211C;color:#EEF0E8}
.card{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.card:hover{transform:translateY(-6px)}
.faq-q{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;background:none;border:0;border-top:1.5px solid #C9D0C0;color:#18211C;font:700 19px 'Public Sans',sans-serif;text-align:left;cursor:pointer}
.dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:#47607A;cursor:pointer}
.dot.on{background:#D9A21B;width:28px;border-radius:5px}
@keyframes marquee{to{transform:translateX(-50%)}}
.marq{display:flex;width:max-content;animation:marquee 38s linear infinite}
@keyframes twinkle{0%,100%{opacity:.2}50%{opacity:1}}
.star{position:absolute;border-radius:50%;background:#F3E7B3;animation:twinkle 3.2s ease-in-out infinite}
@keyframes shoot{0%{transform:translate(0,0) rotate(-18deg);opacity:0}3%{opacity:1}12%{transform:translate(-520px,170px) rotate(-18deg);opacity:0}100%{opacity:0}}
.shoot{position:absolute;top:14%;right:10%;width:160px;height:2px;border-radius:2px;background:linear-gradient(90deg,#F3E7B3,rgba(243,231,179,0));animation:shoot 8s ease-out infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin 24s linear infinite}
@keyframes rise{from{transform:translateY(24px);opacity:.0001}to{transform:none;opacity:1}}
.rise{animation:rise .9s cubic-bezier(.2,.7,.2,1) both}
@media (max-width:820px){.nav-links{display:none !important}.split{grid-template-columns:1fr !important}}
@media (prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}}

html{scroll-behavior:smooth;scroll-padding-top:80px}
img{max-width:100%}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.reveal{transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .reveal.pre{opacity:0;transform:translateY(40px)}
.act[hidden]{display:none !important}
.review{display:none}.review.on{display:flex;animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
.faq-a{margin:0 0 22px;max-width:38em;color:#34433A}
.wa-float{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:30;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 30px rgba(0,0,0,.25);transition:transform .25s}
.wa-float:hover{transform:scale(1.08)}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:1.5px solid #18211C;background:transparent;cursor:pointer;align-items:center;justify-content:center}
@media (max-width:820px){.menu-btn{display:inline-flex}.nav-links.open{display:flex !important;position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0 !important;background:#EEF0E8;border-bottom:1px solid #D5DBCB;padding:8px 20px 16px}.nav-links.open a{padding:12px 0;border-bottom:1px solid #DDE2D4}.hdr-cta{display:none !important}}
[hidden]{display:none !important}
.nav a.btn-ink,.nav a.btn-ink:hover{color:#EEF0E8}
@media (max-width:640px){.season{top:auto !important;bottom:118px;left:20px;right:auto !important}}
