/* Variante de presentación. Comparte el contenido y las funciones de public.html. */
:root{--green:#2e5140;--deep:#294535;--line:#dedbcc;--sage:#e5e8da;--sand:#e9dfcd;background:#f4efe4;color:#3e4d3d}
body{background:#f4efe4}
.site-header{height:98px;background:#f4efe4;border-bottom:1px solid #e3dccd;margin:0 4%;padding:0 1%}
.brand{width:175px;height:52px}.brand img{mix-blend-mode:multiply}
.site-header nav a{font-size:13px;font-weight:500;color:#4b5c4b}
.header-cta{border:1px solid #74816b;background:transparent;border-radius:3px;padding:13px 20px;color:#304d38}
.hero{height:min(740px,64vw);min-height:580px;margin:0 4%;border-radius:0;background:#f4efe4;overflow:visible;border-bottom:1px solid #dcd6c8}
.hero-image{inset:28px 0 36px auto;width:54%;height:calc(100% - 64px);object-fit:cover;object-position:58% center;border-radius:240px 240px 4px 4px;animation:none;filter:saturate(.84)}
.hero-shade{display:none}
.hero-content{left:1%;top:49%;width:44%;color:#2e5140}
.eyebrow{color:#927358;font-size:10px;letter-spacing:.18em;font-weight:600}.eyebrow.light{color:#826b4b}
.hero h1,.intro h2,.section-title h2,.booking-intro h2,.stay-info h2,.location-section h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.045em;line-height:.98;color:#2e5140}
.hero h1{font-size:clamp(60px,7.5vw,106px)}
.hero-copy{max-width:330px;color:#65705c;font-size:15px;line-height:1.8;margin:24px 0 28px}
.button{border-radius:3px;font-size:13px}.button-light{background:#2e5140;color:#f7f1e6;padding:16px 23px}.button-light:hover{background:#203e2c;color:#fff}
.hero-note{right:18px;bottom:54px;border:0;border-radius:3px;background:#efe7d7;color:#40543c;backdrop-filter:none;font-size:11px;box-shadow:0 3px 14px #20332115}.sun-mark{color:#a16f4e}
.intro{padding-top:95px;padding-bottom:56px;gap:80px}.intro h2,.location-section h2{font-size:58px}.intro>p{font-size:15px;color:#6b7362;line-height:1.9}
.features{border:0;border-top:1px solid #d7d2c3;border-bottom:1px solid #d7d2c3;border-radius:0;background:transparent;padding:26px 8px;gap:18px}.features strong{font-size:12px;font-weight:500;color:#59664d}.feature-icon{background:transparent;border:1px solid #bec7ae;border-radius:50%;color:#6b795b}.features>p{border-top:0;color:#868574;padding-top:2px}
.gallery{padding-top:89px;padding-bottom:94px}.section-title h2,.booking-intro h2{font-size:52px}.text-link{font-weight:500;color:#8b6246}.photo-grid{gap:15px;grid-template-columns:1.45fr 1fr 1fr;grid-template-rows:225px 225px}.photo{border-radius:3px}.photo img{filter:saturate(.85)}.photo-main{border-radius:100px 3px 3px 3px}
.cabins-section{background:#e9e5d7;padding:84px 0}.section-copy,.cabin-note{color:#747761}.cabin-cards{gap:18px}.cabin-card{border:0;border-top:1px solid #abb69c;background:transparent;border-radius:0;padding:21px 3px;box-shadow:none;min-height:185px}.cabin-card:hover{background:#f4efe46b;transform:translateY(-3px);border-color:#657a58;box-shadow:none}.cabin-card[aria-pressed=true]{border-color:#315239;box-shadow:inset 0 2px #315239;background:transparent}.cabin-icon{border:1px solid #b5bea8;background:transparent;border-radius:50%;width:49px;height:49px;color:#526b47}.cabin-card strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-weight:600;color:#395337}.cabin-card small{font-size:11px;color:#7a806b;line-height:1.6;padding-right:12px}.cabin-card .card-arrow{color:#a07854}.cabin-tags i{background:#dfE4d5;border-radius:2px}
.booking-section{padding-top:94px;padding-bottom:95px}.booking-intro>p:last-child{color:#737863}.booking-controls,.quote-card{border-color:#dcd9c9;border-radius:5px;background:#f9f6ee;padding:24px}.quote-card{background:#f0eddf}.quote-head{border-color:#d9dbc8}.quote-leaf{background:#e0e5d3;border-radius:50%;color:#71805b}.quote-head h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:29px;font-weight:600}.booking-controls>select,.date-fields button,.calendar-card,.calendar-heading button,.inquiry-form input:not([type=checkbox]),.public-extras label{border-color:#d9ddcd;border-radius:3px;background:#fcfaf4}.date-fields button{background:#f0f2e6}.calendar-day{border-radius:3px;background:#eef0e5}.calendar-day.unverified{background:#f2f1e9}.calendar-day.selected,.calendar-day.unverified.selected{background:#385b40}.calendar-day.in-range,.calendar-day.unverified.in-range{background:#dfe6d1}.quote-total>strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:35px;font-weight:600}.quote-empty span{background:#e2e7d6}.quote-empty p{color:#7c826d}.submit-inquiry{background:#385b40}.submit-inquiry:disabled{background:#9ba68a}.quote-footnote{color:#7a816a}
.stay-info{background:#304c39}.stay-info .eyebrow{color:#cbb894}.stay-info h2{color:#f1e9d8;font-size:55px}.stay-info-list p{border-color:#ffffff26}.stay-info-list strong{color:#e8e6d6;font-weight:500}.stay-info-list span{color:#bfc9b5}
.location-section{padding-top:94px;padding-bottom:94px}.map-card{border-radius:110px 4px 4px 4px;background:radial-gradient(ellipse at 20% 15%,#a6b89588,transparent 32%),linear-gradient(135deg,#d9dfca,#e8e5d4)}.map-pin{background:#486441}.map-card strong{font-family:'Cormorant Garamond',Georgia,serif;font-size:30px}.site-footer{background:#f4efe4;border-color:#d9d5c7;color:#818574}.photo-dialog{background:#f4efe4;border-radius:4px}.photo-dialog>img{border-radius:2px}
@media(max-width:900px){.site-header{height:82px;margin:0 3%}.brand{width:145px}.hero{margin:0 3%;height:650px;min-height:0}.hero-content{width:43%;left:1%}.hero h1{font-size:74px}.hero-copy{font-size:14px}.hero-image{width:53%;border-radius:180px 180px 3px 3px}.hero-note{font-size:9px;right:10px}.intro{gap:35px}.intro h2,.location-section h2{font-size:48px}.photo-grid{grid-template-rows:170px 170px}.cabin-cards{gap:14px}.stay-info h2{font-size:46px}}
@media(max-width:640px){.site-header{height:77px;margin:0 17px;padding:0}.brand{width:135px;height:44px}.header-cta{font-size:10px;padding:10px 12px}.hero{display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;margin:0 17px;padding:38px 0 25px;overflow:hidden}.hero-content{position:relative;left:auto;top:auto;transform:none;width:100%;padding:0 7px}.hero .eyebrow{font-size:8px;margin-bottom:16px}.hero h1{font-size:66px;line-height:.94;letter-spacing:-.045em}.hero-copy{font-size:13px;max-width:285px;margin:17px 0 20px;line-height:1.75}.hero .button{min-height:43px;padding:12px 17px;font-size:11px}.hero-image{position:relative;inset:auto;order:2;width:100%;height:340px;margin-top:29px;border-radius:140px 140px 3px 3px;object-position:58% center}.hero-note{bottom:37px;right:10px;padding:8px 10px;font-size:9px}.intro{padding:57px 3px 30px;gap:18px}.intro h2,.location-section h2{font-size:44px}.intro>p{font-size:13px;line-height:1.8}.features{padding:20px 4px}.features strong{font-size:11px}.features>p{font-size:9px}.gallery{padding-top:57px;padding-bottom:58px}.section-title h2,.booking-intro h2{font-size:39px}.photo-grid{gap:7px;grid-template-rows:132px 132px}.photo-main{border-radius:45px 2px 2px 2px}.cabins-section{padding:57px 0}.cabin-cards{gap:10px 15px}.cabin-card{padding:17px 2px;min-height:154px}.cabin-icon{width:40px;height:40px;margin-bottom:12px}.cabin-card strong{font-size:24px}.cabin-card small{font-size:10px}.cabin-note{font-size:10px}.booking-section{padding-top:60px;padding-bottom:58px}.booking-controls,.quote-card{padding:15px}.quote-head h3{font-size:27px}.quote-total>strong{font-size:30px}.stay-info{padding:56px 0}.stay-info h2{font-size:43px}.location-section{padding-top:59px;padding-bottom:58px}.map-card{border-radius:70px 3px 3px 3px}.site-footer{padding:21px 16px}}

/* Portada panorámica con la identidad de la variante natural. */
.hero{display:block;height:min(690px,70vw);min-height:460px;max-height:none;margin:0 20px;padding:0;overflow:hidden;border:0;border-radius:3px 3px 14px 14px;background:#304c39}
.hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;object-position:center 53%;filter:saturate(.88)}
.hero-shade{display:block;background:linear-gradient(90deg,rgba(22,43,29,.79),rgba(22,43,29,.4) 49%,rgba(22,43,29,.03)),linear-gradient(0deg,rgba(22,43,29,.17),transparent 45%)}
.hero-content{position:absolute;left:max(48px,calc((100vw - 1110px)/2));top:47%;width:min(590px,70%);padding:0;transform:translateY(-50%);color:#f7f0df}
.hero h1{font-size:clamp(58px,7.5vw,100px);color:#f7f0df;line-height:.96}
.hero .eyebrow.light{color:#ded4ba}.hero-copy{color:#e6e7da;max-width:370px;font-size:16px;line-height:1.75}
.hero .button-light{background:#efe7d7;color:#35513c}.hero .button-light:hover{background:#faf5e9}
.hero-note{right:26px;bottom:25px;background:#efe7d7ed;color:#40543c}
@media(max-width:900px){.hero{margin:0 12px;height:60vw;min-height:440px}.hero-content{left:7%;width:65%}.hero h1{font-size:78px}.hero-copy{font-size:14px}}
@media(max-width:640px){.hero{height:calc(86svh - 77px);min-height:480px;max-height:700px;margin:0 7px;padding:0;border-radius:3px 3px 12px 12px}.hero-image{position:absolute;inset:0;width:100%;height:100%;margin:0;border-radius:0;object-position:53% center}.hero-content{position:absolute;left:23px;top:50%;width:calc(100% - 46px);padding:0;transform:translateY(-50%)}.hero h1{font-size:clamp(52px,14.5vw,70px);line-height:.97}.hero .eyebrow{font-size:8px}.hero-copy{font-size:14px;max-width:290px;margin:21px 0 25px}.hero .button{padding:13px 18px;min-height:45px}.hero-note{right:12px;bottom:15px;padding:8px 10px;font-size:9px}}

/* Marca principal con mayor presencia, sin modificar el pie de página. */
.site-header{height:112px}
.site-header .brand{width:245px;height:84px}
@media(max-width:900px){.site-header{height:104px}.site-header .brand{width:210px;height:74px}}
@media(max-width:640px){.site-header{height:94px;gap:14px}.site-header .brand{width:185px;max-width:calc(100% - 140px);height:66px}.hero{height:calc(86svh - 94px)}}

.stay-selection-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-bottom:17px}
.stay-selection-row>div{min-width:0}
.stay-selection-row .control-label{margin-top:0}
.stay-selection-row select{display:block;width:100%;min-width:0;min-height:46px;margin:0;border:1px solid #d9ddcd;border-radius:3px;padding:11px 12px;background:#fcfaf4;color:#415843;font:600 13px 'DM Sans',sans-serif}
@media(max-width:640px){.stay-selection-row{gap:10px}.stay-selection-row select{padding:10px 8px;font-size:12px}}

/* Consulta: calendario contenido y resumen dentro de un mismo conjunto. */
.booking-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:0;align-items:stretch;border:1px solid #d6d8c5;border-radius:10px;background:#faf7ef;overflow:hidden}
.booking-controls{padding:27px 30px;border:0;border-radius:0;background:transparent;min-width:0}
.quote-card{position:static;padding:28px 30px;border:0;border-left:1px solid #d9ddc9;border-radius:0;background:#edf0e3;min-width:0}
.stay-selection-row{gap:12px;margin-bottom:18px}
.stay-selection-row select{height:46px;appearance:none;-webkit-appearance:none;padding-right:28px;background:#fffdf7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23536b53' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 11px center}
.booking-controls .control-label{font-size:12px;margin-bottom:8px}
.date-fields{gap:12px;margin:0 0 16px}
.date-fields button{min-height:66px;gap:6px;padding:12px 14px;background:#f0f3e7;border-color:#cdd8bf;border-radius:6px}
.date-fields small{font-size:11px}.date-fields strong{font-size:14px}
.calendar-card{padding:15px;border:1px solid #e0e2d2;border-radius:7px;background:#fffdf7}
.calendar-heading{margin-bottom:12px}
.calendar-heading strong{font-size:14px;text-transform:capitalize}
.calendar-heading button{width:35px;height:35px;min-height:35px;border-radius:5px;font-size:22px}
.booking-controls .calendar{gap:4px}
.booking-controls .weekday{aspect-ratio:auto;height:26px;font-size:11px}
.booking-controls .calendar-day{aspect-ratio:auto;height:42px;min-height:42px;font-size:13px;border-radius:5px}
.calendar-legend{margin-top:12px;font-size:10px}
.public-extras{display:flex;flex-wrap:wrap;gap:12px 22px;margin:16px 0 0}
.public-extras label{min-height:36px;padding:0;border:0;background:transparent;border-radius:0;font-size:12px;gap:8px}
.public-extras label:has(input:checked){background:transparent;color:#315f47}
.public-extras input{width:17px;height:17px;margin:0}
.quote-head{padding-bottom:19px;gap:12px}
.quote-head .quote-leaf{width:36px;height:36px;font-size:22px;background:transparent}
.quote-head h3{font-size:34px}
.quote-empty{min-height:145px;padding:28px 0;display:flex;justify-content:flex-start;align-items:center;text-align:left}
.quote-empty>span{display:none}
.quote-empty p{max-width:245px;margin:0;font-size:14px;line-height:1.7}
.quote-total{padding-top:18px}
.quote-total>strong{font-size:42px}
.quote-footnote{padding-top:15px;margin-top:15px;border-top:1px solid #d7ddc7;max-width:330px;font-size:11px;line-height:1.65}
.availability-error{font-size:11px;line-height:1.6;margin-bottom:0}
@media(max-width:800px){.booking-controls,.quote-card{padding:22px}.booking-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
@media(max-width:700px){.booking-layout{grid-template-columns:1fr}.booking-controls{padding:20px}.quote-card{padding:23px 20px;border-left:0;border-top:1px solid #d9ddc9}.quote-empty{min-height:0;padding:20px 0 5px}.quote-head h3{font-size:30px}.quote-footnote{max-width:none}.booking-controls .calendar-day{height:42px}.calendar-card{padding:12px}.quote-total>strong{font-size:38px}}

/* Presentación y servicios con una misma cadencia visual. */
.intro{align-items:center;gap:70px;padding:70px 0 42px}
.intro h2{font-size:clamp(40px,4.6vw,58px);line-height:1.02}
.intro>p{max-width:380px;margin:0;font-size:17px;line-height:1.8;color:#6b7562}
.features{grid-template-columns:repeat(6,minmax(0,1fr));gap:0;padding:28px 0 19px;border-color:#d2d5c2}
.features>div{min-width:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:12px;padding:0 12px;text-align:center;border-right:1px solid #dce0cd}
.features>div:nth-of-type(6){border-right:0}
.features .feature-icon{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:0;background:transparent;color:#6c815e}
.feature-icon svg{width:30px;height:30px;display:block}
.features strong{font-size:12px;line-height:1.5;font-weight:500;color:#4f6548}
.features>p{text-align:center;margin:22px 0 0;padding:0;font-size:10px;color:#878d79}
@media(max-width:900px){.intro{gap:35px;padding-top:55px}.intro>p{font-size:15px}.features{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:25px}.features>div:nth-of-type(3){border-right:0}.features>p{margin-top:3px}}
@media(max-width:640px){.intro{grid-template-columns:1fr;gap:20px;padding:46px 3px 30px}.intro h2{font-size:43px}.intro>p{max-width:340px;font-size:15px;line-height:1.75}.features{padding:24px 0 17px;row-gap:23px}.features>div{padding:0 5px;gap:8px}.features strong{font-size:11px}.features .feature-icon{width:34px;height:34px}.feature-icon svg{width:27px;height:27px}.features>p{font-size:10px;padding:0 15px;line-height:1.5}}

/* Una invitación a conocer Villa Ventana. */
.destination-card{width:100%;border:0;text-align:left;cursor:pointer;font:inherit;transition:background .2s}
.destination-card::before,.destination-card::after{display:none}
.destination-card{background:radial-gradient(ellipse at 85% 20%,#c5d0b7 0,transparent 65%),#e1e6d3}
.destination-card:hover{background-color:#d8e0c8}
.destination-card:focus-visible{outline:2px solid #3c6545;outline-offset:5px}
.destination-mark{display:block;width:48px;height:36px;color:#526f4c;margin-bottom:13px}
.destination-mark svg{width:100%;height:100%}
.destination-dialog{width:min(900px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #d7ddc8;border-radius:12px;background:#f7f2e7;color:#5e7057;overflow:auto;box-shadow:0 30px 100px #10241766}
.destination-dialog[open]{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}
.destination-dialog::backdrop{background:#172b20c9;backdrop-filter:blur(5px)}
.destination-close{position:absolute;right:15px;top:15px;z-index:2;width:39px;height:39px;border:1px solid #d2d9c2;border-radius:50%;background:#f7f2e7;color:#526b4e;font-size:26px;cursor:pointer}
.destination-art{position:relative;overflow:hidden;background:#dde3cd;min-height:100%}
.destination-art>svg{width:100%;height:100%;position:absolute;inset:0}
.destination-art>span{position:absolute;left:29px;bottom:33px;font:500 33px/1.04 'Cormorant Garamond',Georgia,serif;color:#f6f0df;letter-spacing:-.02em}
.destination-content{padding:43px 42px 34px}
.destination-content .eyebrow{font-size:9px;letter-spacing:.12em;margin:0 35px 14px 0}
.destination-content h2{font:500 46px/.99 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em;color:#31553d;margin:0 0 20px}
.destination-content>p:not(.eyebrow){font-size:13px;line-height:1.8;margin:0 0 21px}
.destination-highlights{display:grid;gap:13px;padding:18px 0;border-top:1px solid #d9ddcb;border-bottom:1px solid #d9ddcb;margin-bottom:20px}
.destination-highlights p{margin:0;display:grid;gap:4px}
.destination-highlights strong{font-size:13px;font-weight:600;color:#3b5b3d}
.destination-highlights span{font-size:12px;line-height:1.6;color:#7c876e}
.destination-content .destination-outro{font-size:12px!important;color:#68785b;margin-bottom:19px!important}
.destination-content .button{min-height:45px;background:#385b40;color:#f7f1e5}
@media(max-width:640px){.destination-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:10px}.destination-dialog[open]{grid-template-columns:1fr}.destination-art{min-height:145px;height:145px}.destination-art>svg{object-fit:cover}.destination-art>span{left:22px;bottom:18px;font-size:28px}.destination-content{padding:26px 23px}.destination-content h2{font-size:39px}.destination-content .eyebrow{font-size:8px;margin-right:0}.destination-close{top:12px;right:12px}.destination-content .button{width:100%}}

.location-map-dialog{width:min(980px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #d4ddc6;border-radius:12px;background:#f7f2e7;color:#526a4e;overflow:auto;box-shadow:0 28px 100px #10241766}
.location-map-dialog::backdrop{background:#172b20c9;backdrop-filter:blur(5px)}
.location-map-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 27px 21px}
.location-map-header h2{font:500 38px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;color:#31553d;margin:0 0 10px}
.location-map-header p{margin:0;font-size:12px;line-height:1.6;color:#78836c}
.location-map-close{flex:0 0 39px;width:39px;height:39px;border:1px solid #d2d9c2;border-radius:50%;background:transparent;color:#526b4e;font-size:26px;cursor:pointer}
.location-map-frame{background:#dfe5d4;border-block:1px solid #d7deca}
.location-map-frame iframe{display:block;width:100%;height:min(56dvh,480px);min-height:260px;border:0}
.location-map-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 27px}
.location-map-footer>span{font-size:11px;color:#859076}
.location-map-footer .text-link{font-size:12px;min-height:32px}
@media(max-width:640px){.location-map-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:10px}.location-map-header{padding:22px 19px 18px;gap:12px}.location-map-header h2{font-size:33px}.location-map-header p{font-size:11px}.location-map-frame iframe{height:52dvh;min-height:230px}.location-map-footer{padding:12px 19px;flex-wrap:wrap;gap:6px}.location-map-footer .text-link{font-size:11px}}

.intro>p{max-width:480px;font-size:16px;line-height:1.65}
@media(max-width:640px){.intro>p{font-size:15px;line-height:1.7}}

/* Reseña turística con fotografía del entorno. */
.destination-tourism[open]{display:block;width:min(940px,calc(100vw - 40px))}
.destination-tourism .destination-art{height:225px;min-height:0;background:#455d42}
.destination-art>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.destination-tourism .destination-art::after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#152b21b3,transparent 80%);pointer-events:none}
.destination-photo-title{position:absolute;left:32px;bottom:27px;z-index:1;color:#fff6e5}
.destination-photo-title>p{margin:0 0 8px;font-size:9px;letter-spacing:.16em;font-weight:600}
.destination-photo-title>h2{margin:0;font:500 49px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;color:inherit}
.destination-photo-credit{position:absolute;z-index:1;right:14px;bottom:12px;color:#fff9eb;font-size:9px;text-decoration:none;background:#17302388;padding:5px 7px;border-radius:3px}
.destination-photo-credit:hover{text-decoration:underline}
.destination-tourism .destination-close{background:#f7f2e7ed;border-color:transparent}
.destination-tourism .destination-content{padding:25px 32px 27px}
.destination-tourism .destination-content .destination-geography{font-size:10px!important;letter-spacing:.02em;color:#8b795c;margin-bottom:13px!important}
.destination-tourism .destination-content>p{font-size:13px;line-height:1.8;margin-bottom:20px}
.destination-tourism .destination-highlights{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding:20px 0;margin-bottom:18px}
.destination-highlights section{min-width:0}
.destination-highlights h3{margin:0 0 10px;font:600 24px/1.05 'Cormorant Garamond',Georgia,serif;color:#3b5b3d;letter-spacing:-.02em}
.destination-tourism .destination-highlights p{display:block;font-size:12px;line-height:1.75;color:#738268}
.destination-tourism-footer{display:flex;align-items:center;justify-content:space-between;gap:20px}
.destination-tourism-footer>a{font-size:10px;color:#8b795c;text-decoration:none;min-height:36px;display:inline-flex;align-items:center}
.destination-tourism-footer>a:hover{text-decoration:underline}
@media(max-width:640px){.destination-tourism[open]{width:calc(100vw - 24px)}.destination-tourism .destination-art{height:190px}.destination-photo-title{left:22px;bottom:36px}.destination-photo-title>h2{font-size:36px}.destination-photo-title>p{font-size:8px}.destination-photo-credit{font-size:8px;right:10px;bottom:8px}.destination-tourism .destination-content{padding:21px 22px}.destination-tourism .destination-highlights{grid-template-columns:1fr;gap:19px}.destination-highlights h3{font-size:25px;margin-bottom:7px}.destination-tourism-footer{flex-direction:column-reverse;align-items:stretch;gap:8px}.destination-tourism-footer>a{justify-content:center}.destination-tourism .destination-content .destination-geography{line-height:1.7}}

.destination-photo-credit{margin:0}.destination-photo-credit a{color:inherit;text-decoration:none}.destination-photo-credit a:hover{text-decoration:underline}

.destination-credits{margin-top:12px;font-size:10px;line-height:1.6;color:#879078}.destination-credits summary{cursor:pointer;width:fit-content}.destination-credits p{margin:7px 0 0}.destination-credits a{color:inherit;text-underline-offset:2px}

/* Actividades y bienvenida de los anfitriones. */
.site-header nav{gap:25px}.site-header nav a{white-space:nowrap}
.activities-section{padding-top:82px;padding-bottom:86px}
.activities-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:30px}
.activities-heading h2,.about-story h2{margin:0;color:#31553e;font:500 49px/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.035em}
.activities-heading>p{max-width:280px;margin:0;color:#7b846e;font-size:13px;line-height:1.8}
.activity-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.activity-option{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:23px 0 5px;border:0;border-top:1px solid #afbca1;background:transparent;text-align:left;color:#536e4a;cursor:pointer;min-width:0}
.activity-number{position:absolute;top:24px;right:1px;font-size:10px;letter-spacing:.06em;color:#9a9d87}
.activity-symbol{display:block;width:44px;height:40px;margin-bottom:21px;color:#6c815e}
.activity-symbol svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.activity-option h3{margin:0 0 12px;color:#3d5a3e;font:600 29px/1.05 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;min-height:61px}
.activity-option>p{margin:0 0 18px;font:400 12px/1.8 'DM Sans',sans-serif;color:#79846c}
.activity-more{display:flex;gap:17px;align-items:center;min-height:44px;margin-top:auto;color:#5e744d;font-size:12px;font-weight:600}
.activity-option:hover{border-top-color:#31553e}.activity-option:hover .activity-more{color:#304e36}.activity-option:hover .activity-more>span{transform:translate(2px,-2px)}.activity-more>span{transition:transform .2s}
.activity-option:focus-visible{outline:2px solid #52704a;outline-offset:7px;border-radius:2px}
.activity-dialog{width:min(720px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #d8dec9;border-radius:12px;background:#f7f2e7;color:#6c7c60;overflow:auto;box-shadow:0 28px 100px #10241766}
.activity-dialog::backdrop{background:#172b20c9;backdrop-filter:blur(5px)}
.activity-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;padding:28px 32px 22px;border-bottom:1px solid #dce0cc}
.activity-dialog-header .eyebrow{font-size:9px;margin-bottom:10px}
.activity-dialog-header h2{font:500 42px/1 'Cormorant Garamond',Georgia,serif;color:#31553e;letter-spacing:-.03em;margin:0}
.activity-dialog-close{flex:0 0 39px;width:39px;height:39px;border:1px solid #d2d9c2;border-radius:50%;background:transparent;color:#526b4e;font-size:26px;cursor:pointer}
.activity-dialog-content{padding:24px 32px}.activity-intro{font-size:14px;line-height:1.8;margin:0 0 25px;color:#5d7354}
.activity-details{display:grid;gap:19px}.activity-details h3{font:600 25px/1.1 'Cormorant Garamond',Georgia,serif;color:#42623e;margin:0 0 7px}.activity-details p{font-size:12px;line-height:1.8;margin:0}
.activity-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:17px 32px 23px;border-top:1px solid #dce0cc}
.activity-dialog-footer .text-link{font-size:11px;min-height:38px}.activity-dialog-back{border:1px solid #c5d0b8;background:transparent;color:#47633d;min-height:42px}
.about-section{background:#e9e5d7;padding:76px 0}
.about-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:80px;align-items:center}
.about-photo-placeholder{aspect-ratio:4/3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px solid #c7cfb8;border-radius:90px 4px 4px 4px;background:#dde3ce;color:#718362}
.about-photo-placeholder>span{font:500 clamp(70px,8vw,108px)/1 'Cormorant Garamond',Georgia,serif;letter-spacing:-.04em}.about-photo-placeholder i{font-size:.6em;font-style:italic;color:#98a487}.about-photo-placeholder>small{font-size:11px;color:#8b967b}
.about-story .eyebrow{margin-bottom:15px}.about-story h2{font-size:54px;margin-bottom:24px}.about-story>p:not(.eyebrow):not(.about-signature){max-width:440px;font-size:14px;line-height:1.85;color:#6c7c60;margin:0 0 15px}.about-story .about-signature{font:italic 500 29px/1.2 'Cormorant Garamond',Georgia,serif;color:#4d6c47;margin:22px 0 13px}.about-draft-note{display:block;font-size:10px;color:#979e88;line-height:1.6}
@media(max-width:1100px){.site-header nav{gap:17px}.site-header nav a{font-size:12px}.site-header .brand{width:210px}.site-header .header-cta{font-size:11px;padding:12px 14px}.activity-options{gap:20px}.activity-option h3{font-size:27px}.about-layout{gap:45px}}
@media(max-width:950px){.site-header{display:grid;grid-template-columns:1fr auto;height:auto;padding:10px 1% 0;gap:4px 20px}.site-header .brand{height:68px}.site-header .header-cta{grid-column:2;grid-row:1}.site-header nav{grid-column:1/-1;grid-row:2;display:flex;justify-content:center;gap:30px;min-height:44px;overflow-x:auto;min-width:0;padding:0 0 4px}.activity-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 30px}.activity-option h3{min-height:0}.activities-heading{align-items:flex-start}.activities-heading h2{font-size:43px}.activities-heading>p{max-width:230px}.about-story h2{font-size:47px}}
@media(max-width:640px){.site-header{margin:0 17px;padding:7px 0 0;gap:5px 10px}.site-header .brand{width:185px;max-width:none;height:66px}.site-header .header-cta{font-size:10px;padding:11px 12px}.site-header nav{justify-content:flex-start;gap:23px;min-height:44px;padding:0 0 6px}.site-header nav a{font-size:12px;min-height:38px;display:flex;align-items:center}.activities-section{padding-top:56px;padding-bottom:55px}.activities-heading{display:block;margin-bottom:25px}.activities-heading h2{font-size:39px}.activities-heading>p{max-width:290px;font-size:13px;margin-top:13px}.activity-options{gap:25px 20px}.activity-option{padding-top:20px}.activity-number{top:21px}.activity-symbol{width:38px;height:35px;margin-bottom:17px}.activity-option h3{font-size:26px;min-height:55px;margin-bottom:10px}.activity-option>p{font-size:12px;line-height:1.7}.activity-more{font-size:12px}.activity-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.activity-dialog-header{padding:23px 22px 20px;gap:12px}.activity-dialog-header h2{font-size:35px}.activity-dialog-header .eyebrow{font-size:8px}.activity-dialog-content{padding:22px}.activity-intro{font-size:13px}.activity-dialog-footer{padding:15px 22px;flex-wrap:wrap;gap:10px}.activity-dialog-footer .text-link{white-space:normal}.about-section{padding:48px 0}.about-layout{grid-template-columns:1fr;gap:29px}.about-photo-placeholder{width:100%;max-width:420px;aspect-ratio:4/3;border-top-left-radius:70px}.about-story h2{font-size:45px;margin-bottom:20px}.about-story>p:not(.eyebrow):not(.about-signature){font-size:14px}.about-story .eyebrow{font-size:9px}}
@media(max-width:360px){.site-header .brand{width:155px}.site-header nav{gap:20px}.activity-options{gap:25px 15px}.activity-option h3{font-size:24px}}

/* La franja verde reúne ahora las propuestas para conocer el lugar. */
.activities-section{background:#304c39}
.activities-heading h2{color:#f1e9d8}
.activities-heading>p{color:#c2ccb9}
.activity-option{border-top-color:#78916f;color:#d7e2cb}
.activity-symbol{color:#c4d2b5}
.activity-number{color:#a9b89c}
.activity-option h3{color:#f1e9d8}
.activity-option>p{color:#c2ccb9}
.activity-more{color:#dfd1ad}
.activity-option:hover{border-top-color:#e0d1ad}
.activity-option:hover .activity-more{color:#fff2d0}
.activity-option:focus-visible{outline-color:#e0d1ad}

/* La historia de Susana y Miguel se abre desde la navegación. */
.site-header nav button{padding:0;border:0;background:none;font:500 13px 'DM Sans',sans-serif;color:#4b5c4b;white-space:nowrap;cursor:pointer}
.site-header nav button:hover{color:#2e5140}
.site-header nav button:focus-visible{outline:2px solid #58724b;outline-offset:5px;border-radius:2px}
.about-dialog{width:min(960px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #d8dec9;border-radius:12px;background:#f7f2e7;color:#64785b;overflow:auto;box-shadow:0 28px 100px #10241766}
.about-dialog::backdrop{background:#172b20c9;backdrop-filter:blur(5px)}
.about-dialog-close{position:absolute;right:15px;top:15px;z-index:2;flex:0 0 39px;width:39px;height:39px;border:1px solid #d2d9c2;border-radius:50%;background:#f7f2e7;color:#526b4e;font-size:26px;cursor:pointer}
.about-dialog-layout{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
.about-dialog .about-photo-placeholder{align-self:stretch;aspect-ratio:auto;min-height:100%;border:0;border-radius:0;background:#dfe5d1;gap:17px}
.about-dialog .about-photo-placeholder>span{font-size:85px}
.about-dialog .about-story{padding:35px 38px 29px}
.about-dialog .about-story .eyebrow{margin-right:32px;font-size:9px;margin-bottom:13px}
.about-dialog .about-story h2{font-size:45px;margin-bottom:22px}
.about-dialog .about-story>p:not(.eyebrow):not(.about-signature){font-size:13px;line-height:1.8;margin-bottom:14px;max-width:none}
.about-dialog .about-story .about-signature{font-size:28px;margin:20px 0 0}
@media(max-width:1100px){.site-header nav button{font-size:12px}}
@media(max-width:640px){.site-header nav button{font-size:12px;min-height:38px;display:flex;align-items:center}.about-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border-radius:10px}.about-dialog-layout{grid-template-columns:1fr}.about-dialog .about-photo-placeholder{min-height:155px;height:155px;width:100%;max-width:none;gap:7px}.about-dialog .about-photo-placeholder>span{font-size:64px}.about-dialog .about-photo-placeholder>small{font-size:10px}.about-dialog .about-story{padding:26px 23px}.about-dialog .about-story h2{font-size:41px}.about-dialog .about-story>p:not(.eyebrow):not(.about-signature){font-size:13px;line-height:1.8}.about-dialog-close{right:12px;top:12px}}

[data-web-text]{white-space:pre-line}.about-copy p{font-size:14px;line-height:1.85;color:#6c7c60;margin:0 0 15px}.about-dialog .about-copy p{font-size:13px;line-height:1.8;margin-bottom:14px}.about-photo-placeholder>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.about-photo-placeholder{position:relative;overflow:hidden}.about-dialog .about-photo-placeholder{min-height:260px}[data-web-paragraphs] p{white-space:pre-line}[data-web-text][hidden],[data-web-paragraphs][hidden]{display:none!important}

/* La galería se adapta a la cantidad de fotos elegidas. */
.photo-grid[data-count="1"]{grid-template-columns:1fr;grid-template-rows:370px}
.photo-grid[data-count="1"] .photo-main{grid-row:auto}
.photo-grid[data-count="2"]{grid-template-columns:1fr 1fr;grid-template-rows:300px}
.photo-grid[data-count="3"]{grid-template-columns:1.3fr 1fr 1fr;grid-template-rows:270px}
.photo-grid[data-count="4"]{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px}
.photo-grid[data-count="2"] .photo-main,.photo-grid[data-count="3"] .photo-main,.photo-grid[data-count="4"] .photo-main{grid-row:auto}
.gallery[hidden],.hero-image[hidden],.destination-art>img[hidden],.photo-dialog [hidden]{display:none!important}
@media(max-width:640px){.photo-grid[data-count="1"]{grid-template-rows:240px}.photo-grid[data-count="2"],.photo-grid[data-count="3"]{grid-template-rows:160px}.photo-grid[data-count="4"]{grid-template-rows:150px 150px}}
