@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#123d4d;--blue:#16728a;--paper:#fff;--soft:#eef4f4;--line:#d6e1e2;--serif:'Libre Caslon Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65}a{color:inherit;text-underline-offset:5px}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d79345;outline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}header{padding:22px 5%;display:flex;justify-content:space-between;align-items:center;background:white;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.brand{font-family:var(--serif);font-size:34px;line-height:1;text-decoration:none;white-space:nowrap}.brand span{font-style:italic}.brand small{display:block;font:10px var(--sans);letter-spacing:2px;margin-top:10px}nav{display:flex;align-items:center;gap:30px}nav>a{font-size:14px;text-decoration:none}nav>a:hover{text-decoration:underline}.menu-toggle{display:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-1px}h1{font-size:clamp(64px,6.7vw,104px);margin-bottom:26px}h2{font-size:clamp(42px,4.4vw,66px);margin-bottom:20px}h3{font-size:34px}em{font-weight:400;color:var(--blue)}.eyebrow{font-size:12px;letter-spacing:2.4px;font-weight:600;margin-bottom:25px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--ink);border:1px solid var(--ink);color:white;min-height:52px;padding:14px 26px;font-size:14px;font-weight:500;text-decoration:none;border-radius:0}.button:hover{background:var(--blue);border-color:var(--blue)}.button.small{min-height:44px;padding:10px 18px}.hero{display:grid;grid-template-columns:48% 52%;min-height:690px}.hero-copy{padding:60px 12% 32px 10.5%;display:flex;align-items:flex-start;flex-direction:column;justify-content:center;background:var(--soft)}.hero-copy>p:not(.eyebrow){max-width:390px;font-size:16px;margin-bottom:30px}.hero-image{position:relative;min-height:590px}.hero-image img{position:absolute;inset:0;object-position:right top}.image-label{position:absolute;bottom:28px;left:28px;right:28px;color:white;font-size:14px;text-shadow:0 1px 7px black}.hero-image:after{content:'';position:absolute;bottom:0;width:100%;height:140px;background:linear-gradient(transparent,#0005);pointer-events:none}.image-label{z-index:1}.hero-note{display:flex;justify-content:space-between;width:100%;margin-top:54px;border-top:1px solid #bdced1;padding-top:20px;font-size:12px;letter-spacing:1px}.location-strip{display:flex;justify-content:space-between;gap:20px;padding:22px 5%;font-size:14px;border-bottom:1px solid var(--line)}.section{padding:100px 7%;scroll-margin-top:20px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:40px}.section-heading>p{max-width:365px;margin-bottom:20px}.section-heading h2{margin-bottom:0}.house-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:65px}.house-photo{min-height:510px}.house-details{padding:25px 0}.house-details h3{margin-bottom:22px}.amenities{list-style:none;padding:0;margin:25px 0}.amenities li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px;display:flex;gap:24px}.amenities span{font-size:12px;color:var(--blue);padding-top:3px}.text-link{font-size:14px}.gallery-section{background:var(--soft)}.filters{display:flex;gap:8px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;padding:10px 17px;color:var(--ink);font-size:14px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery button{border:0;padding:0;position:relative;background:var(--ink);aspect-ratio:4/3;overflow:hidden}.gallery img{transition:transform .35s}.gallery button:hover img{transform:scale(1.045)}.gallery button span{position:absolute;bottom:0;left:0;right:0;padding:35px 16px 14px;background:linear-gradient(transparent,#0009);color:white;font-size:14px;text-align:left}.outline-button{display:block;margin:32px auto 0;background:transparent;border:1px solid var(--ink);padding:12px 24px;color:var(--ink);font-size:14px}.sea-banner{height:580px;position:relative;background:var(--ink);color:white}.sea-banner>img{position:absolute;inset:0;object-position:center 50%}.sea-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#082d49b0,transparent)}.sea-banner>div{position:relative;z-index:1;padding:100px 7%;max-width:590px}.sea-banner h2{font-size:80px}.sea-banner p{max-width:340px}.explore-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:27px}.explore-grid article>img{height:300px}.explore-grid article>div{padding:25px 4px}.explore-grid .eyebrow{margin-bottom:15px}.explore-grid h3{margin-bottom:17px}.explore-grid p:last-child{font-size:15px}.map-details{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.maps{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:30px}.maps img{height:400px;object-fit:contain;background:var(--soft)}summary{cursor:pointer;font-size:16px;list-style:none;padding-right:30px;position:relative}summary:after{content:'+';position:absolute;right:0;font-size:24px;top:-6px}details[open]>summary:after{content:'âˆ’'}summary::-webkit-details-marker{display:none}.guide{display:grid;grid-template-columns:1fr 1fr;gap:70px;background:var(--soft)}.guide>div>p:last-child{max-width:340px}.faq details{border-bottom:1px solid #c6d5d8;padding:22px 0}.faq details:first-child{padding-top:0}.faq p{font-size:15px;margin:20px 0 12px}.faq a{font-size:14px}.hosts{display:grid;grid-template-columns:1fr 1fr;gap:0 70px}.hosts>.eyebrow{grid-column:1/-1}.hosts h2{font-size:65px}.hosts>div{max-width:500px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:var(--ink);color:white}.contact h2{font-size:76px}.email,.phone{display:block;max-width:max-content;margin-top:16px}.contact form{padding:15px 0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;margin-bottom:20px}label span{opacity:.65}input,textarea{display:block;width:100%;color:white;background:#ffffff0a;border:1px solid #ffffff60;padding:13px 14px;margin-top:8px;border-radius:0;min-width:0;color-scheme:dark}textarea::placeholder{color:#c3d4d9}.contact .button{background:white;border-color:white;color:var(--ink);width:100%}.contact .button:hover{background:#d7e8ed}.form-note{font-size:12px;line-height:1.6;margin-top:15px;opacity:.78}.form-note:empty{display:none}#form-error{color:#ffd8a4;font-size:14px}footer{padding:50px 7%;display:flex;justify-content:space-between;align-items:center;gap:30px}footer p,footer>a:last-child{font-size:14px;margin:0}dialog{border:0;padding:55px 20px 25px;background:#102b35;color:white;max-width:96vw;width:1200px}dialog::backdrop{background:#071e25e8}.close-lightbox{position:absolute;right:20px;top:8px;font-size:34px;border:0;background:none;color:white;min-width:44px;min-height:44px}.lightbox-layout{display:flex;align-items:center;justify-content:space-between;gap:10px}.lightbox-layout>button{border:0;background:none;color:white;font-size:45px;min-width:44px;min-height:44px}.lightbox-layout figure{margin:0;min-width:0;width:100%;text-align:center}.lightbox-layout img{max-height:75vh;object-fit:contain}.lightbox-layout figcaption{font-size:14px;padding-top:14px}@media(min-width:1600px){main,header,footer{max-width:1800px;margin:auto}}@media(max-width:1000px){nav{gap:15px}.hero-copy{padding:50px 9%}.hero{min-height:600px}.hero-image{min-height:550px}.section{padding:75px 5%}.house-layout{gap:35px}.section-heading{gap:30px}.explore-grid article>img{height:230px}.guide,.contact{gap:40px}.hosts h2{font-size:55px}}@media(max-width:760px){header{padding:18px 5%;flex-wrap:wrap}.brand{font-size:29px}.menu-toggle{display:block;background:none;color:var(--ink);border:1px solid var(--line);padding:9px 14px;font-size:14px}nav{display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;padding-top:20px}nav.open{display:flex}nav>a{padding:12px 0}nav .button{margin-top:10px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 7% 30px}h1{font-size:74px}.hero-copy>p:not(.eyebrow){max-width:470px}.hero-note{margin-top:34px}.hero-image{min-height:440px}.location-strip{flex-wrap:wrap;font-size:12px;padding:18px 7%}.location-strip span:nth-child(2){display:none}.section{padding:65px 7%}.section-heading{display:block}.section-heading>p{margin-top:25px}.section-heading .filters{margin-top:25px}.house-layout{grid-template-columns:1fr;gap:15px}.house-photo{min-height:0;height:380px}.house-details{padding:20px 0 0}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery button span{font-size:12px;padding:25px 10px 10px}.sea-banner{height:470px}.sea-banner>div{padding:75px 7%}.sea-banner h2{font-size:65px}.explore-grid{grid-template-columns:1fr;gap:15px}.explore-grid article>img{height:320px}.guide,.hosts,.contact{grid-template-columns:1fr;gap:30px}.hosts h2{font-size:55px}.contact h2{font-size:64px}.maps{grid-template-columns:1fr}.maps img{height:340px}.form-row{gap:12px}footer{align-items:flex-start;flex-direction:column;padding:40px 7%}.lightbox-layout{gap:0}dialog{padding-left:5px;padding-right:5px}.lightbox-layout>button{font-size:35px;min-width:36px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.gallery img{transition:none}}

/* Experiencias en Cala Gonone */
.activities-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}
.activity-visual{margin:0;position:sticky;top:130px;background:var(--soft)}
.activity-visual img{height:560px;object-fit:cover}
.activity-visual figcaption{padding:18px 22px;font-size:14px}
.activity-list .activity{padding:25px 0;border-top:1px solid var(--line)}
.activity-list .activity:last-child{border-bottom:1px solid var(--line)}
.activity summary{display:flex;gap:23px;align-items:start;padding-right:30px}
.activity summary:after{top:3px}
.activity-number{font-size:12px;letter-spacing:1px;color:var(--blue);padding-top:7px}
.activity-title{font-family:var(--serif);font-size:34px;line-height:1.15;letter-spacing:-.5px}
.activity-title small{display:block;font:14px/1.5 var(--sans);letter-spacing:0;margin-top:10px;color:#516d76}
.activity[open] .activity-title{color:var(--blue)}
.activity-body{padding:23px 25px 0 42px}
.activity-body p{font-size:15px;margin-bottom:18px}
.activity-body .activity-tip{border-left:2px solid #9fc6ce;padding-left:17px;color:#516d76;font-size:14px}
.activity-body a{font-size:14px}
.activities-bottom{margin-top:40px;padding-top:27px;border-top:1px solid var(--line);display:flex;gap:40px;justify-content:space-between;align-items:center}
.activities-bottom p{max-width:620px;font-size:15px;margin:0}
.activities-bottom a{flex-shrink:0}
@media(max-width:1000px){.activities-layout{gap:35px}.activity-visual img{height:490px}.activity-title{font-size:30px}.activities-bottom{align-items:start}.activities-bottom a{flex-shrink:1}}
@media(max-width:760px){.activities-layout{grid-template-columns:1fr;gap:24px}.activity-visual{position:static}.activity-visual img{height:320px}.activity-visual figcaption{padding:14px 16px}.activity-body{padding-right:0}.activities-bottom{display:block}.activities-bottom p{margin-bottom:20px}}

/* Idiomas, anfitriones y confianza */
.hero-airbnb{margin-top:17px}
.review-grid .review-card{border:1px solid var(--line);background:var(--soft);padding:28px 30px;display:flex;flex-direction:column;align-items:flex-start;min-height:240px}.review-card-top{display:flex;align-items:center;gap:14px;margin-bottom:23px}.review-stars{font-size:26px;line-height:1;letter-spacing:3px;color:#996326}.review-stars .empty-star{color:#8b9699}.review-card .review-rating{font-size:13px;margin:0;color:var(--ink)}.review-card blockquote{margin:0 0 28px}.review-card blockquote p{font-family:var(--serif);font-size:36px;line-height:1.15;margin:0;letter-spacing:-.3px}.review-grid .review-card>.review-author{font-size:16px;font-weight:600;margin-top:auto}.review-author small{font-size:13px;color:#516d76;font-weight:400}.host-reviews>.eyebrow{margin-bottom:25px}@media(max-width:760px){.review-grid{gap:16px}.review-grid .review-card{padding:24px;min-height:220px}.review-card blockquote p{font-size:32px}}
.review-rating{display:block;font-size:12px;color:#516d76;margin-top:6px}
header{gap:22px}nav{gap:20px}#language{font:14px var(--sans);background:white;color:var(--ink);border:1px solid var(--line);padding:10px 8px;min-height:44px;max-width:140px;border-radius:0}.hero-note a{font-size:12px;letter-spacing:0}.trust-strip{display:grid;grid-template-columns:.8fr 1.1fr 1fr;gap:30px;padding:34px 7%;border-bottom:1px solid var(--line);align-items:center}.trust-strip>div{display:flex;flex-direction:column;gap:5px}.trust-strip strong{font-weight:500;font-size:19px;line-height:1.4}.trust-strip>div:first-child strong{font-family:var(--serif);font-size:42px;line-height:1}.trust-strip strong small{font:14px var(--sans);color:#516d76}.trust-strip span,.trust-strip a{font-size:13px;color:#516d76}.house-capacity{font-size:14px;line-height:1.6;color:var(--blue);margin-top:-7px}.hosts .hosts-story{max-width:none}.host-intro{font-size:18px}.host-bios{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.host-bios h3{font-size:30px;margin-bottom:12px}.host-bios p{font-size:14px}.hosts .host-book{grid-column:1/-1;max-width:none;background:var(--soft);padding:35px;display:grid;grid-template-columns:.85fr 1.15fr;gap:0 50px;margin-top:35px}.host-book>.eyebrow{grid-column:1/-1}.host-book h3{font-size:39px}.host-book>p:not(.eyebrow){font-size:15px}.host-book>a{grid-column:2}.hosts .host-reviews{grid-column:1/-1;max-width:none;margin-top:35px}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.review-grid article{border-top:1px solid var(--line);padding:23px 0}.review-grid article>p{font-family:var(--serif);font-size:29px;line-height:1.25;letter-spacing:0;margin-bottom:15px}.review-grid article>span{font-size:13px}.review-note{font-size:12px;color:#516d76;margin:10px 0 18px}.hosts{scroll-margin-top:10px}
@media(max-width:1100px){header{flex-wrap:wrap;gap:15px}.brand{margin-right:auto}#language{order:1}.menu-toggle{order:2;display:block;background:none;color:var(--ink);border:1px solid var(--line);padding:9px 14px;font-size:14px}nav{order:3;display:none;flex-direction:column;align-items:stretch;width:100%;gap:0;padding-top:5px}nav.open{display:flex}nav>a{padding:12px 0}nav .button{margin-top:10px}}
@media(max-width:760px){header{gap:10px}.brand{font-size:26px}.brand small{font-size:9px;letter-spacing:1px}#language{font-size:12px;max-width:100px;padding:8px 5px}.menu-toggle{padding:9px;font-size:12px}.trust-strip{grid-template-columns:1fr;gap:18px;padding:28px 7%}.trust-strip>div{padding-bottom:18px;border-bottom:1px solid var(--line)}.trust-strip>div:last-child{padding:0;border:0}.trust-strip>div:first-child{flex-direction:row;gap:18px;align-items:center}.trust-strip strong{font-size:18px}.hosts .host-book{padding:25px;display:block;margin-top:10px}.host-book h3{font-size:34px}.host-bios{gap:20px}.review-grid{grid-template-columns:1fr;gap:0}.review-grid article>p{font-size:27px}.hosts .host-reviews{margin-top:15px}}
@media(max-width:760px){.host-reviews .review-grid{gap:18px}}
.hosts .host-portrait{max-width:none}.host-portrait img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin-top:30px}.hosts .host-portrait h2{margin-bottom:0}@media(max-width:760px){.host-portrait img{margin-top:24px}}
.hosts .airbnb-recognition{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:50px;padding:32px 0;margin-top:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.airbnb-badge-image{display:block;background:white}.airbnb-badge-image img{height:auto;width:100%;max-width:502px;margin:auto}.airbnb-recognition h3{font-size:42px;margin-bottom:20px}.recognition-lead{font-size:18px;color:var(--blue)}.airbnb-recognition p:not(.recognition-lead){font-size:15px}@media(max-width:760px){.hosts .airbnb-recognition{grid-template-columns:1fr;gap:28px;padding:28px 0}.airbnb-recognition h3{font-size:36px}}
.trust-strip{grid-template-columns:.8fr 1.2fr 1fr;padding:32px 7%;gap:30px;background:#fff}.trust-strip>.trust-item{display:flex;flex-direction:row;gap:18px;align-items:center;min-height:110px}.trust-content{display:flex;flex-direction:column;gap:7px}.trust-strip .trust-content strong{font-size:19px;font-weight:600;line-height:1.3}.trust-strip .trust-rating strong{font-family:var(--serif);font-size:46px;font-weight:400}.trust-strip .trust-five-stars{color:#996326;font-size:22px;letter-spacing:3px;line-height:1}.trust-favourite{text-align:center;justify-content:center;gap:10px!important}.trust-favourite .trust-content{max-width:210px}.airbnb-laurel{position:relative;width:44px;height:82px;overflow:hidden;flex-shrink:0}.airbnb-laurel img{position:absolute;width:351.4px;height:205.8px;max-width:none;top:-35px;object-fit:fill}.laurel-left img{left:-66.5px}.laurel-right img{left:-260px}.superhost-medal{display:flex;align-items:center;justify-content:center;width:72px;height:82px;flex-shrink:0;color:#d42b53;background:#fff2f5;border:1px solid #f1c8d2;border-radius:12px}.trust-superhost .trust-content strong{font-size:21px}@media(max-width:1100px){.trust-strip{grid-template-columns:1fr;gap:20px}.trust-strip>.trust-item{justify-content:center;text-align:center;min-height:100px;padding-bottom:20px;border-bottom:1px solid var(--line)}.trust-strip>.trust-item:last-child{border-bottom:0;padding-bottom:0}.trust-strip .trust-rating .trust-content{align-items:center}.trust-strip .trust-favourite .trust-content{max-width:260px}}

/* Reserva directa */
.hero-image img{object-position:right top}.direct-price-link{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--ink);margin-top:24px;text-decoration:none;max-width:390px}.direct-price-link>span,.price-check{display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#dbece5;color:#245c48;width:30px;height:30px}.direct-price-card{display:flex;align-items:flex-start;gap:16px;padding:22px;margin:28px 0;background:#edf5f1;border:1px solid #cddfd5}.direct-price-card strong{display:block;font-size:18px;line-height:1.4}.direct-price-card p{font-size:14px;line-height:1.6;margin:10px 0 0}.price-check{width:34px;height:34px}@media(max-width:760px){.direct-price-card{padding:18px;gap:12px}.direct-price-card strong{font-size:16px}}

.contact .direct-price-card{color:var(--ink)}

/* Encuadre horizontal: conservar terraza y fondo, recortar el asfalto inferior. */
.hero{grid-template-columns:42% 58%;min-height:0;background:var(--soft);align-items:center}
.hero-copy{padding:48px 10%;min-width:0}
.hero-image{width:100%;min-height:0;aspect-ratio:16/11;align-self:center;overflow:hidden}
.hero-image img{object-fit:cover;object-position:center top}
.hero-copy h1{font-size:clamp(60px,6vw,96px)}
@media(max-width:760px){.hero{grid-template-columns:1fr}.hero-copy{padding:48px 7% 30px}.hero-copy h1{font-size:74px}.hero-image{min-height:0;aspect-ratio:16/11}.hero-image img{object-position:center top}.image-label{bottom:18px;left:20px;right:20px;font-size:12px}}

/* Garantía de precio: una llamada visible dentro de la portada. */
.hero-copy .direct-price-link{display:flex;align-items:flex-start;gap:15px;width:100%;max-width:430px;margin-top:26px;padding:21px 23px;background:var(--ink);color:white;border:1px solid var(--ink);box-shadow:0 8px 24px #123d4d15;transition:background .2s}
.hero-copy .direct-price-link:hover{background:var(--blue);border-color:var(--blue)}
.hero-copy .direct-price-link>.direct-price-icon{width:38px;height:38px;background:#dbece5;color:#245c48;font-size:23px;margin-top:3px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}
.hero-copy .direct-price-link>.direct-price-content{display:block;background:none;color:white;border-radius:0;width:auto;height:auto;min-width:0}
.direct-price-content small{display:block;font-size:12px;font-weight:400;line-height:1.5;color:#d8e6e9;margin-bottom:5px}
.direct-price-content strong{display:block;font-size:22px;font-weight:600;line-height:1.25}
.direct-price-content .direct-price-cta{display:block;font-size:13px;font-weight:500;line-height:1.5;margin-top:13px;text-decoration:underline;text-underline-offset:4px;color:white}
.hero-copy .hero-note{margin-top:30px}
@media(max-width:760px){.hero-copy .direct-price-link{padding:19px;gap:13px;max-width:none}.direct-price-content strong{font-size:21px}}
