@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap');
:root{--ink:#102e2c;--green:#b7f766;--muted:#5c6d68;--cream:#f6f7f2;--line:#dbe2d8;--display:'Manrope',Arial,sans-serif;--body:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:var(--body);background:#fff;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #348251;outline-offset:5px}.skip{position:absolute;top:-80px;left:15px;background:white;padding:15px;z-index:100}.skip:focus{top:5px}.wrap{max-width:1200px;width:calc(100% - 96px);margin:auto}.section{padding:100px 0}header{height:88px;padding:0 4%;display:flex;align-items:center;justify-content:space-between;gap:25px;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #eef1eb}.logo{font-family:var(--display);font-size:31px;font-weight:800;letter-spacing:-1.7px;line-height:1}.logo span{color:#48bb69;font-size:38px}nav{display:flex;gap:28px;font-size:13px;font-weight:550}nav a:hover{color:#42863f}.button{background:var(--green);color:var(--ink);display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 25px;border-radius:7px;font-weight:700;font-size:14px;transition:background .2s,transform .2s;border:1px solid transparent}.button:hover{background:#c9ff89;transform:translateY(-2px)}.button span{font-size:22px;line-height:1}.button.small{padding:12px 20px;font-size:13px}.button.dark{background:var(--ink);color:white}.button.dark:hover{background:#28564b}.button.outline{background:white;border:1px solid #a7b6a6}.button.outline:hover{background:#f1f7ec}.full{width:100%}.menu{display:none;background:transparent;border:0;font-size:25px}.hero{min-height:690px;position:relative;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 52%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,29,32,.83) 0%,rgba(5,29,32,.60) 42%,rgba(5,29,32,.12) 100%)}.hero-content{position:relative;max-width:1200px;width:calc(100% - 96px);margin:auto;padding:72px 0 106px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:2px;margin:0 0 23px;text-transform:uppercase;color:#47764d}.eyebrow.light{color:#dcf5dd;display:flex;align-items:center;gap:10px}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%}h1,h2,h3{font-family:var(--display);line-height:1.1;margin:0;font-weight:650;letter-spacing:-2px}h1{font-size:clamp(48px,5.3vw,78px);max-width:850px}h1 em{font-style:normal;color:var(--green)}.hero-description{max-width:480px;font-size:17px;line-height:1.7;color:#e0e7e3;margin:26px 0 29px}.hero-actions{display:flex;align-items:center;gap:32px}.text-link{display:inline-flex;gap:20px;align-items:center;font-size:14px;font-weight:650;padding-bottom:4px;border-bottom:1px solid #9bb89b}.text-link span{font-size:20px}.white{border-color:#8da3a3}.hero-facts{display:flex;flex-direction:column;font-size:11px;color:#d7e1dc;margin-top:22px;gap:2px}.hero-facts strong{font-weight:650}.location{position:absolute;right:4%;bottom:125px;display:flex;flex-direction:column;border-left:1px solid #ffffff77;padding-left:20px}.location span{font-size:10px;letter-spacing:2px}.location strong{font-size:14px;font-weight:450}.hero-bottom{position:absolute;bottom:0;left:4%;right:4%;border-top:1px solid #ffffff35;display:flex;align-items:center;justify-content:space-between;padding:16px 0;font-size:10px;letter-spacing:2px}.hero-bottom a{font-size:25px}h2{font-size:clamp(33px,3.5vw,48px);line-height:1.13;letter-spacing:-1.8px}h3{font-size:19px;letter-spacing:-.5px}p{color:var(--muted)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:100px}.section-heading>p:last-child{max-width:410px;margin-top:24px}.steps article{display:flex;gap:25px;padding:23px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:0}.steps article:last-child{border-bottom:0}.step-no{font-family:var(--display);font-size:14px;color:#467541;padding-top:2px}.steps p{font-size:14px;margin:10px 0 0}.story{display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.story-photo{position:relative;min-height:570px}.story-photo img{width:100%;height:100%;position:absolute;object-fit:cover}.image-caption{position:absolute;bottom:28px;left:40px;background:#fffdf2;padding:9px 16px;font-size:9px;font-weight:650;letter-spacing:1.5px}.story-copy{padding:60px 12%}.story-copy h2{font-size:38px}.story-copy blockquote{margin:32px 0 18px;font-size:21px;line-height:1.5;font-weight:500;letter-spacing:-.4px}.quote-name{font-size:13px;font-weight:700;color:var(--ink)}.quote-name span{display:block;font-size:11px;color:var(--muted);font-weight:400}.fine-print{font-size:11px;line-height:1.6;color:#6e7b70}.story-copy .text-link{margin-top:13px}.heading-row{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:38px}.heading-row>p{max-width:330px;margin:0 0 4px;font-size:14px}.destinations{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.destination{position:relative;min-height:440px;border-radius:12px;overflow:hidden;background:var(--ink);color:white}.destination img{position:absolute;width:100%;height:100%;object-fit:cover;transition:transform .7s}.destination:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,25,28,.9),rgba(5,25,28,0) 90%)}.destination:hover img{transform:scale(1.035)}.destination>div{position:absolute;z-index:1;bottom:30px;left:30px;right:30px}.destination span{font-size:10px;letter-spacing:2px}.destination h3{font-size:32px;margin:12px 0}.destination p{font-size:14px;color:#e0e7e3;max-width:410px}.destination a{font-size:12px;font-weight:650;display:inline-block;border-bottom:1px solid #8dbaa3;padding-bottom:4px}.extras{display:grid;grid-template-columns:repeat(3,1fr);margin-top:38px;gap:44px}.extras article{padding-top:8px}.line-icon{font-size:28px;color:#518443;display:block;margin-bottom:12px}.extras h3{font-size:19px}.extras p{font-size:13px;margin-bottom:0}.calculator-section{background:#eef3e7;padding:92px 0}.calculator-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px}.calculator-intro{padding-top:28px}.calculator-intro>p{max-width:370px;margin-top:25px}.calc-note{display:flex;gap:20px;margin-top:50px}.calc-note>span{font-size:32px}.calc-note p{font-size:13px;margin:6px 0}.calculator{background:white;border:1px solid #d8e2d0;border-radius:14px;padding:32px;box-shadow:0 15px 40px #20372008}.field-label{display:flex;align-items:center;justify-content:space-between;gap:10px}.calculator label{font-size:12px;font-weight:650;display:block}.calculator output{font-size:12px;font-weight:700;color:#426b3d}.calculator input[type=range]{width:100%;margin:22px 0 4px;accent-color:#426b3d;cursor:pointer}.range-ends{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}.form-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px;margin:24px 0 20px}.calculator select,.money-input{height:46px;border:1px solid #d4dcd1;border-radius:5px;background:#fff;width:100%;margin-top:7px;padding:0 12px;font-size:13px;color:var(--ink)}.money-input{display:flex;align-items:center;gap:10px}.money-input span{font-size:11px;color:var(--muted)}.money-input input{min-width:0;width:100%;border:0;outline-offset:0;height:34px;color:var(--ink);background:transparent}.input-note{font-size:10px;margin:12px 0 23px;line-height:1.5}.calc-results{border-top:1px solid var(--line);padding-top:20px}.result-line{display:flex;justify-content:space-between;gap:15px;font-size:11px;margin-bottom:11px}.result-line span{color:var(--muted)}.result-line strong{white-space:nowrap;font-weight:550}.result-total{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.result-total>span{font-size:12px;display:block}.result-total strong{font-family:var(--display);font-size:40px;letter-spacing:-1.7px;line-height:1.4}.calc-results>p{font-size:11px;margin:5px 0 21px}.calculator>.fine-print{margin:16px 0 0}.center-heading{text-align:center}.center-heading>p:last-child{font-size:14px;margin:20px 0 42px}.plans{max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:22px}.plan{border:1px solid var(--line);border-radius:12px;padding:32px;position:relative;margin-top:18px}.plan .eyebrow{margin-bottom:12px}.plan h3{font-size:25px}.plan-intro{font-size:13px;max-width:280px;min-height:45px;margin:14px 0 20px}.price{font-family:var(--display);font-size:48px;font-weight:650;line-height:1.1;letter-spacing:-2px}.price span{font-family:var(--body);font-size:12px;letter-spacing:0;font-weight:400;white-space:nowrap}.billing{font-size:11px;margin-top:12px;min-height:20px}.check-list{list-style:none;margin:28px 0;padding:23px 0 0;border-top:1px solid var(--line);font-size:12px}.check-list li{margin:12px 0;padding-left:23px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:#4b813b}.plan-small{font-size:10px;text-align:center;line-height:1.5;margin:12px 0 0}.featured{background:#f6faee;border:1px solid #a1bf7e}.plan-badge{position:absolute;top:-15px;left:24px;background:var(--ink);color:#d4f4b4;font-size:10px;letter-spacing:1px;padding:5px 13px;border-radius:20px}.annual-saving{font-size:10px;text-align:center;padding-top:20px;color:#466135}.plan-terms{max-width:900px;margin:24px auto 0;font-size:11px}.plan-terms p{margin:8px 0}.plan-terms a{text-decoration:underline;text-underline-offset:3px}.faq-section{background:var(--cream);padding:85px 0}.faq-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}.faq-layout>div>p:not(.eyebrow){font-size:14px;margin:28px 0 10px}.faqs details{border-bottom:1px solid #d8e0d3;padding:20px 0}.faqs details:first-child{padding-top:0}.faqs summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;font-size:14px;font-weight:600}.faqs summary::-webkit-details-marker{display:none}.faqs summary span{font-size:20px;font-weight:400;line-height:1}.faqs details[open] summary span{transform:rotate(45deg)}.faqs p{font-size:13px;margin:15px 0 0;max-width:95%}.faqs a{text-decoration:underline}.closing{padding:88px 0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.closing p:not(.eyebrow){font-size:14px;margin:20px 0 28px}.closing-visual{height:350px;position:relative;overflow:hidden;border-radius:60% 60% 12px 12px;background:#123c3a}.closing-visual:after{content:'';position:absolute;inset:0;background:#062f3555}.closing-visual img{width:100%;height:100%;object-fit:cover}.closing-visual span{position:absolute;left:36px;bottom:25px;color:white;font-family:var(--display);font-weight:650;font-size:38px;line-height:1.1;z-index:1;letter-spacing:-1px}.closing-visual em{color:var(--green);font-style:normal}footer{border-top:1px solid var(--line);display:flex;align-items:center;flex-wrap:wrap;gap:20px;justify-content:space-between;padding:38px 0 28px}footer .logo{font-size:26px}footer .logo span{font-size:31px}footer p{font-size:11px;margin:10px 0}.footer-links{display:flex;gap:24px;font-size:11px}.copyright{width:100%;font-size:10px;border-top:1px solid #edf0e9;padding-top:20px}
@media(min-width:1600px){.hero-content{padding-top:100px}.hero{min-height:790px}}
@media(max-width:1050px){nav{gap:16px;font-size:11px}header{gap:15px}.logo{font-size:27px}.wrap,.hero-content{width:calc(100% - 64px)}.intro,.calculator-layout,.faq-layout{gap:45px}.story-copy{padding:45px 9%}.story-copy h2{font-size:32px}.hero{min-height:670px}.plan{padding:25px}.location{right:32px}}
@media(max-width:760px){html{scroll-padding-top:78px}header{height:73px;padding:0 22px;gap:15px}.logo{font-size:26px}header .button.small{margin-left:auto;padding:10px 13px;font-size:11px;gap:12px}.menu{display:block;padding:4px;color:var(--ink);cursor:pointer}nav{display:none;position:absolute;top:72px;left:0;right:0;background:white;padding:20px 24px;box-shadow:0 12px 18px #0000000a}nav.open{display:flex;flex-direction:column;gap:20px;font-size:14px}.wrap,.hero-content{width:calc(100% - 44px)}.hero{min-height:715px}.hero-content{padding:60px 0 104px}h1{font-size:54px;letter-spacing:-2px}.hero-description{font-size:15px;max-width:400px}.hero-shade{background:linear-gradient(90deg,#062d32cf,#062d3240),linear-gradient(0deg,#062d3280,transparent)}.hero-image{object-position:58% center}.hero-actions{gap:25px}.hero-actions .button{padding:15px 20px;gap:18px;font-size:12px}.text-link{font-size:12px}.hero-facts{margin-top:20px}.hero-bottom{left:22px;right:22px;font-size:8px;letter-spacing:1.2px}.location{display:none}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:18px}.section{padding:62px 0}h2{font-size:35px;letter-spacing:-1.5px}.intro{grid-template-columns:1fr;gap:28px}.section-heading>p:last-child{font-size:14px;margin-top:18px}.steps article{padding:20px 0}.story{grid-template-columns:1fr}.story-photo{min-height:320px}.story-copy{padding:42px 25px}.story-copy h2{font-size:35px}.story-copy blockquote{font-size:23px}.image-caption{left:23px;font-size:8px;bottom:22px}.heading-row{display:block}.heading-row>p{margin:20px 0 0;max-width:none}.destinations{grid-template-columns:1fr;gap:18px}.destination{min-height:390px}.destination>div{bottom:25px;left:24px;right:24px}.destination h3{font-size:29px}.extras{grid-template-columns:1fr;gap:23px;margin-top:24px}.extras article{display:grid;grid-template-columns:38px 1fr;column-gap:12px;padding-top:16px;border-top:1px solid var(--line)}.extras article .line-icon{grid-row:span 2;margin:0}.extras h3{font-size:18px;align-self:center}.extras p{margin-top:8px}.calculator-section{padding:58px 0}.calculator-layout{grid-template-columns:1fr;gap:26px}.calculator-intro{padding:0}.calculator-intro>p{font-size:14px;max-width:none}.calc-note{margin-top:18px}.calculator{padding:24px 20px}.result-total strong{font-size:37px}.plans{grid-template-columns:1fr;gap:22px;max-width:450px}.plan{padding:28px}.plan-intro{min-height:0;max-width:none}.center-heading>p:last-child{margin-bottom:20px}.plan-terms{max-width:450px}.faq-section{padding:58px 0}.faq-layout{grid-template-columns:1fr;gap:32px}.faq-layout>div>p:not(.eyebrow){margin-top:20px}.faqs summary{font-size:13px}.closing{grid-template-columns:1fr;gap:32px;padding:58px 0}.closing-visual{height:285px}.closing-visual span{font-size:35px}footer{padding:30px 0 15px;align-items:flex-start;gap:18px}.footer-links{flex-wrap:wrap;gap:18px;font-size:10px}.copyright{margin:0}.price{font-size:46px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Presentación de una sola membresía anual */
.plans{max-width:520px;grid-template-columns:1fr}.fixed-plan{margin:18px 0 0;padding:12px 14px;background:var(--cream);border-radius:5px;font-size:12px;font-weight:650;color:var(--ink)}

/* Contacto flotante por WhatsApp */
.whatsapp-help{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:30;display:flex;align-items:center;gap:12px;padding:13px 18px;background:#126b40;color:#fff;border:1px solid #ffffff55;border-radius:40px;box-shadow:0 6px 24px #072b2933;transition:background .2s,transform .2s}.whatsapp-help:hover{background:#09522f;transform:translateY(-2px)}.whatsapp-help svg{flex-shrink:0}.whatsapp-help span{display:flex;flex-direction:column;line-height:1.4}.whatsapp-help strong{font-size:13px;font-weight:700}.whatsapp-help small{font-size:11px}footer{padding-bottom:105px}@media(max-width:760px){.whatsapp-help{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));padding:11px 15px;gap:10px}.whatsapp-help strong{font-size:12px}.whatsapp-help small{font-size:10px}.whatsapp-help svg{width:24px;height:24px}footer{padding-bottom:105px}}

/* Mensaje principal y alcance de la garantía */
.hero-guarantee{max-width:570px;margin:26px 0 28px}.hero-guarantee p{color:#fff}.guarantee-claim,.guarantee-scope{font-size:20px;line-height:1.5;margin:0;font-weight:550}.guarantee-claim strong{color:var(--green);font-weight:750}.guarantee-scope{margin-top:4px}.guarantee-conditions{font-size:12px;line-height:1.6;margin:15px 0 0;max-width:530px}.guarantee-conditions a{text-decoration:underline;text-underline-offset:3px;display:inline-block;margin-top:4px}#garantia{scroll-margin-top:108px}@media(max-width:760px){.hero h1{font-size:clamp(40px,12vw,54px)}.hero-guarantee{margin:23px 0 25px}.guarantee-claim,.guarantee-scope{font-size:18px}.guarantee-conditions{font-size:11px}.hero-content{padding-bottom:115px}#garantia{scroll-margin-top:88px}}

.discount-note{display:flex;flex-direction:column;justify-content:center;gap:4px;padding:10px 13px;border-radius:5px;background:#eef3e7}.discount-note span{font-size:11px;line-height:1.4;color:var(--muted)}.discount-note strong{font-size:26px;line-height:1.2;color:var(--ink)}

.form-grid.single-field{grid-template-columns:1fr}.discount-result{padding:20px;margin:18px 0 22px;background:#eef5e6;border:1px solid #d4e3c8;border-radius:9px}.discount-badge{display:inline-block;font-size:13px;font-weight:700;color:#315e2b}.discount-result p{margin:8px 0;color:var(--ink);font-size:14px;line-height:1.5}.discount-result strong{display:block;font-family:var(--display);font-size:36px;letter-spacing:-1px;line-height:1.3;overflow-wrap:anywhere}.discount-result p>span{font-size:12px}.discount-result small{display:block;font-size:10px;line-height:1.5;color:var(--muted)}

/* Reservas reales: tarjetas integradas en una sola fila */
.real-bookings{background:var(--cream);border-bottom:1px solid var(--line)}.real-bookings .heading-row{margin-bottom:36px}.real-bookings .heading-row>p{max-width:340px}.booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;align-items:stretch}.booking-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.booking-photo{position:relative;aspect-ratio:1.5;overflow:hidden;background:#dce5de}.booking-photo img{position:absolute;top:0;left:-7.4%;width:114.8%;height:auto;max-width:none}.booking-saving{position:absolute;top:14px;left:14px;background:var(--green);color:var(--ink);border-radius:30px;padding:5px 12px;font-size:14px;font-weight:750}.booking-body{padding:22px 20px 20px}.booking-kind{font-size:9px;letter-spacing:1.3px;font-weight:700;color:#47764d;margin:0 0 10px}.booking-body h3{font-size:26px;letter-spacing:-1px}.booking-detail{font-size:12px;margin:10px 0 23px}.booking-public{display:flex;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted);margin-bottom:13px}.booking-public s{white-space:nowrap}.booking-member{padding-top:16px;border-top:1px solid var(--line)}.booking-member>span{display:block;font-size:11px;color:var(--muted)}.booking-member strong{display:block;font-family:var(--display);font-size:34px;letter-spacing:-1.2px;font-weight:750;line-height:1.5}.booking-member small{font-family:var(--body);font-size:11px;letter-spacing:0;font-weight:500}.booking-saving-label{margin:8px 0 0;font-size:11px;color:#47764d;font-weight:600}.booking-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:25px}.booking-footer .fine-print{max-width:610px;margin:0}.booking-footer a{white-space:nowrap}.booking-swipe{display:none}@media(max-width:1050px){.booking-grid{grid-template-columns:repeat(4,minmax(240px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#9fb69b transparent;padding-bottom:16px}.booking-card{scroll-snap-align:start}.booking-swipe{display:block;font-size:11px;color:var(--muted);margin:0 0 14px}}@media(max-width:600px){.booking-grid{grid-template-columns:repeat(4,minmax(270px,82%));gap:16px}.booking-footer{align-items:flex-start;flex-direction:column;gap:16px}.real-bookings .heading-row{margin-bottom:24px}.booking-body{padding:22px}.booking-photo{aspect-ratio:1.5}}

/* Ubicaciones fotográficas: detalle editorial común */
.geo-mark{position:absolute;z-index:3;left:24px;bottom:23px;display:flex;flex-direction:column;gap:3px;margin:0;padding:0 0 0 12px;border-left:1px solid #ffffff99;color:white;text-shadow:0 1px 8px #0009;line-height:1.45}.geo-mark small{font-size:9px;letter-spacing:1.1px;font-weight:500;white-space:nowrap}.geo-mark strong{font-size:12px;font-weight:550;letter-spacing:0}.hero-geo{left:auto;right:4%;bottom:125px;padding-left:20px}.hero-geo small{font-size:10px;letter-spacing:1.5px}.hero-geo strong{font-size:14px}.story-photo:after,.booking-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#052b32b3);pointer-events:none}.booking-photo .geo-mark{left:13px;bottom:12px;padding-left:8px;gap:2px}.booking-photo .geo-mark small{font-size:8px;letter-spacing:.45px}.booking-photo .geo-mark strong{font-size:10px}.booking-saving{z-index:3}.destination .destination-geo{top:24px;bottom:auto;left:24px;background:#0a2e32b3;padding:8px 12px;border-radius:0 4px 4px 0;max-width:calc(100% - 48px)}.closing-visual{height:420px;border-radius:12px}.closing-visual img{object-position:center center}.closing-visual:after{background:linear-gradient(0deg,#052b32b3 0%,transparent 40%)}.closing-visual .geo-mark{left:24px;bottom:24px}@media(max-width:760px){.hero-geo{display:flex;right:22px;bottom:68px}.hero-geo small{font-size:8px}.hero-geo strong{font-size:11px}.hero-content{padding-bottom:162px}.closing-visual{height:auto;aspect-ratio:4/3}.geo-mark{left:22px;bottom:22px}.destination .destination-geo{top:22px;left:22px}}

/* Importes MXN: espacio para cifras convertidas */
.booking-member strong{font-size:clamp(23px,2.4vw,31px);letter-spacing:-1px}.booking-member small{font-size:10px}.price{font-size:clamp(36px,4vw,48px)}.result-total strong{font-size:clamp(28px,3vw,40px);overflow-wrap:anywhere}.result-line strong{white-space:normal;text-align:right}@media(max-width:600px){.booking-member strong{font-size:31px}}

.booking-photo img.booking-villa{left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center center}.booking-photo .geo-mark .photo-context{font-size:7px;letter-spacing:.2px;opacity:.85}

/* Product demonstrations: native players load video only on request. */
.demo-section { background: var(--cream); border-bottom: 1px solid var(--line); }
.demo-heading { display: flex; align-items: center; justify-content: space-between; gap: 48px; margin-bottom: 40px; }
.demo-heading h2 { margin-bottom: 24px; }
.demo-intro { max-width: 680px; color: var(--muted); margin-bottom: 0; }
.demo-highlight { flex: 0 0 210px; padding: 26px; background: var(--green); border-radius: 12px; text-align: center; }
.demo-highlight strong { display: block; font: 800 64px/1.1 var(--display); letter-spacing: -3px; }
.demo-highlight span { display: block; margin-top: 12px; font-size: 15px; line-height: 1.5; }
.demo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.demo-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 12px; }
.demo-card-heading { padding: 26px; display: flex; flex-wrap: wrap; gap: 16px; justify-content: space-between; align-items: center; }
.demo-card-heading .eyebrow { margin: 0 0 8px; }
.demo-card h3 { font: 750 21px/1.35 var(--display); letter-spacing: -.5px; margin: 0; }
.demo-saving { padding: 7px 12px; border-radius: 100px; background: var(--green); font-size: 13px; font-weight: 700; white-space: nowrap; }
.demo-card video { display: block; width: 100%; height: auto; aspect-ratio: 1920 / 930; background: #102e2c; object-fit: contain; }
.demo-card video:focus-visible { outline: 3px solid #348251; outline-offset: -3px; }
.demo-card-copy { padding: 24px 26px 28px; }
.demo-card-copy p { color: var(--muted); margin: 0 0 20px; font-size: 15px; }
.demo-card-copy strong { color: var(--ink); }
.demo-card-copy .text-link { font-size: 14px; }
.demo-footer { display: flex; gap: 40px; align-items: center; justify-content: space-between; margin-top: 30px; }
.demo-footer > div { max-width: 760px; }
.demo-viewing-tip { margin: 0 0 8px; font-size: 14px; }
.demo-footer .fine-print { margin: 0; }
.demo-footer .button { flex-shrink: 0; }
@media (max-width: 760px) {
  .demo-heading { flex-direction: column; align-items: stretch; gap: 24px; }
  .demo-highlight { flex-basis: auto; display: flex; align-items: center; justify-content: center; gap: 22px; padding: 22px; }
  .demo-highlight strong { font-size: 54px; }
  .demo-highlight span { margin: 0; text-align: left; }
  .demo-grid { grid-template-columns: 1fr; }
  .demo-card-heading, .demo-card-copy { padding: 22px; }
  .demo-footer { flex-direction: column; align-items: stretch; gap: 22px; }
  .demo-footer .button { justify-content: space-between; }
}
