/* Presentación: propuestas visuales explícitas, testimonios en secuencia y una cita guiada. */
[hidden]{display:none!important}
section[id]{scroll-margin-top:92px}

.packages-section{background:#f3f0e8}
.packages-heading{margin-bottom:39px}
.packages-heading p{max-width:410px}
.packages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.package-card{position:relative;min-height:455px;display:flex;flex-direction:column;align-items:flex-start;padding:42px clamp(27px,3vw,45px) 35px;background:#e5eae0;border:1px solid rgba(81,109,83,.12);border-radius:165px 165px 28px 28px;overflow:hidden;transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.package-card:nth-child(2){background:#eee5de}
.package-card:nth-child(3){background:#e9e8d9}
.package-card:hover{transform:translateY(-5px);box-shadow:0 20px 34px rgba(54,73,53,.09)}
.package-card:before{content:"";position:absolute;width:150px;height:150px;top:-85px;right:-35px;border:1px solid rgba(66,92,65,.18);border-radius:50%;pointer-events:none}
.package-number{align-self:center;color:#8d785c;font:700 10px Manrope,sans-serif;letter-spacing:.2em}
.package-card h3{font:400 clamp(35px,3.4vw,48px)/1.04 "Playfair Display",serif;letter-spacing:-.045em;color:#2d4938;margin:40px 0 18px}
.package-description{font-size:14px;line-height:1.65;color:#596d5e;max-width:290px;margin-bottom:25px}
.package-includes{font:600 13px/1.5 "DM Sans",sans-serif;color:#314c3b;border-top:1px solid rgba(63,91,66,.2);padding-top:18px;margin:auto 0 21px;width:100%}
.package-price{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;margin:0 0 23px;color:#58705d}
.package-price span{font-size:11px;line-height:1.3}
.package-price strong{font:400 27px "Playfair Display",serif;color:#2d4837;white-space:nowrap}
.package-link{font-size:12px;color:#344f3d}
.packages-note{font-size:12px;line-height:1.65;color:#718173;margin:24px 0 0;max-width:870px}

.products-section{display:block;max-width:1600px;padding-inline:clamp(22px,5vw,84px);background:#e8ede5}
.products-heading{margin-bottom:35px}
.products-heading p{max-width:410px}
.products-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.product-card{display:flex;flex-direction:column;min-width:0;background:#f9f8f2;border-radius:130px 130px 23px 23px;overflow:hidden;box-shadow:0 8px 25px rgba(43,68,46,.055);transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out)}
.product-card:hover{transform:translateY(-4px);box-shadow:0 17px 30px rgba(43,68,46,.11)}
.product-image{width:100%;height:clamp(235px,25vw,340px);object-fit:cover;object-position:center;background:#dce5d9;filter:saturate(.82)}
.product-details{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:26px clamp(18px,2.2vw,28px) 24px}
.product-category{font:700 10px Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:#a08059}
.product-details h3{font:400 clamp(28px,2.5vw,36px)/1.1 "Playfair Display",serif;letter-spacing:-.035em;color:#294433;margin:10px 0 13px}
.product-details>p:not(.product-price){font-size:13px;line-height:1.62;color:#657468;margin:0 0 20px}
.product-price{font-size:13px;font-weight:700;color:#32503b;margin:auto 0 14px}
.product-credit{font-size:10px;color:#7a897b;text-decoration:underline;text-underline-offset:3px}
.products-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:32px;border-top:1px solid rgba(73,102,76,.18);padding-top:26px}
.products-footer p{font-size:12px;line-height:1.6;color:#607364;max-width:720px;margin:0}
.products-footer .button{flex:none}

.reviews-showcase{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.85fr);gap:17px}
.review-card{min-height:345px;position:relative;display:flex;flex-direction:column;padding:42px 55px 26px;background:#e4ece0;border-radius:160px 30px 30px 30px;overflow:hidden}
.review-card .quote-mark{position:absolute;top:10px;left:42px;opacity:.67;font-size:130px}
.review-card blockquote{display:flex;flex-direction:column;justify-content:center;flex:1;margin:42px 0 24px;opacity:1;transform:translateY(0);transition:opacity .24s ease,transform .24s ease}
.review-card.is-changing blockquote{opacity:0;transform:translateY(7px)}
.review-card blockquote p{max-width:630px;color:#2c4a36;font:400 clamp(28px,3vw,44px)/1.24 "Playfair Display",serif;letter-spacing:-.03em;margin:0 0 32px}
.review-card blockquote footer{font-size:13px;color:#365541}
.review-card blockquote footer strong{font-weight:700}
.review-card blockquote footer span{font-weight:400;color:#738777}
.review-indicators{display:flex;gap:7px;align-items:center}
.review-indicators button{border:0;border-bottom:2px solid #adc3ad;background:transparent;color:#718a73;min-width:37px;padding:6px 0;font:700 10px Manrope,sans-serif;letter-spacing:.08em;transition:border-color .2s,color .2s}
.review-indicators button.active,.review-indicators button:hover{color:#2c4b35;border-color:#31533c}
.review-indicators .review-pause{margin-left:auto;width:auto;min-width:0;border:1px solid #b9cdb8;border-radius:999px;padding:8px 12px;background:#f0f6ed;color:#405e46;font:600 11px "DM Sans",sans-serif;letter-spacing:0}
.review-indicators .review-pause:hover,.review-indicators .review-pause[aria-pressed="true"]{border-color:#31533c;background:#d6e6d2;color:#26452e}
.reviews-extra{min-height:345px;border-radius:30px 140px 30px 30px;padding:35px;background:#365243;color:#fff;display:flex;flex-direction:column;justify-content:space-between}
.reviews-extra .extra-star{color:#b5c9ad;font-size:32px;line-height:1}
.reviews-extra p{font:400 clamp(30px,3vw,43px)/1.2 "Playfair Display",serif;letter-spacing:-.03em;margin:40px 0 24px}
.reviews-extra small{font-size:11px;color:#d0dfcf}

.booking-section{background:radial-gradient(circle at 10% 10%,#f2ebe4 0,#e8ebe3 58%,#e1e9df 100%);grid-template-columns:minmax(310px,.85fr) minmax(0,1.15fr);gap:clamp(42px,7vw,105px)}
.booking-copy>p{color:#617165}
.booking-journey{margin-top:58px;max-width:400px;border-top:1px solid #cbd7c8}
.booking-journey>div{display:flex;align-items:center;gap:22px;border-bottom:1px solid #cbd7c8;padding:17px 0}
.booking-journey span{color:#a27f5b;font:400 24px "Playfair Display",serif}
.booking-journey p{font-size:14px;font-weight:600;color:#47614d;margin:0}
.booking-contact{margin-top:48px}
.booking-form{position:relative;min-height:580px;scroll-margin-top:100px;border:1px solid #dce6d9;border-radius:36px 120px 36px 36px;background:#fcfcf8;padding:clamp(29px,4vw,55px);box-shadow:0 24px 65px rgba(43,70,47,.095);overflow:hidden}
.booking-form:before{content:"";position:absolute;top:-85px;right:-85px;width:240px;height:240px;border-radius:50%;border:1px solid #e5eadf;pointer-events:none}
.booking-form .form-top{position:relative;z-index:1;border-bottom:0;margin:0;padding:0;color:#9a7e5d}
.booking-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:18px 0 46px}
.booking-progress span{height:4px;border-radius:999px;background:#e1e8dd;transition:background .2s}
.booking-progress span.active{background:#64836b}
.booking-stage{animation:stage-enter .32s var(--ease-out) both}
.stage-kicker{font:700 10px Manrope,sans-serif;color:#a3805e;letter-spacing:.2em}
.booking-stage h3{font:400 clamp(35px,3.4vw,49px)/1.13 "Playfair Display",serif;letter-spacing:-.045em;color:#2c4936;margin:12px 0 10px}
.booking-stage h3:focus{outline:none}
.booking-stage>p:not(.stage-hint):not(.form-disclaimer){color:#6b7b6c;font-size:14px;line-height:1.6;max-width:440px;margin:0 0 30px}
.quick-picks{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}
.quick-picks button{border:1px solid #d2ded0;border-radius:999px;padding:10px 14px;background:#f0f5ed;color:#4c6551;font-size:12px;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s var(--ease-out)}
.quick-picks button:hover{transform:translateY(-2px);border-color:#8eaa8f}
.quick-picks button.selected{background:#31513d;border-color:#31513d;color:#fff}
.booking-form .field{margin-bottom:26px}
.booking-form .field label{color:#415b46;font-size:12px;letter-spacing:.03em}
.booking-form .field input,.booking-form .field select{border:1px solid #d5e0d2;border-radius:18px;min-height:56px;padding:13px 17px;background:#f4f7f1;color:#294233;box-shadow:inset 0 1px 2px rgba(35,60,38,.02);transition:border-color .2s,background .2s,box-shadow .2s}
.booking-form .field input:focus,.booking-form .field select:focus{border-color:#6b936f;background:#fff;box-shadow:0 0 0 4px rgba(102,142,106,.1)}
.booking-form .field select:disabled{opacity:.55;cursor:not-allowed}
.booking-form .field input::placeholder{color:#88978a}
.booking-form .stage-primary{min-width:182px;justify-content:center}
.stage-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px}
.stage-back{border:0;background:transparent;color:#52705a;padding:12px 4px;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:5px}
.stage-back:hover{color:#263f2d}
.stage-hint{color:#7a8a7c;font-size:12px;line-height:1.5;margin:3px 0 22px}
.privacy-preview{border-radius:20px;background:#eef4eb;border:1px solid #dde9d8;padding:17px 21px;margin:3px 0 23px}
.privacy-preview>span{font:700 10px Manrope,sans-serif;letter-spacing:.15em;color:#66806a}
.privacy-preview p{font-size:12px;line-height:1.6;color:#5e7362;margin:7px 0 0}
.privacy-preview a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.booking-form .checkline{font-size:12px;color:#516854;line-height:1.55}
.booking-form .checkline input{width:17px;height:17px;margin-top:1px;flex:none}
.booking-form .form-submit{width:auto;min-width:213px;margin:0;justify-content:center}
.booking-form .form-disclaimer{font-size:11px;line-height:1.55;color:#7e8d7e;margin:19px 0 0}
.booking-form .form-message{font-size:12px;min-height:1.3em;margin:16px 0 0;color:#3c6b47}
.footer-privacy small{font-size:11px;color:#bbd1b9}
@keyframes stage-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

@media(max-width:1120px){.packages-grid{gap:11px}.package-card{padding-inline:25px}.package-price{display:block}.package-price strong{display:block;margin-top:4px}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-image{height:300px}.booking-section{grid-template-columns:1fr}.booking-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}.booking-copy .kicker,.booking-copy h2,.booking-copy>p{grid-column:1}.booking-journey{grid-column:2;grid-row:1/4;margin-top:0;align-self:center}.booking-contact{grid-column:1/3;margin-top:28px}.booking-form{max-width:780px;width:100%;margin:auto}}
@media(max-width:760px){.packages-grid{grid-template-columns:1fr;gap:16px}.package-card{min-height:350px;padding:34px 35px;border-radius:140px 140px 28px 28px}.package-card h3{margin-top:35px}.package-price{display:flex}.products-footer{align-items:flex-start;flex-direction:column}.reviews-showcase{grid-template-columns:1fr}.review-card{min-height:315px}.reviews-extra{min-height:235px;border-radius:25px 115px 25px 25px}.reviews-extra p{margin:20px 0}.booking-copy{display:block}.booking-journey{margin-top:30px}.booking-contact{margin-top:32px}}
@media(max-width:580px){section[id]{scroll-margin-top:78px}.product-image{height:235px}.products-grid{gap:11px}.product-details{padding:19px 16px}.product-details h3{font-size:27px}.product-details>p:not(.product-price){font-size:12px}.product-price{font-size:11px}.package-card{border-radius:120px 120px 24px 24px}.review-card{border-radius:100px 24px 24px 24px;padding:32px 30px 22px}.review-card .quote-mark{left:19px;top:0}.review-card blockquote p{font-size:29px}.booking-form{min-height:540px;border-radius:27px 80px 27px 27px;padding:27px 23px}.booking-progress{margin-bottom:32px}.booking-stage h3{font-size:38px}.booking-form .form-row{gap:0}.stage-actions{align-items:stretch}.booking-form .form-submit{min-width:0}.stage-actions .button{font-size:10px;padding-inline:13px}}
@media(max-width:390px){.products-grid{grid-template-columns:1fr}.product-image{height:300px}.package-price{display:block}}
@media(prefers-reduced-motion:reduce){.package-card,.product-card,.booking-stage,.review-card blockquote,.quick-picks button{animation:none!important;transition:none!important}}
